检查 NAT 容器流量
使用场景
- 观察容器流量如何通过主机桥上的 NAT,反映了
test_nat.sh中的检查。 - 通过
docker0或其他网桥验证数据包重写。 - 验证 NAT 规则是否正确转换容器 IP 地址以进行外部通信。
- 对由于 NAT 配置不正确导致容器无法访问外部服务的连接问题进行故障排除。
- 监控 NAT 转换后来自容器的出站流量的源 IP 地址。
命令
sudo ptcpdump -i any 'host 1.1.1.1'
在 ptcpdump 运行时,启动一个向外访问的容器,例如 docker run --rm alpine:3.18 wget --timeout=10 1.1.1.1。捕获的 docker0 上的 SYN 数据包会带有容器的 wget 命令注释,并突出显示经过 NAT 的源地址。重放 pcap 文件可以确认主机和容器的视角。