在 Windows Server 2003 上透過 netsh ipsec static 命令批次建立 IP 安全性原則,實現:
| 服務 | 埠號 | 協定 |
|---|---|---|
| FTP 資料 | 20 | TCP |
| FTP 控制 | 21 | TCP |
| DNS | 53 | TCP/UDP |
| HTTP | 80 | TCP |
| SNMP | 161 | UDP |
| MS SQL | 1433 | TCP |
| MySQL | 3306 | TCP |
| RDP | 3389 | TCP |
@echo off
rem ===================== 建立原則 =====================
netsh ipsec static add policy name="10互聯預設IP策略" description="本機可上網,開放常用埠,特定 IP 全通,預設拒絕"
rem ===================== 允許 ICMP (Ping) =====================
netsh ipsec static add filter filterlist="所有ICMP通訊" srcaddr=me srcmask=255.255.255.255 dstaddr=any protocol=ICMP
netsh ipsec static add rule name="允許ICMP" policy="10互聯預設IP策略" filterlist="所有ICMP通訊" filteraction="許可"
rem ===================== 定義動作:許可/拒絕 =====================
netsh ipsec static add filteraction name=許可 action=permit
netsh ipsec static add filteraction name=拒絕 action=block
rem ===================== 特定管理 IP 全通 (UnLimitedIP) =====================
netsh ipsec static add filterlist name=UnLimitedIP description="特定管理IP無限制存取"
netsh ipsec static add filter filterlist=UnLimitedIP srcaddr=125.76.233.185 dstaddr=me
netsh ipsec static add rule name=允許管理IP全通 policy="10互聯預設IP策略" filterlist=UnLimitedIP filteraction=許可
rem ===================== 本機主動連出 HTTP/DNS (SomeIPSomePort) =====================
netsh ipsec static add filterlist name=SomeIPSomePort description="本機主動連出HTTP/DNS"
netsh ipsec static add filter filterlist=SomeIPSomePort srcaddr=me dstaddr=any dstport=80 protocol=TCP
netsh ipsec static add filter filterlist=SomeIPSomePort srcaddr=me dstaddr=any dstport=53 protocol=UDP
netsh ipsec static add filter filterlist=SomeIPSomePort srcaddr=me dstaddr=any dstport=53 protocol=TCP
netsh ipsec static add filter filterlist=SomeIPSomePort srcaddr=125.76.233.185 dstaddr=me dstport=3389 protocol=TCP
netsh ipsec static add rule name=允許主動連出 policy="10互聯預設IP策略" filterlist=SomeIPSomePort filteraction=許可
rem ===================== 開放常用服務輸入埠 (OpenSomePort) =====================
netsh ipsec static add filterlist name=OpenSomePort description="開放常用服務輸入埠"
netsh ipsec static add filter filterlist=OpenSomePort srcaddr=any dstaddr=me dstport=20 protocol=TCP
netsh ipsec static add filter filterlist=OpenSomePort srcaddr=any dstaddr=me dstport=21 protocol=TCP
netsh ipsec static add filter filterlist=OpenSomePort srcaddr=any dstaddr=me dstport=80 protocol=TCP
netsh ipsec static add filter filterlist=OpenSomePort srcaddr=any dstaddr=me dstport=1433 protocol=TCP
netsh ipsec static add filter filterlist=OpenSomePort srcaddr=any dstaddr=me dstport=3306 protocol=TCP
netsh ipsec static add filter filterlist=OpenSomePort srcaddr=any dstaddr=me dstport=3389 protocol=TCP
netsh ipsec static add rule name=允許常用服務輸入 policy="10互聯預設IP策略" filterlist=OpenSomePort filteraction=許可
rem ===================== 預設拒絕所有其他存取 (AllAccess) =====================
netsh ipsec static add filterlist name=AllAccess
netsh ipsec static add filter filterlist=AllAccess srcaddr=me dstaddr=any
netsh ipsec static add rule name=拒絕所有其他 policy="10互聯預設IP策略" filterlist=AllAccess filteraction=拒絕
rem ===================== 指派並啟用原則 =====================
netsh ipsec static set policy name="10互聯預設IP策略" assign=y
echo IPsec 原則已建立並啟用。請執行 "netsh ipsec static show policy" 驗證。
pause
netsh ipsec static show policynetsh ipsec static show rule name=all policy="10互聯預設IP策略"netsh ipsec static set policy name="10互聯預設IP策略" assign=nnetsh ipsec static delete policy name="10互聯預設IP策略"