Roteamento entre duas redes no linux?

2

Eu fiquei preso a um problema que não consigo encontrar solução. Eu tenho o linux pc com dois NIC. primeiro nic (eth1) está conectado ao ip público (provavelmente switch ou o que for, doesnt realmente mater) então eth1 está conectada a wan e outra eth0 que eu conectei para switch e torná-lo um lan. configuração:

endereço IP eth1 88.200.1xx.xxx // xxxs são por motivos de segurança endereço ip eth0 192.168.1.1

wan ------ > [eth1 (linux PC) eth0] < ---- > [alternar] < ---- > [eth1 (PC1)]

Agora eu quero conectar essas duas redes, então o PC1 pode acessar o linux PC e o wan. Eu acho que sei como fazer isso, mas eu não posso confiá-lo corretamente. Isso é o que eu tentei:

  1. Eu peço o encaminhamento de ip (com certeza)
  2. eu configurei eth1 default gw para o ip direito no wan
  3. tentei configurar o eth0 default gw para o mesmo ip (mas não consegui)

O que ou como posso fazer isso, eu estava tentando com o comando linux route, mas fiquei preso. Por favor ajude.

    
por gorgi93 29.11.2012 / 02:09

2 respostas

9

Se você tiver 2 NICs em uma caixa Linux, ambos configurados com IPs, não será necessário adicionar uma rota de uma rede a outra. Isso será feito automaticamente.

Adicione um endereço de gateway padrão na NIC da WAN. Não faça isso na configuração da NIC da LAN.

Em seguida, ative o encaminhamento no kernel:

echo 1 >> /proc/sys/net/ipv4/ip_forward

Para definir esse valor automaticamente na inicialização, descomente essa linha em /etc/sysctl.conf

#net.ipv4.ip_forward=1

Em seguida, configure algumas regras no iptables para realizar as ações e encaminhamentos:

# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT

# We allow traffic from the LAN side
iptables -A INPUT -i eth0 -j ACCEPT

######################################################################
#
#                         ROUTING
#
######################################################################

# eth0 is LAN
# eth1 is WAN

# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# fowarding
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

isso deve ser feito.

    
por 29.11.2012 / 04:43
2

Você só pode ter um gateway padrão, portanto, defina apenas um.

Para rotear o tráfego pela outra interface, você precisa definir uma rota estática persistente e vinculá-la a essa interface.

    
por 29.11.2012 / 02:15