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
инструменты.