windows系统本身不提供硬件防火墙功能,其内置的是运行于操作系统层面的软件防火墙(windows defender防火墙),用于控制本机入站和出站流量;真正的硬件防火墙指路由器、utm等独立网络边界设备,二者构成纵深防御体系。
windows 系统本身不提供硬件防火墙功能,它内置的是软件防火墙(windows defender 防火墙),运行在操作系统层面,用于控制本机的入站和出站网络流量。所谓“windows 硬件防火墙”,实际是常见误解——硬件防火墙通常指路由器、utm设备或专用安全网关等物理/嵌入式设备,它们位于网络边界,独立于 windows 运行。
因此,你真正能配置的,是以下两类互补机制:
✅ Windows 自带防火墙:端口与协议级过滤(软件层)
这是你每天可直接操作的部分,适用于精细控制本机服务暴露面。
打开方式
按Win + R,输入wf.msc回车 → 进入「高级安全 Windows Defender 防火墙」-
封禁特定端口(如阻止外部访问3389远程桌面)
- 左侧选「入站规则」→ 右侧点「新建规则」
- 类型选「端口」→ 下一步
- 协议选 TCP,端口填
3389(或多个用英文逗号分隔,如135,139,445) - 动作选「阻止连接」
- 配置文件勾选「域」「专用」「公用」(确保全场景生效)
- 命名建议:
Block-TCP-3389-In-2026
只允许特定端口入站(白名单思维)
先将默认入站行为设为「阻止」:
→ 右键左侧「入站规则」→「属性」→「域配置文件」标签页→「入站连接」选「阻止」
→ 同样设置「专用」「公用」配置文件
→ 再逐一创建「允许」规则(如开放 80、443、自定义 API 端口),其他一切被默认拦截验证是否生效
外部机器执行:telnet your_ip 3389(无响应即成功)
或本机用netsh advfirewall firewall show rule name="Block-TCP-3389-In-2026"查状态
✅ 路由器/网关设备:真正的“硬件防火墙”端口过滤(网络层)
这才是你所说的“硬件防火墙”所在位置,需登录设备管理界面(如 192.168.1.1)配置:
典型操作路径(以主流家用路由器为例)
「安全设置」→「防火墙设置」或「访问控制」→「IP/端口过滤」
或「高级设置」→「虚拟服务器 / 端口转发」→ 关闭所有非必要条目-
关键能力对比 Windows 防火墙
- 可全局屏蔽某 IP 段对整个局域网的访问(如封掉
203.0.113.0/24) - 支持基于 MAC 地址的设备级阻断
- 可关闭 ICMP(禁 ping),而 Windows 防火墙需单独建 ICMPv4 规则
- 端口过滤作用于 NAT 前,攻击流量在到达 Windows 前就被丢弃,更省资源
- 可全局屏蔽某 IP 段对整个局域网的访问(如封掉
注意
若已做端口映射(如把公网 5000 映射到内网 192.168.1.100:3389),仅关 Windows 防火墙无效——必须同时在路由器中删除该映射,或启用其内置的“入站过滤”功能禁止该端口对外暴露。
⚠️ 不推荐混用的误区
- ❌ 在路由器上开了端口映射,又在 Windows 防火墙里放行同一端口:多一层冗余,但无害
- ❌ 在路由器上关闭了某端口,却误以为 Windows 防火墙也自动同步:二者完全独立,必须分别确认
- ❌ 依赖“TCP/IP 筛选”(旧版系统遗留功能):该功能已被弃用,不支持 IPv6,且规则粒度粗,易引发连通性问题,应避免使用
? 补充:命令行快速封端口(适合批量或脚本化)
# 封禁入站 TCP 3389(永久,无需重启) netsh advfirewall firewall add rule name="Block-3389-In" dir=in action=block protocol=TCP localport=3389 profile=any # 封禁出站访问远程 80 端口(防止本机连外网 HTTP) netsh advfirewall firewall add rule name="Block-Out-80" dir=out action=block protocol=TCP remoteport=80 profile=any
执行后立即生效,规则可见于 wf.msc 图形界面。
Windows 防火墙管好本机,硬件防火墙守好入口。两者不是替代关系,而是纵深防御的上下两环。











