Iptables переадресовывает входящий трафик на несколько ip

У меня есть сервер с 5 ipv4

95.xy1
95.xy2
95.xy3
95.xy4
95.xy5

и мне нужно только перенаправить входящий трафик с порта 80 на порт 8080 (и тот же IP)

95.xy1:80 -> 95.xy1: 8080
95.xy2:80 -> 95.xy2: 8080
95.xy3:80 -> 95.xy3: 8080
95.xy4:80 -> 95.xy4: 8080
95.xy5: 80 -> 95.xy5: 8080

Помимо iptables можно сделать что-то похожее с nginx(обратный прокси)? Основная проблема заключается в том, чтобы у Ubuntu18 были "разные" серверы с nginx для каждого ip, которые направляют трафик конкретному пользователю Ubuntu. Любое руководство / помощь / пример будет принята с благодарностью

1 ответ

DNAT target может переписать только номер порта назначения без изменения IP-адреса назначения.

iptables -t nat -A PREROUTING --dst 95.x.y.1 -p tcp --dport 80 -j DNAT --to :8080
iptables -t nat -A PREROUTING --dst 95.x.y.2 -p tcp --dport 80 -j DNAT --to :8080
iptables -t nat -A PREROUTING --dst 95.x.y.3 -p tcp --dport 80 -j DNAT --to :8080
iptables -t nat -A PREROUTING --dst 95.x.y.4 -p tcp --dport 80 -j DNAT --to :8080
iptables -t nat -A PREROUTING --dst 95.x.y.5 -p tcp --dport 80 -j DNAT --to :8080

Отвеченные пакеты должны проходить через один и тот же ящик linux для обратного перевода.

Для устранения неполадок используйте tcpdump и conntrack инструменты.

Другие вопросы по тегам