sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:8080
Suponha que eu tenha uma rede com um servidor roteando todas as conexões de dentro da rede para a Internet. Como posso configurar o iptables para que, em vez de rotear as conexões de entrada para a Internet, ele as direcione para a porta 8080 do localhost. Toda a ajuda é bem-vinda.
isso pode ser feito com iptables
, mas somente com o kernel > = 3.6.
Você terá que fazer:
sysctl -w net.ipv4.conf.all.route_localnet=1
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:8080
ip_forward
não é necessário, porque o pacote não é encaminhado, mas se você não incluir o sysctl para route_localnet
(que funciona apenas em kernels > = 3.6), o pacote será descartado pelo kernel porque o considera um "marciano", vindo de fora e tendo um endereço de destino de 127.0.0.1
Tags networking iptables