Quero redirecionar todo o tráfego da porta 443 para a porta 8080 interna. Estou usando esta configuração para o iptables:
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp \
--dport 443 -j REDIRECT --to-ports 8080
Isso funciona para todos os clientes externos. Mas se estou tentando acessar a porta 443 do mesmo maschine, receberei um erro de conexão recusada.
wget https://localhost
Como posso estender a regra iptables para redirecionar também o tráfego local?
Respostas:
PREROUTING não é usado pela interface de loopback, você também precisa adicionar uma regra OUTPUT:
fonte
Para redirecionar pacotes do host local para outra máquina, a regra:
funcionará, MAS você também precisará habilitar esta opção no kernel:
Sem essa configuração do kernel, ele não funcionará.
fonte
Que tal agora?
fonte
Você disse que está recebendo erro de conexão recusada . Isso significa que não há processo local atendendo na porta à qual você está tentando se conectar! Para verificar os processos de escuta, use o comando:
Depois de aplicar a regra, você deverá ter um processo atendendo na porta 8080 para se conectar.
Parece que você deveria ter a seguinte regra:
Lembre-se de que você está enviando do host local. Então, você precisa redirecionar o pacote de saída.
fonte