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.執行命令中,不能含有空格、括號“()”,否則創建不成功