Всем привет!
Казалось бы простая задача, но не могу нагуглить. Есть у меня Linux-марштуризатор, у которого наружу смотрит публичный IP-адрес, скажем, 203.0.113.1 (для примера, на самом деле другой). Публичный IP-адрес 203.0.113.1 стоит на интерфейсе eth2. Внутренняя сеть 192.168.77.0/24 подключена к интерфейсу eth1 Linux-маршрутизатора, где у него стоит IP-адрес 192.168.77.1. Настроен NAT, внутренние пользователи в публичном Интернете видны под адресом 203.0.113.1, успешно открывают чужие сайты. Внутри находится Web-сервер 192.168.77.187. Снаружи через NAT он виден как http://203.0.113.1:8084, пользователи публичного Интернета успешно открывают URL http://203.0.113.1:8084/.
Проблема: пользователи внутренней сети 192.168.77.0/24 не могут открыть http://203.0.113.1:8084. Нужно сделать так, чтобы пользователи внутренней сети 192.168.77.0/24 могли открывать http://203.0.113.1:8084.
Правила iptables следующие:
*mangle
COMMIT
*filter
#
# My Web server
-A FORWARD -d 192.168.77.187/32 -p tcp --dport 80 -j ACCEPT
COMMIT
*nat
# My Web server
-A PREROUTING -i eth2 -p tcp --dport 8084 -j DNAT --to 192.168.77.187:80
-A POSTROUTING -s 192.168.77.0/24 -o eth2 -j MASQUERADE
COMMIT
В моём распоряжении только один публичный адрес 203.0.113.1, других нет.
Прошу помочь.