DNATにおけるPing応答の観察

DNATにおけるPing応答の観察

次のような状況でDNATのメカニズムを理解しようとすると混乱しています。

私の理解:

DNAT =宛先ネットワークアドレス変換(Destination Network Address Translation):着信パケットの宛先アドレスを宛先xに変換する機能。

DNAT修復経路の理解に問題がある。

例: IP アドレス x1 を持つコンピューター (A) が存在し、このコンピューター (宛先 y1) に到着するすべての接続/パケットが、IP アドレス z1 を持つ別のコンピューター (B) に再ルーティングされるようにします。

そのため、次のような新しいNATルールを追加しました。

iptables -t nat -A PREROUTING -s x1 -d y1 -j DNAT --to-destination z1.

マシンAでテスト:ping -I x1 y1

マシンAで実行すると、tcpdump -i eth6 icmpz1の代わりにIP y1から応答を受け取りますか?それともサブネットマスクに基づくNATではありませんか?

監視中にtcpdump -i eth6 host z1着信ピングやパケットはありません。誰かがこの状況と私の理解を明確にすることができますか?

また、パケットがローカルに変換されている場合は、このtcpdumpを作成できますか?

ベストアンサー1

配信のため平らな要求するときは、次のようにICMPプロトコルを明示的に指定する必要があります。

iptables -t nat -I PREROUTING -d <ip y1> -p icmp -j DNAT --to-destination <ip z1>

ただし、PREROUTINGマシン自体では実行されません。操作するには、マシンAがpingするマシンBとユーザーの間にいる必要があります。

YOU(ip x1) <---internet---> (ip y1) Machine A(ip z0) <---NATed LAN---> (ip z1)Machine B

これは魅力のように動作します。

マイコンピュータ()でy1をpingするときに、IPアドレスy1()とz0()を使用して10.0.0.1コンピュータAに表示される様子は次のとおりです。マシンB(z1)のIPアドレス:10.10.0.7310.0.0.3210.10.0.1

16:23:54.181828 IP 10.0.0.32 > 10.0.0.1: ICMP echo request, id 25492, seq 0, length 64
16:23:54.181860 IP 10.10.0.73 > 10.10.0.1: ICMP echo request, id 25492, seq 0, length 64
16:23:54.182788 IP 10.10.0.1 > 10.10.0.73: ICMP echo reply, id 25492, seq 0, length 64
16:23:54.182806 IP 10.0.0.1 > 10.0.0.32: ICMP echo reply, id 25492, seq 0, length 64

おすすめ記事