我在 Ubuntu 服务器上使用 iptables 将公共 IP 路由到私有 IP。我想对所有流量进行 nat,包括 80、443 和 ICMP。
但是,ICMP 似乎没有路由。我有一个稳定的 ping 到公共 IP 并且它永远不会停止,即使 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
有任何想法吗?
您是否做过任何 pcapping 以查看 icmp 数据包是否经过 NAT 并再次发送出去?也许他们只是被你正在运行的盒子所接受
iptables
。