2つのDebianホストAとBがあります。 AでIPsec VPNを起動すると、VPNクライアントはここに接続できます。同時に、SSHを介してAとBの間で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。デフォルトのIfaceでppp0を追加する
次に、ホストBからホストAにSSHを介してルーティングテーブルを印刷します。次のようになります。
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、外部から8.129.XXにpingを送信できません。ただし、同時にホストA内ではどこからでもpingを送信できます。私はインターネットに行くすべてのIPパケットをppp0に送信する必要があると仮定します。ホストのAIがインターネットサイトにpingできるので、これがうまくいくようです。しかし、IPsec接続が失われ、インターネット上でホストAをpingできない問題を解決するにはどうすればよいですか?