我在 Ubuntu 服务器上使用 iptables 将公共 IP 路由到私有 IP。我想对所有流量进行 nat,包括 80、443 和 ICMP。
但是,ICMP 似乎没有路由。我对公共 IP 进行了稳定的 ping,即使 NAT 指向虚假 IP,它也从未停止过。
以下是我使用的规则:
iptables -t nat -I PREROUTING -d 206.72.119.76 -j DNAT --to-destination 10.240.5.5
iptables -t nat -I POSTROUTING -s 10.240.5.5 -j SNAT --to-source 206.72.119.76
我专门尝试了针对 ICMP 的规则,但没有那么幸运:
iptables -t nat -I PREROUTING -d 206.72.119.76 - icmp --icmp-type echo-request -j DNAT --to-destination 10.240.5.5
有任何想法吗?
答案1
您是否执行过任何 pcapping 来查看 icmp 数据包是否被 NAT 并再次发送出去?也许它们只是被您正在运行的盒子所接受iptables
。