Привет. Имеется маршутизатор с IP 192.168.1.254 в 192.168.1.0/24. От него подключено устройство с полученным IP 192.168.1.77. На нём висит интерфейс с IP 172.168.0.1 в 172.168.0.0/28. И там стоит сервер с IP 172.168.0.10. Работает на порту 8080. iptables сейчас так:
DNAT tcp -- 172.168.0.10 anywhere tcp dpt:webcache to:MYPUBLICIP:8080
DNAT tcp -- MYPUBLICIP anywhere tcp dpt:webcache to:172.168.0.10:8080
DNAT tcp -- OTHERSERVER anywhere tcp dpt:webcache to:192.168.1.77:8080
Проблема заключается в том что в сети есть и клиентские машины которые подключаются к серверу за пределами локальной сети на том же порту. Будем называть его OTHERSERVER. Если вбить команду:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 172.168.0.10:8080
То подключение из вне есть, но со стороны клиентской машины все запросы на OTHERSERVER редиректятся на 172.168.0.10. Пока для теста клиентской машиной оставил 192.168.1.77. Как можно сделать так чтобы и сервер был доступен из вне и при подключение к другому серверу такого редиректа не было?
Также попробовал поменять через POSTROUTING:
iptables -t nat -A POSTROUTING -s 172.168.0.10 -p tcp --dport 8080 -j SNAT --to-source MYPUBLICIP:8080
UPD: Плохо гуглил. Решил.