Para redirecionar portas usando o iptables, você pode seguir os passos abaixo. Certifique-se de estar executando os comandos com privilégios de superusuário (root) ou usando o sudo.
Antes de iniciar, verifique se você tem o iptables instalado e funcionando em seu sistema. Em distribuições Linux baseadas em Debian/Ubuntu, você pode instalá-lo usando o seguinte comando:
sudo apt-get install iptables
Agora, vamos redirecionar, a exempo, a porta 3052 para o IP interno 192.168.1.2 na porta 80. Vamos assumir que você está usando uma interface de rede chamada “eth0” (você pode verificar isso usando o comando ifconfig
).
- Primeiro, libere a porta 3052 para permitir o tráfego:
sudo iptables -A INPUT -i eth0 -p tcp --dport 3052 -j ACCEPT
- Em seguida, adicione a regra de redirecionamento da porta 3052 para o IP interno na porta 80:
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 3052 -j DNAT --to-destination 192.168.1.2:80
- Agora, adicione uma regra para modificar o endereço de origem, para que a resposta do servidor seja direcionada corretamente de volta para a máquina de origem:
sudo iptables -A FORWARD -i eth0 -o eth0 -p tcp --dport 80 -d 192.168.1.2 -j ACCEPT
sudo iptables -A POSTROUTING -t nat -o eth0 -p tcp --dport 80 -d 192.168.1.2 -j SNAT --to-source SEU_IP_PUBLICO
Substitua “SEU_IP_PUBLICO” pelo seu endereço IP público. Você pode obtê-lo usando o comando curl ifconfig.me
ou simplesmente procurando no Google por “Meu IP”.
- Salve as regras para que elas sejam aplicadas após reiniciar o sistema:
sudo iptables-save > /etc/iptables/rules.v4
Isso irá salvar as regras do iptables no arquivo “/etc/iptables/rules.v4”.
Agora você deverá ter a porta 3052 redirecionada para o serviço interno na porta 80. Lembre-se de que, em algumas configurações, pode ser necessário habilitar o redirecionamento de pacotes no kernel. Para fazer isso, você pode executar o seguinte comando:
sudo sysctl net.ipv4.ip_forward=1
Espero que isso ajude! Lembre-se de tomar cuidado ao configurar as regras do iptables para evitar bloqueios acidentais de acesso à sua máquina. Se você tiver alguma dúvida ou enfrentar problemas, não hesite em perguntar!