O que é o encaminhamento de IP do kernel? questão relacionada

3

Esta questão está relacionada com a resposta & comente em O que é o encaminhamento de IP do kernel?

de @LawrenceC

post1:

So in the above example, if you have an internet connection on NIC 2, you'd set NIC 2 as your default route and then any traffic coming in from NIC 1 that isn't destined for something on 192.168.2.0/24 will go through NIC 2.

e também post2:

the internet-facing interface (NIC 1 per above) needs a MASQUERADE rule in iptables's POSTROUTING on a chain to do that. See revsys.com/writings/quicktips/nat.html

No link , ele diz:

Then you'll need to configure iptables to forward the packets from your internal network, on /dev/eth1, to your external network on /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 com post2 ) se o encaminhamento já fosse feito apenas definindo ip_forward (de acordo com post1 ):

echo 1 > /proc/sys/net/ipv4/ip_forward
    
por adrhc 17.04.2017 / 00:08

1 resposta

4

A configuração ip_forward permite o encaminhamento de pacotes em geral . Algumas distribuições Linux podem não permitir pacotes encaminhados em iptables por motivos de segurança, por exemplo, if ip_forward é definido por erro.

/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

define uma regra para permitir que os pacotes de eth0 to eth1 sejam respostas ou pacotes similares 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 a eth0 .

Isso permite que clientes de eth1 acessem servidores atrás de eth0 , independentemente da configuração padrão iptables .

    
por 17.04.2017 / 00:21