Windows 系统中,通过防火墙放行端口可以允许特定的网络流量通过。以下是具体方法,适用于包括 Windows Server 2003/2008/2012/2016/2019 和普通 Windows 桌面系统(如 Windows 7/10/11):


1. 使用图形界面放行端口

1.1 打开 Windows 防火墙设置

  1. 点击 开始菜单,打开 控制面板
  2. 在控制面板中,找到并点击 Windows 防火墙
    • 如果找不到,切换到“经典视图”。
  3. 点击左侧的 高级设置,进入 Windows 防火墙高级安全界面。

1.2 创建入站规则

  1. 在左侧导航栏,选择 入站规则

  2. 在右侧点击 新建规则

  3. 在规则类型选择页面:

    • 选择 端口,点击 下一步
  4. 在“指定端口”页面:

    • 选择协议(TCPUDP)。
    • 在“特定本地端口”中输入需要放行的端口号。
      示例:
      • 单个端口:8080
      • 多个端口:80, 443, 8080
      • 端口范围:8000-9000
    • 点击 下一步
  5. 在“操作”页面:

    • 选择 允许连接,点击 下一步
  6. 在“配置文件”页面:

    • 勾选 专用公用(根据需要选择)。
    • 点击 下一步
  7. 在“名称”页面:

    • 为规则命名(如“放行 8080 端口”)。
    • 点击 完成

1.3 创建出站规则(可选)

  • 如果程序需要主动向外部发送数据,还需创建出站规则
  • 步骤与入站规则类似,只需选择 出站规则

2. 使用命令行放行端口

2.1 使用 netsh 命令

  1. 打开命令提示符(CMD):

    • 点击 开始菜单,输入 cmd,右键选择 以管理员身份运行
  2. 放行端口

    • 执行以下命令:

      bash

      复制

      netsh advfirewall firewall add rule name="开放8080端口" dir=in action=allow protocol=TCP localport=8080
      
    • 参数说明:
      • name="开放8080端口":规则名称,可自定义。
      • dir=in:表示入站规则。
      • action=allow:允许流量。
      • protocol=TCP:协议类型(可以改为 UDP)。
      • localport=8080:指定端口号。
  3. 验证规则

    • 查看已添加的端口规则:

      bash

      复制

      netsh advfirewall firewall show rule name="开放8080端口"
      
  4. 删除规则(如果需要):

    • 执行以下命令删除规则:

      bash

      复制

      netsh advfirewall firewall delete rule name="开放8080端口"
      

2.2 使用 PowerShell

  1. 打开 PowerShell

    • 点击 开始菜单,输入 powershell,右键选择 以管理员身份运行
  2. 放行端口

    • 执行以下命令:

      bash

      复制

      New-NetFirewallRule -DisplayName "开放8080端口" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8080
      
    • 参数说明:
      • -DisplayName "开放8080端口":规则名称。
      • -Direction Inbound:入站规则。
      • -Action Allow:允许连接。
      • -Protocol TCP:协议类型。
      • -LocalPort 8080:指定端口号。
  3. 查看规则

    • 查看刚添加的规则:

      bash

      复制

      Get-NetFirewallRule -DisplayName "开放8080端口"
      
  4. 删除规则

    • 如果需要删除规则,执行:

      bash

      复制

      Remove-NetFirewallRule -DisplayName "开放8080端口"
      

3. 验证端口是否放行

3.1 使用 telnet 测试

  1. 确保服务器上已启用 telnet

    • 在客户端,打开命令提示符并输入:

      bash

      复制

      telnet <服务器IP地址> 8080
      
    • 如果连接成功,说明端口已开放。
  2. 如果未安装 telnet,可以使用以下命令安装(适用于 Windows Server):

    bash

    复制

    dism /online /Enable-Feature /FeatureName:TelnetClient
    

3.2 使用在线端口检测工具

  1. 在服务器上确保服务已监听目标端口。
  2. 使用在线工具(如 canyouseeme.org)检查端口是否开放。

4. 注意事项

  1. 确保服务正在监听端口

    • 在服务器上使用以下命令查看端口是否被监听:

      bash

      复制

      netstat -ano | findstr :8080
      
    • 如果没有监听服务,可能需要检查应用程序配置。
  2. 防火墙配置范围

    • 如果只想放行局域网访问,可以设置特定的 IP 范围:

      bash

      复制

      netsh advfirewall firewall add rule name="开放8080端口" dir=in action=allow protocol=TCP localport=8080 remoteip=192.168.1.0/24
      
  3. 避免误操作

    • 只放行必要的端口,并定期检查防火墙规则,避免安全漏洞。

通过上述方法,您可以轻松在 Windows 防火墙中放行指定端口,确保系统服务正常运行并满足网络访问需求。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐