windows defender 防火墙拦截软件联网时,应放行单个程序而非关闭防火墙:1. 通过安全中心“允许应用通过防火墙”添加;2. 服务类程序需在高级安全防火墙中建入站规则;3. 运维可使用netsh命令批量放行。

当你在 Windows 10 中运行某款软件时发现它突然无法联网、提示“连接被阻止”或功能异常中断,极大概率是 Windows Defender 防火墙已主动拦截该程序的网络通信,此时需精准解除对它的阻止而非关闭整个防火墙——关闭防火墙会暴露系统于全部外部风险中,而放行单个程序既安全又高效。
通过 Windows 安全中心快速放行被拦截程序
这是最直观、无需记忆命令、且默认启用的图形化入口,适合绝大多数用户立即恢复软件联网。
1、点击任务栏右下角盾牌图标(Windows 安全中心),或按 Win + I 打开设置 → “隐私和安全性” → “Windows 安全中心”。
2、左侧导航栏点击“防火墙和网络保护”。
3、右侧区域点击“允许应用通过防火墙”。
4、点击右上角“更改设置”按钮(必须点击,否则所有选项为灰色不可操作),UAC 提示出现时点“是”。
5、在应用列表中找到目标程序,勾选其对应的“专用”和/或“公用”复选框;若未列出,点“允许其他应用…”→“浏览”→定位到该软件的 .exe 文件(如 C:\Program Files\Steam\steam.exe)→“添加”→再勾选。
6、点击“确定”,规则即时生效,无需重启。
使用高级安全防火墙创建入站允许规则(服务类程序适用)
某些程序本身不主动外连,而是监听本地端口等待远程调用(比如本地 Web 服务器、远程桌面辅助工具、NAS 同步服务),仅靠“允许应用”列表无法放行,必须手动建入站规则。
方法一:图形界面创建
1、按 Win + R,输入 wf.msc 回车,打开“高级安全 Windows Defender 防火墙”。
2、左侧面板右键“入站规则” → “新建规则…”。
3、向导中选择“程序” → 下一步 → 选“此程序路径” → 点“浏览” → 定位目标 .exe(路径须与出站规则完全一致)。
4、操作页选“允许连接” → 下一步 → 配置文件页根据用途勾选:“专用”(局域网内访问)或“公用”(公网可访问,慎选)→ 下一步。
5、命名规则(如“允许Apache监听80端口_入站”)→ 完成。
用 netsh 命令行一键放行(批量/脚本场景)
适用于运维人员或需批量处理多个程序的场景,命令执行后立即生效,规则与 GUI 创建的完全兼容。
1、右键“开始”按钮 → 选择“Windows PowerShell(管理员)”或“命令提示符(管理员)”。
2、执行以下命令(将路径替换为实际 .exe 位置):
netsh advfirewall firewall add rule name="放行微信_入站" dir=in action=allow program="C:\Program Files\WeChat\WeChat.exe" enable=yes profile=private
3、若需同时放行公用网络,追加 profile=private,public;若要允许特定端口(如 MySQL 的 3306),把 program=... 换成 protocol=TCP localport=3306。
4、回车执行,无报错即成功。可在“高级安全防火墙”→“入站规则”中验证新规则状态是否为“是”。











