Настроил проброс портов по статье
http://sudouser.org.ua/index.php?newsid=10Вот не до конца работающий кусок
# Открываю порт 9090 на сервер 192.168.0.10
iptables -t nat -A PREROUTING -p tcp -i $IFACE_WAN --dport 9090 -j DNAT --to 192.168.0.10:9090
iptables -t nat -A POSTROUTING --dst 192.168.0.10 -p tcp --dport 9090 -j SNAT --to-source $IP_LAN
iptables -t nat -A OUTPUT --dst $IP_WAN -p tcp --dport 9090 -j DNAT --to-destination 192.168.0.10
iptables -I FORWARD 1 -i $IFACE_WAN -o eth0 -d 192.168.0.10 -p tcp -m tcp --dport 9090 -j ACCEPT
Остальные правила
# разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i $IFACE_WAN -o $IFACE_WAN -j ACCEPT
# разрешаем ответы из внешней сети
iptables -A FORWARD -i $IFACE_WAN -o $IFACE_LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
# запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i $IFACE_WAN -o $IFACE_LAN -j REJECT
# Влючаю прозрачность пакетов
iptables -t nat -A POSTROUTING -o $IFACE_WAN -s 192.168.0.0/24 -j MASQUERADE
Порт пробрасывается, и без проблем виден из вне. Но вот при попытке обратиться по внешнему IP (dns) из внутренней сети пакеты где-то глохнут. Описанная в статье строчка с подменой адреса отправителя шлюзом не помогает.
iptables -t nat -A POSTROUTING --dst 192.168.0.10 -p tcp --dport 9090 -j SNAT --to-source $IP_LAN
Вариант прописать локальный DNS не подойдет, т.к. могут быть разные сервера на разные порты.
Подскажите плиз, как сделать видимым из локалки проброшенный извне в локалку сервер по внешнему DNS?