Я перенаправил трафик с порта 80 на 8080 на моей машине с
sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080
. Он отлично работает для всего мира, за исключением моей собственной машины. Я разработчик, и мне нужно перенаправить порт 80 на 8080 для себя.
Мой IP-адрес 192.168.0.111
Мой веб-сервер работает на порту 8080
Я хочу открыть веб-сайт из http://192.168.0.111/
вместо http://192.168.0.111:8080/
с той же машины, где работает сервер.
Необходимо использовать OUTPUT
цепочка как пакеты, предназначенные для обратная петля , интерфейс не передает через PREROUTING
цепочка. Следующее должно работать; выполненный как root
:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
Вместо эти iptables
, Вы могли попробовать:
sudo ssh -gL 80:127.0.0.1:8080 localhost
Это работало на меня.
$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Простой просто используют iptables, позволяющий и порт 80 и 8080 затем, перенаправление 80 - 8 080 удостоверяется, что Вы присваиваетесь к корректному nic.. в примере я использую eth0
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080