Мне нужно добиться следующего сценария с использованием IPTables:

Сценарий Изображение Ссылка

В этом сценарии у нас есть сервер переднего плана только с одним NIC с IP 1.2.3.4 , и есть три других сервера с IP- 172.20.20.20 , 192.168.20.10 и 10.10.10.8 .

Цель состоит в том, чтобы настроить таблицы IP таким образом, чтобы клиенты подключались только к внешнему серверу (1.2.3.4), и запрос переадресовывался на основе порта, например, когда зеленый клиент запрашивает 1.2.3.4:8080 , запрос отправляется на 10.10.10.8:8080 , или если он отправляет запрос к 1.2.3.4:443 , его запрос перенаправляется на 172.20.20.20:443 при сохранении исходного IP- адреса клиента.

Мне нужен этот IP как часть идентификации пользователя - на основе IPm клиента будет обслуживаться другое содержимое.

Я уже прочитал эти вопросы, но это не помогло:

1 ответ1

0

На брандмауэре / маршрутизаторе - введите следующие команды (при условии, что вы хотите, чтобы это работало на порте 80. Первый обеспечивает путь к веб-серверу, второй корректирует исходящий участок.

IPTABLES -t nat A PREROUTING -p tcp  -d REAL.WORLD.IP --dport 80  -j DNAT --to-destination INTERNAL.IP
IPTABLES -t nat -A POSTROUTING -s INTERAL.IP -p tcp --dport 80 -j SNAT --to-source EXTERNAL.IP

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .