como configurar o roteamento da máquina interna para a internet através de outra máquina?

2

Eu tenho uma máquina interna, digamos X (não conectado à internet) que está conectado a uma máquina, digamos Y, que está conectado à internet.

Como devo configurar as máquinas para poder rotear da máquina interna X para a Internet através de Y?

    
por kashyapa 18.08.2011 / 00:04

3 respostas

5

O roteador padrão Y usa deve saber que a rede X usa está disponível por meio de Y .

assim, se X estiver em 192.168.1.12/24, Y será em 192.168.1.1/24 e 192.168.0.101/24. Então, no roteador (digamos em 192.168.0.1/24, conectado à Internet) que compartilha conexão com Y você precisa adicionar:

ip route add 192.168.1.0/24 via 192.168.0.101 scope global

e regras apropriadas ao firewall para permitir o tráfego.

A outra solução é usar o SNAT em Y :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(assumindo que a rede entre o roteador padrão de Y e Y está conectado a eth0)

Em ambos os casos, você precisa adicionar o encaminhamento de pacotes a Y :

echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
    
por 18.08.2011 / 00:13
2

Defina o gateway na máquina X como Y. Em seguida, certifique-se de que o host Y permita o encaminhamento de pacotes. No linux com o iptables isso exigiria mais ou menos isso:

Edite /etc/sysctl.conf para permitir o encaminhamento, verifique se net.ipv4.ip_forward foi definido como 1 .

Depois disso, aplique uma regra no iptables para permitir o tráfego.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(se eth0 é o dispositivo certo)

    
por 18.08.2011 / 00:17
1

Tente isso.

sysctl -w net.ipv4.ip_forward = 1

Na máquina X, defina a rota padrão como Y.

Se isso funcionar, defina-o permanentemente adicionando

net.ipv4.ip_forward = 1

para: /etc/sysctl.conf

e reiniciando.

    
por 18.08.2011 / 00:16