VPN 隧道因“IKEv2 childSA处理流量选择器时协商失败。” - 代理人ID彼此不是精确的镜像
62042
Created On 08/02/22 22:23 PM - Last Modified 05/09/23 05:55 AM
Symptom
- VPN 隧道不上或下
- 系统日志显示“IKE收到协议通知消息:收到通知类型 TS_UNACCEPTABLE”
- 系统日志显示“IKEv2 childSA处理流量选择器时协商失败。无法为接收到的流量选择器找到匹配的 IPSec 隧道。”
- CLI 两个对等防火墙上的 show 命令输出显示代理ID条目不是彼此的精确镜像
- >less mp 日志 ikemgr.log显示“ts 不可接受”
- >less mp 日志 ikemgr.log显示“TS匹配结果:TS_l mismatch(!=), TS_r mismatch(!=)"
- >less mp 日志 ikemgr.log显示“TS 0:匹配失败:“
- 这个代理ID问题在数据包捕获中是不可见的(除非 pcap 被手动解密),所以最好只使用CLI命令/手动检查双方的配置以识别和解决任何不正确的代理ID条目
网络UI
导航网络> IPSec 隧道>编辑安全隧道>代理 ID标签
请记住,上面的代理 ID 不正确,因为它们匹配。 代理 ID 应该是精确的镜子彼此(即相反),不匹配
正确的代理 IDVPN隧道示例:
VPN Firewall 1: 192.168.10.0/24 > 192.168.20.0/24
VPN Firewall 2: 192.168.20.0/24 > 192.168.10.0/24
不正确代理 IDVPN隧道示例:
VPN Firewall 1: 192.168.10.0/24 > 192.168.20.0/24
VPN Firewall 2: 192.168.10.0/24 > 192.168.20.0/24
什么是代理ID,什么时候需要?
CLI
双方VPN同行,通过运行以下命令 CLI
> show vpn flow tunnel-id 2
tunnel VPNTunnel10:Send-192-168-10-0-thruTunnel
id: 2
type: IPSec
gateway id: 1
local ip: 203.0.113.200
peer ip: 203.0.113.100
inner interface: tunnel.10
outer interface: ethernet1/1
proxy-id:
local ip: 192.168.10.0/24
remote ip: 192.168.20.0/24
> show vpn tunnel TnID Name Gateway Local Proxy IP Ptl:Port Remote Proxy IP Ptl:Port Proposals 2 VPNTunnel10:Send-192-168-10-0-thruTunnel IKEGatewayTest1 192.168.10.0/24 0:0 192.168.20.0/24 0:0
系统日志
导航监控 > 系统日志
线鲨
在两者上进行数据包捕获VPN同行并在 Wireshark 中并排打开它们
注意:默认情况下,这不会出现在 Wireshark 中。 您必须拥有来自两者的转储级 ikemgr 日志VPN对等点解密 Wireshark 中的数据包。 这可以使用以下步骤完成这里
ikemgr.log
通过运行以下命令CLI在两个同行
以下是代理时的 ikemgr 日志ID配置为火柴这VPN对等代理ID那他们发送,意味着它是不正确的。 记住代理ID应该的不是匹配- 相反,它们应该是准确的镜子彼此的
>less mp-log ikemgr.log
18:42:40 [INFO]: remote
18:42:40 [INFO]: TS Payload: type=TS_IPV4_ADDR_RANGE proto=0 length=16 start_port=0 end_port=65535
18:42:40 [INFO]: TS Starting Address=192.168.10.0
18:42:40 [INFO]: TS Ending Address=192.168.10.255
18:42:40 [INFO]: TS payload dump:
18:42:40 [INFO]: local
18:42:40 [INFO]: TS Payload: type=TS_IPV4_ADDR_RANGE proto=0 length=16 start_port=0 end_port=65535
18:42:40 [INFO]: TS Starting Address=192.168.20.0
18:42:40 [INFO]: TS Ending Address=192.168.20.255
18:42:40 [INFO]: local
18:42:40 [INFO]: TS Payload: type=TS_IPV4_ADDR_RANGE proto=0 length=16 start_port=0 end_port=65535
18:42:40 [INFO]: TS Starting Address=192.168.20.0
18:42:40 [INFO]: TS Ending Address=192.168.20.255
18:42:40 [INFO]: remote
18:42:40 [INFO]: TS Payload: type=TS_IPV4_ADDR_RANGE proto=0 length=16 start_port=0 end_port=65535
18:42:40 [INFO]: TS Starting Address=192.168.10.0
18:42:40 [INFO]: TS Ending Address=192.168.10.255
18:42:40 [DEBG]: TS matching for configured selector VPNTunnel10:Send-192-168-20-0-thruTunnel 192.168.10.0[0]/24-192.168.
20.0[0]/24 proto 0
18:42:40 [DUMP]: num_ts 1
18:42:40 [DEBG]: .. check local TS (num 1, TS0 is not specific) against selector 0:192.168.10.0[0]/24
18:42:40 [DUMP]: checking TS 0
18:42:40 [DEBG]: { : 2}: ... TS 0: match fail: 192.168.20.0->192.168.20.255(ts) vs. 192.168.10.0->192.168.10.255(selector)
18:42:40 [DEBG]: ... result: local TS != 192.168.10.0[0]/24
18:42:40 [DUMP]: num_ts 1
18:42:40 [DEBG]: .. check remote TS (num 1, TS0 is not specific) against selector 0:192.168.20.0[0]/24
18:42:40 [DUMP]: checking TS 0
18:42:40 [DEBG]: { : 2}: ... TS 0: match fail: 192.168.10.0->192.168.10.255(ts) vs. 192.168.20.0->192.168.20.255(selector)
18:42:40 [DEBG]: ... result: remote TS != 192.168.20.0[0]/24
18:42:40 [DEBG]: TS matching result: TS_l mismatch(!=), TS_r mismatch(!=)
18:42:40 [PERR]: ts unacceptable
注意:请记住,语句 != 表示“不等于”
Environment
- PAN-OS
- 帕洛阿尔托网络firewall配置了 IPSecVPN隧道专门与Policy-基于VPN对等点而不是基于路由的VPN同行(即使用ACL控制VPN交通,而不是路线)
- 如果你的VPNpeer 是基于路由的VPNpeer,无需使用任何代理 ID(应留空)- 只需使用隧道配置路由即可。X接口代替
Cause
只要没有代理,就会出现此问题ID在对等体上找到的条目firewall这是代理的精确镜像ID进入我们的firewall
最佳实践是让每个代理ID进入我们的firewall有对应的ProxyID进入同行firewall这是一面完美的镜子(即一面镜子ACL)
Resolution
- 重新配置两者VPN同行,确保每一个人代理人ID条目有一个精确的镜像代理人ID进入VPN对等(即确保它们与 ACL 相对)
例子:
(在上面的例子中,两个帕洛阿尔托网络防火墙被用作VPN同行。 如果你的VPN同行是不同的供应商firewall, 执行他们的等效/相同代理人ID(通常被称为流量选择器或者加密货币ACL)他们的配置更改firewall如果它们是非镜像的根本原因)
- 执行一个犯罪
- 每次运行以下命令几次两个都这VPN同行firewallCLI 让他们重新启动和形成:
>clear vpn ike-sa gateway <name> >clear vpn ipsec-sa tunnel <name>