Windows防火墙默认阻止局域网端口访问,需通过图形界面添加入站规则、netsh命令行开放端口、启用专用网络防火墙、确认网络类型为“专用”、或临时禁用防火墙验证问题。
如果您在局域网中尝试通过IP地址和端口访问另一台Windows电脑上的服务(如Web项目、数据库或测试应用),但连接失败,则很可能是Windows防火墙默认阻止了该端口的入站连接。以下是解决此问题的多种方法:
一、通过图形界面添加入站端口规则
该方法使用Windows Defender防火墙高级设置向导,无需命令行操作,适合所有用户,可为指定端口创建允许外部流量进入本机的入站规则。
1、按Win + R打开运行对话框,输入control并回车,打开控制面板。
2、点击系统和安全 → Windows Defender 防火墙 → 右侧点击“高级设置”。
3、在左侧窗格中右键单击入站规则,选择新建规则…。
4、在向导中选择端口,点击下一步。
5、选择协议类型(TCP或UDP),在“特定本地端口”栏中输入目标端口号(例如8080),点击下一步。
6、选择允许连接,点击下一步。
7、在“配置文件”页面中,务必勾选“专用网络”(对应局域网环境),不建议勾选“公用网络”,点击下一步。
8、在“名称”栏中输入具有辨识度的规则名(例如Allow-LocalWeb-8080),可选填写描述,点击完成。
二、使用netsh命令行开放端口
该方法执行效率高,支持一次性开放多个端口或端口范围,适用于批量配置或脚本化部署,需以管理员身份运行。
1、右键点击“开始”菜单,选择Windows PowerShell(管理员)或命令提示符(管理员)。
2、执行以下命令开放单个TCP端口(示例:端口3306):
netsh advfirewall firewall add rule name=”Allow-MySQL-3306″ dir=in action=allow protocol=TCP localport=3306
3、执行以下命令开放多个TCP端口(示例:80、443、8080):
netsh advfirewall firewall add rule name=”Allow-Web-Ports” dir=in action=allow protocol=TCP localport=80,443,8080
4、执行以下命令开放TCP端口范围(示例:5000–5010):
netsh advfirewall firewall add rule name=”Allow-API-Range” dir=in action=allow protocol=TCP localport=5000-5010
5、确认规则已添加成功,运行:
netsh advfirewall firewall show rule name=”Allow-MySQL-3306″
三、检查并启用专用网络防火墙
Windows防火墙按网络类型独立管理,若当前网络被识别为“公用网络”,则默认拒绝所有入站连接,即使已建规则也可能不生效。必须确保“专用网络”的防火墙处于启用状态且未启用“阻止所有传入连接”选项。