最近公司总部更换了防火墙,跟几个分部的ipsec需要重新搭建。四个分部,两个分部是public IP,两个分部是pppoe网络,总部跟有ip的分部,搭建ipsec无障碍;但pppoe网络的分部,跟总部的ipsec搭建却出了好多问题
分部都是juniper ssg140设备,玩过这些设备的都知道,ipsec的协商过程默认会记录在events(事件)里面,对调试排错很有帮助。
分部A是pppoe网络,跟总部搭建ipsec的过程中,events里没找到ipsec的协商记录,以为配置错误,检查了几遍配置,确认无误。因为pppoe分配的地址是piulic ip,所以用这个ip调试了一下,秒连接。
修改回原配置,采用local id进行匹配,差不多一小时才看到事件里ipsec的协商记录,然后维持在一小时两条协商记录的评率,ipsec tunnel 自然是起不来的。一天后再看,ipsec tunnel已经建立,查看事件记录,凌晨的一段时间,ipsec在连续协商,最后ipsec tunne建立。跟总部的ipsec tunnel起来了,遂配置分部A到分部B的ipsec,分部B为public IP,跟到总部的配置一模一样,然后一直没有ipsec协商,百思不得其解。
两天后,分部A到总部的tunnel消失,查看alarms,没有提示v pn down的记录。events也没有协商失败的记录,怀疑跟运营商网络有关,为了验证猜想,准备模拟坏境和抓包验证。
坏境模拟,拓扑如下
1.内网搭建pppoe网络,用防火墙拨号,跟总部本地防火墙搭建ipsec,屏幕运营商的影响。结果ipsec tunnel很快建立,两端preshared key不匹配时,events里可以看到ipsec 一直在协商。
2.内网搭建pppoe网络,用防火墙拨号,跟分部防火墙搭建ipsec,穿透两层NAT,因为总部是public ip,猜想运营商没做屏蔽。ipsec tunnel没建立成功,但pppoe 防火墙一直会有ipsec 协商日志出现,并不会出现不协商的情况。跟分部不能建立ipsec tunnel 的原因:
a.preshared key不匹配(特意排查过,依旧出错,应该不是key的原因)
b.总部防火墙已经跟分部建立ipsec 隧道,模拟的pppoe网络在总部防火墙内网,造成冲突。
原文地址:https://blog.51cto.com/14439340/2418469