クライアント(NATルーターの背後)とVPSサーバーにOpenVPNをインストールしました。トンネルが設置されました。ただし、クライアントからサーバーにのみpingできます。クライアントへのpingを試みると、サーバーはtun0のパブリックIPアドレスを使用します。
13:03:56.766564 IP publicIP > 192.168.11.8: ICMP echo request, id 12279, seq 46, length 64
ルーティングテーブルが正しいようです。
root@:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.2 * 255.255.255.255 UH 0 0 0 tun0
184.x.x.x * 255.255.255.0 U 0 0 0 venet0
192.168.11.0 192.168.11.2 255.255.255.0 UG 0 0 0 tun0
default * 0.0.0.0 U 0 0 0 venet0
何が問題なの?パブリックIPを使用する理由は何ですか? (OpenVZコンテナです)。
ベストアンサー1
ifconfig
または、コマンドを使用してトンネルインターフェイスのIPアドレスを確認しますip addr
。ルーティングテーブルによると、192.168.11.1になると予想されます。他のトンネルは192.168.11.5と192.168.11.9です。また、クライアントのルーティングテーブルでアドレスを確認できる必要があります。
pingコマンドで192.0.2.1の代わりにトンネルサーバー側のIPアドレスを試してくださいping -I 192.0.2.1
。これにより、pingが必要なアドレスを使用します。一部の ping バージョンはインターフェイスにバインドされ、他のインターフェイスに ping を送信できません。
あなたが見ているのは、トンネルを運営したり、ルーティングが非対称である可能性がある他の状況では比較的一般的です。この場合:
- パブリックアドレスのpingはtun0にルーティングされます。
- クライアントからの応答は、通常のインターフェイスからサーバーに再ルーティングされます。
- 送信元アドレスが一致しないため、サーバーは応答を認識しません。