Windows 10 防火墙默认阻止外部连接,需配置入站规则开放端口:一、图形界面通过“高级安全Windows Defender防火墙”新建端口规则;二、命令行用 netsh 添加单端口、多端口或端口范围规则;三、通过规则列表、命令查询和 telnet/Test-NetConnection 测试验证生效。

如果您在 Windows 10 上部署了本地服务(如 Web 服务器、数据库或远程管理工具),但外部设备无法连接,很可能是防火墙默认阻止了该端口的入站请求。以下是为 Windows 10 配置防火墙入站规则以开放特定端口的具体操作步骤:
一、通过图形界面创建入站端口规则
该方法使用 Windows Defender 防火墙高级设置向导,无需命令行,适合所有用户。系统将为指定端口创建一条允许外部流量进入本机的入站规则。
1、按 Win + R 打开运行对话框,输入 control 并回车,打开控制面板。
2、点击 系统和安全 → Windows Defender 防火墙 → 右侧点击 高级设置。
3、在左侧窗格中右键单击 入站规则,选择 新建规则…。
4、在向导中选择 端口,点击 下一步。
5、选择协议类型(TCP 或 UDP),在“特定本地端口”栏中输入目标端口号(例如 8080),点击 下一步。
6、选择 允许连接,点击 下一步。
7、在“配置文件”页面中,根据实际网络环境勾选 域、专用 和/或 公用,点击 下一步。
8、在“名称”栏中输入具有辨识度的规则名(例如 Allow-WebAdmin-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"
三、验证入站规则是否生效
规则创建后需确认其实际作用效果,避免因配置遗漏或优先级冲突导致未生效。验证过程不依赖第三方工具,全部使用系统内置功能。
1、返回 Windows Defender 防火墙高级设置 → 左侧点击 入站规则,在右侧列表中查找刚命名的规则,确认其状态为 已启用。
2、在 PowerShell 中执行:
netsh advfirewall firewall show rule name=all | findstr "Allow-MySQL-3306"
3、从另一台设备执行连接测试:
telnet [本机IP] 3306(若未安装 telnet,可用 PowerShell 运行 Test-NetConnection -ComputerName [本机IP] -Port 3306)。
4、若连接成功,说明入站规则已正确应用;若超时或被拒绝,检查规则方向(dir=in)、协议(protocol=TCP/UDP)、端口值及配置文件匹配状态。










