Olá pessoal.
O que é necessário para implementar somente o roteamento de pacotes em um servidor linux utilizando iptables? Quais regras devem ser declaradas no script?
Versão Imprimível
Olá pessoal.
O que é necessário para implementar somente o roteamento de pacotes em um servidor linux utilizando iptables? Quais regras devem ser declaradas no script?
echo "1" > /proc/sys/net/ipv4/ip_forward
Isso habilita o repasse de pacotes.
Já pra fazer nat usa-se o iptables, com a seguinte regra:
iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
ethX - mude eth0 para a interface de rede usada para conexão com a internet.
Espero ter ajudado!
Algumas dúvidas:
Devo inicializar regras padrão?
Devo limpar as existentes (iptables -F)?
Qual a diferença de encaminhamento de pacotes para NAT?
depende das suas necessidades...
se houverem regras alguem as colocou la por algum motivo, concorda? :)
eu recomendo que voce as analise e deixe apenas as necessarias...
mas nao precisa limpar as regras preexistentes nao...
sobre encaminhamento e nat tem uma grandee diferenca...
digamos que encaminhamento é "oq o router faz se alguem da internet mandar algum pacote pra ele"... ele diz pra quem aquele pacote tem que ser entregue caso haja a regra...
já o NAT funciona totalmente ao contrario... ele recebe um pedido da sua rede e repassa pra internet... qdo a maquina remota responde, o roteador devolve a resposta pro micro que originou a conexao...
ou, alternativamente:
sysctl net.ipv4.ip_forward
para ver o valor atual, e
sysctl -w net.ipv4.ip_forward=1
para alterar para 1 (similar ao echo 1 > /proc/sys/net/ipv4/ip_forward)
assim, em algumas distros basta editar o /etc/sysctll.conf e colocar uma linha:
net.ipv4.ip_forward=1
o sysctl possui a vantagem de poder ser usado em sistemas que não possuem /proc (não é o caso do linux :) )