好吧,这应该是一个容易的,但它使我疯狂。
场景:
网站A(旧金山)网站B(哥伦比亚)
两个站点都通过IPSec成功连接(openswan,debian 8):
站点A —————网站B
10.2.0.1 <== inet ==> 10.3.0.1
我可以成功从SiteA PING 10.3.0.1 …. 10.3.0.0子网中的10个电话分机连接到SiteA。 甜,没问题。
但是请注意10.3.0.1 IS NOT LISTED作为SiteA的内核路由表下的任何地方,但是如果我从10.2.0.1开始ping,它就可以工作。
问题:
好。 我只是在SiteB中添加了一个SIP路由器10.11.208.93。 SiteA需要为10.11.208.94,并且必须能够通过10.3.0.1达到10.11.208.93。 我已经在SiteB的10.3.0.1上成功添加了这个桥。
当我尝试通过SiteA中的10.3.0.1创build到SIP路由器的静态路由时,路由命令说主机不可达。 但我可以从SiteA ping 10.3.0.1。
ip route add -net 10.11.208.92/30通过10.3.0.1
SIOADDR:主机无法访问
问题是:在哪里/如何强壮(ipsec)configurationlinux路由表通过隧道达到10.3.0.1? 它不会显示在路由表上。
如果我可以ping通10.3.0.1,为什么不能使用它作为路由到达它后面的子网,已经有一个工作隧道了?
strongSwan默认在路由表220中安装路由。 你可以看到这些与ip route list table 220 。
添加路由不会让您的stream量通过隧道。 IPsec是基于策略的(您可以使用ip xfrm policy查看这些ip xfrm policy ),所以如果您有一个允许在例如10.2.0.0/16和10.3.0.0/16之间的stream量的IPsec策略,则实际上只有匹配的stream量通过隧道传输。 从10.11.208.94到10.11.208.93发送的数据包不是这种情况。 因此,您必须明确添加涵盖这些IP的隧道。