Вопрос такой:
Имеется роутер с доступом в интернет (IP (смотрит в инет): yyy.yyy.yyy.yyy, IP (смотрит в локаль): xxx.xxx.xxx.1)
Имеется WEB server в локальной сети (IP: xxx.xxx.xxx.2)
Все адреса реальные.
На роутере поднят DNAT и SNAT - перенаправление по протоколу http на xxx.xxx.xxx.2.
Если пробовать открывать
http://yyy.yyy.yyy.yyy с томского инета - открывается страница, всё нормально (запрос доходит до роутера, перенаправляется на WEB-сервер, генерируется страничка и отправляется обратно _через роутер_ тому, кто запросил страничку).
Если пробовать открывать
http://yyy.yyy.yyy.yyy с локали, то роутер перенаправляет на xxx.xxx.xxx.2, генерируется страница, но ответ идет не через роутер, а напрямую к тому, кто сформировал запрос. Естественно получатель ждет ответа от роутера, а не от WEB-сервера. Поэтому отклоняет результат.
Попробовал на WEB-сервере поднять DNAT/SNAT на 127.0.0.1:
/usr/sbin/iptables -t nat -A PREROUTING -p tcp -d xxx.xxx.xxx.2 --dport 80 -j DNAT --to-destination 127.0.0.1:80
/usr/sbin/iptables -t nat -A POSTROUTING -p tcp -s 127.0.0.1 --sport 80 -j SNAT --to-source yyy.yyy.yyy.yyy:80
правила DNAT срабатывают, SNAT - нет...
Где ошибка/что неправильно?