Esta pergunta está relacionada à resposta e comentário emO que é encaminhamento de IP do kernel?
de @LawrenceC
postagem1:
Portanto, no exemplo acima, se você tiver uma conexão com a Internet na NIC 2, você definiria a NIC 2 como sua rota padrão e qualquer tráfego proveniente da NIC 1 que não esteja destinado a algo em 192.168.2.0/24 irá através da NIC 2.
e também post2:
a interface voltada para a Internet (NIC 1 acima) precisa de uma regra MASQUERADE no POSTROUTING do iptables em uma cadeia para fazer isso. Ver revsys.com/writings/quicktips/nat.html
Nohttp://www.revsys.com/writings/quicktips/nat.htmldiz:
Então você precisará configurar o iptables para encaminhar os pacotes da sua rede interna, em/dev/eth1, para sua rede externa em/dev/eth0.
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Por que eu usaria FORWARD
(de acordo compostagem2) se o encaminhamento já for feito apenas configurando ip_forward
(conformepostagem1):
echo 1 > /proc/sys/net/ipv4/ip_forward
Responder1
Configuração ip_forward
permite encaminhamento de pacotesem geral. Algumas distribuições Linux podem proibir a entrada de pacotes iptables
por motivos de segurança, por exemplo, se ip_forward
for definido por erro.
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
define uma regra para permitir pacotes eth0
que eth1
sejam respostas ou pacotes relacionados de forma semelhante a uma conexão já estabelecida.
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
define uma regra explícita para permitir pacotes de eth1
para eth0
.
Isso permite que os clientes eth1
acessem servidores atrás, eth0
independentemente da iptables
configuração padrão.