Я использую iptables на сервере Ubuntu для маршрутизации публичного IP на частный IP. Я хочу направить весь трафик, включая 80, 443 и ICMP.
Однако, похоже, что ICMP не маршрутизирует. У меня устойчивый пинг, идущий на публичный 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
Есть идеи?
решение1
Вы делали pcaping, чтобы увидеть, что пакеты icmp проходят NAT и отправляются снова? Возможно, они просто принимаются тем ящиком, iptables
на котором вы работаете.