Назад | Перейти на главную страницу

iptables маршрутизация трафика локальной сети

У меня роутер работает вот так

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`