Se tem alguma coisa que me deixa puto da vida é ir em algum fórum ou canal de irc porque preciso saber uma coisa básica mas em caráter de emergência e um filho de mãe me responde com um link para um bíblia sobre determinado assunto.
Certo dia eu estava precisando fazer uma manobra bem simples, que era redirecionar a porta de um servidor web que está direto na internet para outro na rede interna. Era algo simples, sei! Mas sobre pressão de ter um prazo para fazê-lo sem precisar ler uma Bíblia do Iptables que um infeliz me indicou pelo IRC com todo aquele ar de arrogância, segue a dica:
Servidor conectado direto na internet: SERVIDOR A 192.168.1.1
Servidor interno que vai responder requisição do servidor citado a cima é o: SERVIDOR B 192.168.1.2
Isso é só um exemplo, vamos ser pragmáticos!
#!/bin/bash # Redireciona uma faixa de portas para um micro da rede local: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING --proto tcp -i eth1 --dport 81 -j DNAT --to 192.168.1.2:80 iptables -t nat -A POSTROUTING -d 192.168.1.2 -j SNAT --to 192.168.1.1
A primeira linha habilita o encaminhamento de pacotes.
A segunda faz o servidor o servidor 192.168.1.1 (esse é o ip dele na rede interna, e é nele que esse script deve ser executado) passa a solicitação que ele recebeu na porta 81 pro servidor 192.168.1.2 na porta 80.
A terceira faz com que o que recebeu a solicitação possa responder.
É algo mais ou menos assim, o Servidor A é o garoto de recados do Servidor B que fica escondidinho na rede interna.
Se você achou a dica muito besta, pode rir a vontade, mas eu apanhei pra caramba pra fazê-la. Eu espero que ajude alguma alma que sofreu muito pra achar algo claro de se entender.