1. 如果相同名字的防火墙配置多次,也是会生成多个相同的规则的,所以在添加规则前最好先确认规则是否已经添加 防火墙设置 > 防火墙多次配置

详情备注

防火墙的基本命令

如何打开、关闭防火墙

netsh advfirewall set allprofiles state on
netsh advfirewall set allprofiles state off

查看状态

netsh advfirewall show allprofiles state

查看规则

netsh advfirewall firewall show rule name=all | findstr "分组"

添加规则

方向为IN的表示对外提供服务,例如提供HTTP服务。方向为OUT的表示本机要求主动访问外部的情况

netsh advfirewall firewall add rule name=test_rule dir=in protocol=tcp localport=80 remoteip=* action=allow 上面是对所有入站的80端口做放开 netsh advfirewall firewall add rule name="Allow test.exe on port 5000" dir=in action=allow program="C:\path\to\test.exe" enable=yes protocol=TCP localport=5000 对test.exe程序放开5000端口的访问

删除规则

netsh advfirewall firewall delete rule name=${name} dir=in 会删除所有名字为$name的规则

防火墙多次配置

Pasted image 20240329094559 如上图,都是通过下面的命令创建的 netsh advfirewall firewall add rule name=test_rule dir=in protocol=tcp localport=80 remoteip=* action=allow 。也就是说如果只是

关键词解释

Profile

在Windows防火墙中,Profiles是一种设定,能够帮助防火墙知道在哪些网络环境下应用哪些规则。通常有三种Profile:

  • Domain Profile:当计算机连接到其领域(公司或组织的网络)时,会应用此Profile中的规则。
  • Private Profile:当计算机连接到私人网络(例如,家庭或小型企业网络)时,会应用此Profile中的规则。
  • Public Profile:当计算机连接到公共网络(例如,公共WiFi热点)时,会应用此Profile中的规则。

每种Profile都可以有其独立的入站和出站规则。这样,您可以根据网络环境的信任级别来调整防火墙的行为。对于不受信任的公共网络,可以有更严格的规则;而对于受信任的领域和私人网络,可能会有较宽松的规则。