IPsecVPN + PPP over ssh 路由问题

IPsecVPN + PPP over ssh 路由问题

我有两台 Debian 主机 A 和 B。在 A 上,我启动 IPsec VPN,我的 VPN 客户端可以连接到它。同时,我在 A 和 B 之间通过 ssh 启动 PPP。因此,在主机 A 上,我可以看到 ppp0 作为 PPP 会话创建的新 Iface。

我的计划是让所有 VPN 客户端通过 IPsec 连接到主机 A。然后从 VPN 客户端到互联网的所有 IP 流量都应该通过 ppp0。换句话说,我想使用主机 B 作为我的 VPN 网络和外界之间的代理,而主机 A 作为 VPN 网关。但是,一旦我将 ppp0 添加为默认网关,所有 VPN 客户端的链接都会丢失。 A 和 B 之间的 ssh 仍然有效。这是详细信息。

步骤 1. 通过 ssh 启动 ppp。

这是第 1 步之后的路由表:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.23.191.253  0.0.0.0         UG    0      0        0 eth0
10.0.8.1        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
123.58.217.XX   172.23.191.253  255.255.255.255 UGH   0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.23.176.0    0.0.0.0         255.255.240.0   U     0      0        0 eth0
192.168.42.253  0.0.0.0         255.255.255.255 UH    0      0        0 ppp1

步骤 2. 添加 ppp0 作为默认 Iface

然后我从主机B以ssh登录到主机A并打印路由表。它看起来像这样:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         172.23.191.253  0.0.0.0         UG    0      0        0 eth0
10.0.8.1        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
123.58.217.XX   172.23.191.253  255.255.255.255 UGH   0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.23.176.0    0.0.0.0         255.255.240.0   U     0      0        0 eth0

您可以看到代表我之前连接的 IPsec 客户端的 ppp1 已被删除。主机 A 的公共 IP 为 8.129.XX,私有 IP 为 172.23.191.254。后第2步,我无法从外部 ping 8.129.XX。然而,与此同时,在主机A内部,我可以ping通所有地方。我假设所有到互联网的 IP 数据包都应该发送到 ppp0。它似乎就是这样工作的,因为从主机 AI 可以 ping 互联网网站。但是如何解决 IPsec 掉线问题以及无法从互联网 ping 主机 A 的问题呢?

相关内容