Windows下批量添加防火墙例外端口,查了网上资料,基本上都是使用“Netsh命令”,循环增加端口,这会导致建立的规则特别多,不便于管理,查了下微软的资料,原来是Netsh命令,只支持一个端口:
在我机器上执行Netsh命令时,提示不建议用这个了,推荐用:netsh advfirewall firewall
于是根据提示,查询:https://go.microsoft.com/fwlink/?linkid=121488
辗转查到更详细的文档:
https://technet.microsoft.com/en-us/library/dd734783(v=ws.10).aspx
主要关注以下几个参数:
如果是使用命令,在指定机器上执行,命令如下:
1.入站规则
netsh advfirewall firewall add rule name="SGAccessInboundRule" dir=in protocol=tcp action=allow localport=8061-8080,18061-18080
2.出站规则
netsh advfirewall firewall add rule name="SGAccessOutboundRule" dir=out protocol=tcp action=allow remoteport=8061-8080,18061-18080
netsh advfirewall firewall add rule name="SGAccessOutboundRule" dir=out protocol=tcp action=allow remoteport=8061-8080,18061-18080
如果管理的环境中,安装了saltstack,执行命令如下:
1.入站规则 salt "DEV-SH-TTP-01" cmd.run “netsh advfirewall firewall add rule name="SGAccessInboundRule" dir=in protocol=tcp action=allow localport=8061-8080,18061-18080” 2.出站规则
salt "DEV-SH-TTP-01" cmd.run “netsh advfirewall firewall add rule name="SGAccessOutboundRule" dir=out protocol=tcp action=allow remoteport=8061-8080,18061-18080”
如果有多台机器,saltstack命令中用逗号分隔开主机名即可。
遇到的坑:
1.执行的命令中,不能含有中文,否则建出的规则是乱码
2.执行命令中,不能含有空格、括号“()”,否则创建不成功