如何查看NAT实时情况?

如何查看NAT实时情况?

我正在对我们的网络和 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.168.25.40

是否可以使用 tcpdump、iptraf 或 iftop 来完成此操作?或者还有其他工具可以用来实时查看 NAT 吗?

谢谢

答案1

我不知道你做错了什么,但这是一个例子。设置:两个网络命名空间ns0ns1veth对主命名空间转发:

ns0          <------- main ------->     ns1
veth0b   --- veth0a          veth1a --- veth1b
10.0.0.1     10.0.0.254  10.0.1.254     10.0.1.1

tcpdumpveth0a和上做简单的事情veth1ans0在没有 NAT 的情况下进行 Pingns1显示:

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

启用 SNATveth0a

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 正在工作。

正如我所说,你需要将数据包转储到两个都输出和输入接口。

相关内容