# route add -host 10.0.1.3 dev eth0
Eu tenho uma máquina Linux Red Had com dois NICs:
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 !!
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
Tags networking routing linux