CentOS, duas nics eth0 eth1 com sub-redes diferentes não são acessíveis fora da VLAN / sub-rede

9

Estou tendo um problema com uma caixa do CentOS 6.3. Temos duas NICs (eth0 e eth1) no servidor, cada uma com um ip de uma sub-rede diferente atribuída, digamos eth0: 192.168.1.2/24 (gateway 192.168.1.1) e eth1: 192.168.2.2/24 (gateway 192.168). 2.1) Os ips reais são roteáveis ​​no mundo.

Cada NIC está conectada a um comutador diferente, mas acaba em um roteador no final. No roteador, essas duas sub-redes estão em VLANs diferentes, as portas das NICs são desmarcadas e, portanto, nenhum ID de vlan é passado para o servidor.

Agora, no FreeBSD, eu apenas atribuo os ips a cada NIC e funciona: ambos os IPs são acessíveis. No CentOS, posso alcançar apenas o IP do qual o gateway está ativo como a rota padrão. Posso fazer o ping do IP em qualquer coisa dentro da mesma VLAN / sub-rede, mas fora disso é inacessível.

Quando faço um traceroute para cada um dos gateways, vejo que eles passam pela NIC apropriada, faz sentido, pois o gatewaty está dentro do escopo. No entanto, fora da sub-rede, posso executar ping apenas 192.168.1.2 atualmente.

O IPtables também não está ativo no momento.

Qual seria a ação necessária para que isso funcionasse?

Eu pesquisei por horas, tentei abordagens diferentes, mas não vai funcionar. Tenho a sensação de que estou perdendo algo importante, espero que seja uma solução fácil :-)

Qualquer ajuda é apreciada, obrigado ! Scott

ROTAÇÃO

# route -n  
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

INFO IP

# ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether b8:ac:6f:16:70:c7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::baac:6fff:fe16:70c7/64 scope link 
       valid_lft forever preferred_lft forever

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether b8:ac:6f:16:70:c9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.2/24 brd 192.168.2.255 scope global eth1
    inet6 fe80::baac:6fff:fe16:70c9/64 scope link 
       valid_lft forever preferred_lft forever
Scott
fonte
Boa primeira pergunta!
Slm

Respostas:

9

Você precisa criar uma rota de caminhos múltiplos ou ativar um protocolo de roteamento dinâmico (ospf, isis).

Exemplo de caminho múltiplo:

ip route del default via 192.168.1.1 dev eth0
ip route add default scope global nexthop via 192.168.1.1 dev eth0 weight 1 \
        nexthop via 192.168.2.1 dev eth1 weight 1
rhasti
fonte
Se alguém acaba aqui pesquisando; adicioná-lo ao /etc/rc.d/rc.local torna permanente
Scott