Experimente: sudo iptables -t nat -A PREROUTING -p tcp --dportar 80 -j DNAT - para 127.0.0.1:8100
Eu tenho um servidor apache em execução no 8100. Quando abrir link no navegador, veremos o site sendo executado corretamente.
Agora, gostaria de direcionar todas as solicitações de 80 para 8100 para que o site possa ser acessado sem o número da porta. Eu não estou familiarizado com o iptables, então eu procurei por soluções online. Este é um dos métodos que tentei:
user@ubuntu:~$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT user@ubuntu:~$ sudo iptables -A INPUT -p tcp --dport 8100 -j ACCEPT user@ubuntu:~$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8100
Não está funcionando. O site funciona em 8100, mas não é em 80. Se imprimir as regras usando "iptables -t nat-L -n -v", é isso que eu vejo:
user@ubuntu:~$ sudo iptables -t nat -L -n -v Chain PREROUTING (policy ACCEPT 14 packets, 2142 bytes) pkts bytes target prot opt in out source destination 0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8100 Chain INPUT (policy ACCEPT 14 packets, 2142 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 177 packets, 13171 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 177 packets, 13171 bytes) pkts bytes target prot opt in out source destination
O sistema operacional é um Ubuntu em um VMware. Eu pensei que isso deveria ser uma tarefa simples, mas tenho trabalhado nisso por horas sem sucesso. :( O que estou faltando?
Experimente: sudo iptables -t nat -A PREROUTING -p tcp --dportar 80 -j DNAT - para 127.0.0.1:8100
A cadeia "PREROUTING" aplica-se apenas ao tráfego recebido da rede. Se você quiser redirecionar o tráfego gerado localmente, é necessário usar a cadeia "OUTPUT".
Você provavelmente também deseja algumas correspondências no endereço IP de destino.
Tags iptables