У меня роутер работает вот так
internet -> 1.2.3.4 eth1 -> Router <- eth0 10.0.0.1 - LAN
и хотите перенаправить порт 80 с 1.2.3.4 на 10.0.0.10
-A FORWARD -d 10.0.0.10 -p tcp -m tcp --dport 80 -j ACCEPT
-A PREROUTING -d 1.2.3.4 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.10:80
это отлично работает из интернета, но не из сети LAN, например IP 10.0.0.2, как я могу этого добиться? (я не хочу использовать для этого DNS)
P.S .: мне нужен доступ к 1.2.3.4:80 из обеих сетей
Вам необходимо убедиться, что весь трафик проходит через ваш маршрутизатор (чтобы он мог его перезаписать).
Этого можно добиться с помощью правила POSTROUTING. (видеть: http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-10.html)
$ iptables -t nat -A POSTROUTING -d 10.0.0.10 -s 10.0.0.0/24 \
-p tcp --dport 80 -j SNAT --to 10.0.0.1`