次のセットアップで、VPN を介してホスト「a」からホスト「c」に ping を送信しようとすると、ホスト b の tun0 インターフェイスで受信され、eth0 で転送されますが、その後消えます。ホスト c の eth0 インターフェイスには何も入っていません。最終的な結果は、ping が応答されないことです。ホスト b からホスト c に直接 ping を実行できます (ソース IP アドレスは、ホスト b と c が配置されているサブネット内に表示され、ホスト a の範囲は異なります (10.8.0.0/16))。
これをデバッグするにはどうすればよいですか? 何が問題になる可能性がありますか? トラフィックがハードウェアによって送信されたかどうかを検出するにはどうすればよいですか? (Linux ファイアウォールによってブロックされる可能性はありますか?)
設定:
ホスト(a) -> VPN(b) -> pingされるホスト(c)
ホスト a には eth0 インターフェイスがあります ホスト b には tun0 および eth0 インターフェイスがあります。ホスト c には eth0 インターフェイスがあります。
証拠:
on host a's tun0 interface
> sudo tcpdump -i tun0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
05:09:36.878793 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 611, length 64
05:09:37.884830 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 612, length 64
On host b's eth0 interface
> sudo tcpdump -i eth0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
05:07:43.991961 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 499, length 64
05:07:44.997944 IP 10.8.0.6 > 10.10.146.8: ICMP echo request, id 3497, seq 500, length 64
on host c's eth0 interface
> sudo tcpdump -i eth0 'icmp[icmptype] = icmp-echo or icmp[icmptype] = icmp-echoreply'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
<no output>