Adicionando uma rota para um host específico, saia de uma interface específica

3

Eu tenho uma máquina Linux Red Had com dois NICs:

  • eth0 - 10.0.1.253 | 255.0.0.0
  • eth1 - 10.0.1.1 | 255.255.255.0

Portanto, o primeiro está em uma sub-rede de classe A, o segundo está em uma sub-rede de classe C.

Esta é a aparência da minha tabela de roteamento:

Destination  Gateway   Genmask        Flags Metric Ref Use Iface
10.0.1.0     *         255.255.255.0  U     0      0     0 eth1
link-local   *         255.255.0.0    U     1002   0     0 eth0
10.0.0.0     *         255.0.0.0      U     0      0     0 eth0
default      10.0.0.1  0.0.0.0        UG    0      0     0 eth0

As duas NICs estão conectadas a segmentos de LAN físicos (na verdade, virtuais) separados e eu tenho um host conectado ao mesmo segmento de rede local que a eth0 está com IP 10.0.1.3 | 255.0.0.0 mas não consigo pingar desta máquina porque parece estar ficando confuso e enviando eth1. Quando eu desabilito o eth1 para forçar o pacote a sair do eth0 ele se conecta, mas eu preciso dos dois habilitados.

Estou pensando que a solução é adicionar uma rota manual ao meu host 10.0.1.3 para forçá-lo a passar pela eth0. Não tenho certeza se as informações acima que o comando seria para manualmente a rota. Basicamente eu preciso enviar qualquer tráfego para 10.0.1.3 fora eth0. Qualquer ajuda seria ótima !!

    
por Andy Arismendi 11.01.2013 / 13:11

2 respostas

4

# route add -host 10.0.1.3 dev eth0

    
por 11.01.2013 / 13:17
4

Em uma máquina mais nova usando o binário ip , a sintaxe para adicionar uma rota é um pouco diferente (mas felizmente realmente consistente para hosts / redes / etc).

ip route add 10.0.1.3 via 10.0.0.1 dev eth0

Se você fosse adicionar uma nova rota padrão para uma nova rede 10.0.2.0 através da interface eth1 , poderia ser algo assim.

ip route add 10.0.2.0/24 via 10.0.1.1 dev eth1

Fonte: link

    
por 19.07.2017 / 20:12