
別のデータセンター (AWS、VPC VPN 経由) への IPSec トンネルを備えた Ubuntu Server ボックス (A) があります。トンネルは正常で、トンネルの反対側に ping を実行できます。
問題は、トンネルの反対側にあるホストと通信しようとするときに発生します。
次のような構成があるとします。
ボックスA:172.31.0.5
ボックスB:172.30.0.5
次のようにすると:
A> ping 172.30.0.5
ICMP パケットはターゲット サーバー (B) に到着しますが、その送信元アドレスは送信元サーバー (A) の IP ではありません。
代わりに、AWS VPC 内の IPSec トンネルのプライベート アドレスである 169.254.248.xxx を送信元アドレスとして受信します。
169.254.248.xxx はボックス A の外部には存在しないため、ボックス B は応答を送信できず、パケットは失われます。
これはサーバー A のルーティング設定の問題だと確信していますが、これをデバッグして解決策を見つけるにはどうすればよいでしょうか?
答え1
ping
パケットの送信に使用するインターフェースを指定できます。
Windowsの場合:
ping -S 172.31.0.5 172.30.0.5
Linuxの場合:
ping -I 172.31.0.5 172.30.0.5