IPTables перенаправляет порт на другой ip:port, но сохраняет исходный ip-адрес источника

IPTables перенаправляет порт на другой ip:port, но сохраняет исходный ip-адрес источника

У меня есть следующие правила iptables на шлюзовой машине (192.168.0.1). Я хочу перенаправить порт 192.168.0.1:80 на 192.168.0.2:8080. Но мне нужно сохранить исходный IP-адрес источника, чтобы исходный сервер мог получить IP-адрес клиента. У меня есть следующие правила, но это изменяет исходный IP-адрес клиента.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8080
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.2 --dport 8080 -j SNAT --to-source 192.168.0.1

Есть ли еще какие-то правила, которые можно использовать в этом сценарии?

решение1

Попробуйте удалить вторую строку, содержащую правило SNAT. Это правило не нужно.

Также сколько у вас сетевых карт? Находятся ли две машины 192.168.0.2 и 192.168.0.1 в одной сети? Если это так, то какой маршрут будет использовать машина 192.168.0.2 для пересылки пакетов, которые она получает на свой порт TCP 8080? Как она будет маршрутизировать этот пакет?

Связанный контент