Ping 応答が送信元に転送されない。Linux でのルーティング\IP 転送の問題

Ping 応答が送信元に転送されない。Linux でのルーティング\IP 転送の問題

Openvpn を使用してサイト間 VPN をセットアップしようとしています。初期セットアップは完了しており、openvpn クライアント側ノード (201.100.0.x) は openvpn サーバー側ノード (192.0.0.x) と通信できます。

しかし、サーバー側ノード (192.0.0.32) から任意のクライアント ノード (201.100.0.18) に ping を実行しても、応答がありません (エンドポイントに適切なルートを追加しています)。また、TCP ダンプを使用して分析すると、ping のリプレイが openvpn サーバーに到達していることがわかります。

サーバー側ノード: 192.0.0.32 (eth0)

サーバー: 192.0.0.39 (eth0); 10.8.0.1 (tun0)

クライアント側ノード: 201.100.0.18 (eth0)

Openvpnクライアント:201.100.0.11 (eth0); 10.8.0.6 (tun0)

server node> ping 201.100.0.18 -c 1
 PING 201.100.0.18 (201.100.0.18) 56(84) bytes of data.
 --- 201.100.0.18 ping statistics ---
 1 packets transmitted, 0 received, 100% packet loss, time 10000ms

これはopenvpnサーバーのeth0からのTCPダンプです

vpnserver>  tcpdump -nni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:41:00.796021 IP 192.0.0.32 > 201.100.0.18: ICMP echo request, id 47432, seq 1, length 64
09:41:00.836637 IP 201.100.0.18 > 192.0.0.32: ICMP echo reply, id 47432, seq 1, length 64

Ping 応答は 192.0.0.32 まで返されましたが、192.0.0.39 に転送されません。理由を知る必要があります。

IP転送はすでに有効になっています。既存のファイアウォールルールは以下から確認できます。

    *filter
:INPUT ACCEPT [397:39519]
:FORWARD ACCEPT [6:504]
:OUTPUT ACCEPT [362:40521]
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
COMMIT
# Completed on Thu Nov  3 09:45:05 2016
# Generated by iptables-save v1.4.7 on Thu Nov  3 09:45:05 2016
*nat
:PREROUTING ACCEPT [31:3889]
:POSTROUTING ACCEPT [22:1848]
:OUTPUT ACCEPT [6:504]
-A POSTROUTING -o eth0 -j MASQUERADE   << before adding this rule client sides nodes were not able to access server side nodes
COMMIT

関連情報