如上图,分别在边界路由器和ipsec网关上配置ipsecvpn,ike和Ipsec两个阶段都正常建立,状态正常,但用边界路由器上环路地址172.1.1.1 ping 对端 10.1.1.1不通,反过来ping也不通,通过抓包发现ping报文没有进ipsec隧道。(防火墙、路由等配置没有问题,路由器版本为:H3C Comware Software, Version 7.1.064, Release 7809P03)
边界路由器配置如下:
interface LoopBack10
ip address 172.1.1.1 255.255.255.255
#
interface GigabitEthernet1/1/0
port link-mode route
ip address 1.1.1.1 255.255.255.248
nat outbound 3200
ipsec apply policy vpn
#
ip route-static 10.1.1.1 8 GigabitEthernet1/1/0 1.1.1.2
#
acl number 3200
rule 100 deny ip source 172.1.1.1 0 destination 10.1.1.0 0.0.0.7
rule 1000 permit ip
#
acl number 3500
rule 50 permit ip source 172.1.1.1 0 destination 10.1.1.0 0.0.0.7
rule 9999 deny ip
#
ipsec transform-set vpn
esp encryption-algorithm 3des-cbc
esp authentication-algorithm sha256
#
ipsec policy vpn 10 isakmp
transform-set vpn
security acl 3500
local-address 1.1.1.1
remote-address 2.2.2.1
ike-profile vpn
#
ike profile vpn
keychain vpn
dpd interval 10 retry 30 periodic
local-identity address 1.1.1.1
match remote identity address 2.2.2.1 255.255.255.255
proposal 1
#
ike proposal 1
encryption-algorithm 3des-cbc
dh group2
authentication-algorithm sha256
sa duration 28800
#
ike keychain vpn
pre-shared-key address 2.2.2.1 255.255.255.255 key cipher $c$3$LKSXGq3x8Fa4CF7O86B54I/WBMXUBqHSU0764dmkwKDT
配置不变和另外一台路由器(互联网直连,中间无防火墙)建立ipsec就正常能够ping通。
对比发现ipsec状态存在差异如下:
从您提供的两张图可以明确看出:
IPsec SA状态不一致:
边界路由器:UDP encapsulation used for NAT traversal: N(未使用NAT穿越)
IPsec网关:UDP encapsulation used for NAT traversal: Y(使用NAT穿越)
网络拓扑影响:
您提供的拓扑图显示,IPsec网关侧有NAT设备(2.2.2.1),而边界路由器侧也有NAT(1.1.1.1)
这形成了双向NAT环境,标准的ESP报文(IP协议50)在这种环境下无法正常穿越
IPsec隧道能建立但数据不通的原因:
IKE协商阶段通过UDP 500端口通信,可以穿越NAT
但数据平面的ESP报文(IP协议50)无法穿越NAT设备
两端设备对NAT穿越的处理方式不一致,导致一方发送ESP报文,另一方期待UDP封装的ESP报文
解决方案
方案一:在边界路由器上启用NAT穿越(推荐)
这是最直接的解决方法,修改边界路由器的IKE配置:
# 进入IKE Profile配置模式
system-view
ike profile vpn
# 启用NAT穿越检测
nat traversal enable
# 可选:配置NAT保持连接
nat-keepalive 20
# 保存配置
save force
方案二:在IKE提议中明确指定NAT穿越参数
# 修改IKE提议
ike proposal 1
nat traversal enable
方案三:在IPsec策略中启用NAT穿越
# 修改IPsec策略
ipsec policy vpn 10 isakmp
nat traversal enable
完整的配置修正
考虑到您的网络环境,建议在边界路由器上做如下完整配置修正:
# 1. 清除现有IPsec SA,以便重新协商
reset ipsec sa
reset ike sa
# 2. 修改IKE配置
system-view
ike profile vpn
nat traversal enable
nat-keepalive 20
quit
# 3. 修改IKE提议(可选,但建议配置)
ike proposal 1
nat traversal enable
quit
# 4. 修改IPsec策略配置
ipsec policy vpn 10 isakmp
nat traversal enable
quit
# 5. 验证配置
display ike profile name vpn
# 查看是否有"nat traversal: enabled"字样
# 6. 重新触发IPsec协商
# 可以尝试ping一次对端地址
ping -a 172.1.1.1 10.1.1.1
验证步骤
配置完成后,请按以下步骤验证:
检查IKE SA状态:
display ike sa
确认IKE SA状态为RD|ST(已建立)
检查IPsec SA状态:
display ipsec sa
重点关注两端的NAT穿越状态,现在应该都是Y:
UDP encapsulation used for NAT traversal: Y
测试连通性:
ping -a 172.1.1.1 10.1.1.1
抓包分析(如果需要进一步确认):
# 在边界路由器出接口抓包
tcpdump -i GigabitEthernet1/1/0 host 2.2.2.1 -v
现在应该能看到ESP报文被封装在UDP 4500端口中,而不是原始的IP协议50。
配置要点说明
NAT穿越工作原理:
启用NAT穿越后,ESP报文会被封装在UDP 4500端口中
标准的NAT设备可以处理UDP端口转换,从而允许IPsec流量通过
NAT保持连接:
nat-keepalive 20命令会每20秒发送一个NAT保持连接报文
这可以防止NAT设备因超时而删除IPsec会话的NAT映射表项
版本兼容性:
您使用的版本7.1.064, Release 7809P03完全支持NAT穿越功能
确保对端IPsec网关也配置正确
为什么与另一台路由器能通?
您提到"和另外一台路由器(互联网直连,中间无防火墙)建立ipsec就正常",这是因为:
直连情况下,没有中间NAT设备
两端都使用标准的ESP报文(IP协议50)可以直接通信
无需NAT穿越封装,所以能正常工作
后续建议
统一配置:在生产环境中,建议所有IPsec VPN配置都启用NAT穿越,即使当前不需要。这可以提高兼容性。
配置模板:
# 标准IPsec VPN配置模板(支持NAT环境)
ike profile VPN_PROFILE
nat traversal enable
nat-keepalive 20
dpd interval 10 retry 5
quit
ipsec policy VPN_POLICY 10 isakmp
nat traversal enable
quit
监控命令:配置完成后定期检查
# 查看NAT穿越状态
display ike sa verbose
display ipsec sa verbose
按照上述步骤配置后,您的IPsec VPN应该能正常传输业务流量。如果仍有问题,请提供两端display ipsec sa的新输出,我会进一步分析。
路由器是v7版本,我查过,V7版本不支持手工开启或关闭nat 穿越。第二张图是2台路由器正常建立vpn且通讯正常,NAT穿越状态为N。为Y是vpn正常建立,业务不通。
路由器是v7版本,我查过,V7版本不支持手工开启或关闭nat 穿越。第二张图是2台路由器正常建立vpn且通讯正常,NAT穿越状态为N。为Y是vpn正常建立,业务不通。
左侧的设备,IPSEC网关已经在内网设备里面了,所以要配NAT穿越
1.16.7 网关与网关之间存在NAT设备时采用IKE方式建立保护IPv4报文的IPsec隧道配置举例
github.com/TencentYoutuResearch/SmartSnap/issues/2
github.com/TencentYoutuResearch/SmartSnap/issues/3
github.com/TencentYoutuResearch/SmartSnap/issues/4
github.com/TencentYoutuResearch/SmartSnap/issues/5
github.com/TencentYoutuResearch/SmartSnap/issues/6
github.com/TencentYoutuResearch/SmartSnap/issues/7
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
vpn都能正常建立了。不是端口问题