必须通过命令行创建静态IPSec策略并启用,图形界面已不支持;先确保IPsec Policy Agent服务设为自动并运行,再用netsh依次执行六步命令创建并激活策略,最后验证Assigned为Yes且有SA条目。

要在Windows中强制特定网络流量走IPSec加密通道,必须通过命令行创建静态策略并显式启用,图形界面已不再支持旧版IPSec策略配置。
确认IPsec Policy Agent服务已运行
按 Win + R 输入 services.msc → 在服务列表中找到“IPsec Policy Agent” → 双击打开属性 → 启动类型设为“自动” → 若状态不是“正在运行”,点击“启动”按钮。
【该服务未运行时,所有netsh ipsec static命令将失败且无提示】
用netsh创建完整IPSec策略链
以管理员身份运行CMD或PowerShell,逐条执行以下命令:
第一步:创建名为“加密内网通信”的策略netsh ipsec static add policy name="加密内网通信" description="对192.168.1.0/24网段启用ESP加密"
第二步:定义筛选器操作——这里必须用ESP,不能只用AH,因为AH不兼容NAT设备,而现代局域网几乎都经过NATnetsh ipsec static add filteraction name="ESP加密" action= negotiate securitymethod= ESP-3DES-MD5
第三步:新建筛选器列表netsh ipsec static add filterlist name="内网TCP流量"
第四步:添加具体筛选器——注意dstaddr=me表示本机,srcaddr指定源网段,mirrored=yes确保双向生效netsh ipsec static add filter filterlist="内网TCP流量" srcaddr=192.168.1.0 srcmask=255.255.255.0 dstaddr=me protocol=TCP mirrored=yes
第五步:绑定规则——policy、filterlist、filteraction三者名称必须完全一致,大小写敏感netsh ipsec static add rule name="启用内网加密" policy="加密内网通信" filterlist="内网TCP流量" filteraction="ESP加密"
第六步:激活策略——assign=y是唯一启用方式,缺省值为n,不执行这步策略永远不会生效netsh ipsec static set policy name="加密内网通信" assign=y
验证策略是否生效
执行命令:netsh ipsec static show policy → 查看输出中“Assigned”字段是否为“Yes”。
再执行:netsh ipsec dynamic show mmsa → 若有SA(安全关联)条目显示,说明密钥已协商成功。
抓包验证:用Wireshark过滤 esp,在本机与192.168.1.x通信时应能看到ESP数据包。


















