私はネットワークとVPNのトラブルシューティングを行っており、トラフィックを監視し、SNATとDNATが正しく機能していることを確認したいと思います。 tcpdump などのライブコンテンツが必要な場合は、次の内容を見ることができます。
192.168.25.40 <----> 172.16.30.245 icmp エコー要求 194.30.25.10 194.30.25.10 icmp エコー応答 172.26.30.245 <----> 192.46.2
tcpdump、itraf、またはiftopを使用してこれを実行できますか?それとも、リアルタイムでNATを表示するために使用できる他のツールはありますか?
ありがとう
答え1
何が間違っているのかわかりませんが、ここに例があります。設定:2つのネットワークネームスペースns0
とns1
2つのveth
ペアのデフォルトネームスペースを渡す:
ns0 <------- main -------> ns1
veth0b --- veth0a veth1a --- veth1b
10.0.0.1 10.0.0.254 10.0.1.254 10.0.1.1
tcpdump
とでveth0a
簡単な作業を行いますveth1a
。ns0
NATなしでPingを実行すると、次のns1
ようになります。
IP 10.0.1.1 > 10.0.0.1: ICMP echo request, id 20765, seq 1, length 64
IP 10.0.0.1 > 10.0.1.1: ICMP echo reply, id 20765, seq 1, length 64
にveth0a
、にveth1a
:
IP 10.0.1.1 > 10.0.0.1: ICMP echo request, id 20765, seq 1, length 64
IP 10.0.0.1 > 10.0.1.1: ICMP echo reply, id 20765, seq 1, length 64
SNATを有効にveth0a
した後
iptables -t nat -A POSTROUTING -o veth0a -s 10.0.1.1/32 -j SNAT --to 10.0.1.90
veth0a
ある
IP 10.0.1.90 > 10.0.0.1: ICMP echo request, id 20795, seq 1, length 64
IP 10.0.0.1 > 10.0.1.90: ICMP echo reply, id 20795, seq 1, length 64
オンのときveth1a
IP 10.0.1.1 > 10.0.0.1: ICMP echo request, id 20795, seq 1, length 64
IP 10.0.0.1 > 10.0.1.1: ICMP echo reply, id 20795, seq 1, length 64
これにより、SNATが機能していることを明確に確認できます。
私が言ったように、パケットをダンプする必要があります。両方出力および入力インターフェース。