LINUX.ORG.RU
решено ФорумAdmin

Настройка маршутизации во внутренний интерфейс через IP tables

 


0

1

Привет. Имеется маршутизатор с 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: Плохо гуглил. Решил.

Ограничение на отправку комментариев: только для зарегистрированных пользователей