ip route add -net 10.11.208.92/30 通过 10.3.0.1

ip route add -net 10.11.208.92/30 通过 10.3.0.1

好吧,这应该很容易,但它让我抓狂。

设想:

站点 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未列出作为 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 创建到 SIP 路由器的静态路由时,路由命令显示主机不可访问。但我可以从 SiteA ping 10.3.0.1。

ip route add -net 10.11.208.92/30 通过 10.3.0.1

SIOADDR:主机不可访问

问题是:strongswan(ipsec)到底在哪里/如何配置linux路由表以通过隧道到达10.3.0.1???它没有显示在路由表上。

如果我可以 ping 10.3.0.1,为什么不能使用它作为到达其后面子网的路由,因为已经有了一个可以运行的隧道?

答案1

strongSwan 默认在路由表 220 中安装路由。您可以使用 查看这些路由ip route list table 220

但是添加路由不会让您的流量通过隧道传输。IPsec 是基于策略的(您可以使用 查看这些策略ip xfrm policy),因此如果您有一个允许流量(例如 10.2.0.0/16 和 10.3.0.0/16)之间的 IPsec 策略,则实际上只有匹配的流量才会通过隧道传输。而从 10.11.208.94 发送到 10.11.208.93 的数据包则不是这种情况。因此,您必须明确添加覆盖这些 IP 的隧道。

相关内容