Проброс портов для обращения на локальный сервер по внешнему адресу

Материал из Linux Wiki
Перейти к: навигация, поиск
# Сначала все, что приходит на внешний адрес шлюза заворачиваем на сервер в локальной сети
iptables -A PREROUTING  -t nat -p tcp -d 217.77.220.40 --dport 80  -j  DNAT --to 192.168.0.251:80
# Потом во всем, что выходит из локальной сети и попадает на сервер, подменяем исходный адрес на внешний адрес шлюза
# Без этого правила сервер будет пытаться отправить трафик напрямую на исходную машину в сети,
# которая про новое для себя подключение ничего не знает
iptables -I POSTROUTING -t nat -p tcp -s 192.168.0.0/24 -d 192.168.0.251 --dport 80 -j SNAT --to-source 217.77.220.40

Ссылки