Como definir a interface de rede preferida no linux

7

Eu tenho minha rede configurada assim. link

Em palavras: Eu tenho uma máquina (Calcium, rodando o Arch Linux) que possui duas interfaces de rede. eth0 é assado em um roteador e é gigabit. A Eth1 está conectada diretamente à rede da universidade acima de 10Megabit. O uplink do roteador também está ligado à rede da universidade e também é 10Megabit.

Atualmente (acredito) todo o tráfego no Calcium passa pela eth0, através do roteador, independentemente de ser interno ou externo. (Como posso confirmar isso?)

Idealmente, o tráfego que é destinado à rede interna (192.168.10.0/24) passaria pela eth0 para o roteador e para onde quer que fosse. TODO outro tráfego deve passar por eth1.

    
por Mike Cooper 17.03.2010 / 20:55

2 respostas

8

Sua tabela de roteamento de rede determinará como os pacotes serão roteados. Você pode adicionar rotas adicionais ou alterar o gateway padrão para afetar o roteamento.

Se você precisar de assistência adicional, forneça sua tabela de roteamento.

Para exibir a tabela de roteamento:

/sbin/route -n

Para excluir o padrão gw:

/sbin/route del default gw $IP

Para adicionar o padrão gw:

/sbin/route add default gw $IP

Para detalhes adicionais, confira a manpage. Existem outras maneiras de manipular e exibir a tabela de roteamento também.

netstat -r para exibição e ip para manipular ainda mais.

    
por 17.03.2010 / 21:04
11

Aqui está a resposta completa, caso isso ajude os outros:

Para criar pacotes com destinos 192.168.10. * use eth0, e todos os outros pacotes usam eth1:

1) Veja sua tabela de roteamento atual

ip route list

Uma entrada será algo como "padrão via 192.168.1.1", onde 192.168.1.1 é o endereço IP do seu roteador (a.k.a. gateway). Lembre-se dos gateways para eth0 e eth1, pois precisaremos deles mais tarde.

2) Exclua as rotas padrão. (Atenção: isso vai te chutar offline.)

ip route del default

3) Adicione uma nova rota padrão (isso o trará de volta online). Substitua 192.168.1.1, abaixo, pelo endereço IP do seu gateway acima.

ip route add default via 192.168.1.1 dev eth1

4) Adicione uma rota específica que será atendida pela eth0. Rotas mais específicas têm precedência sobre as menos específicas.

ip route add 192.168.10.0/24 via 192.168.1.1 dev eth0

Finalmente, você pode perguntar ao Linux qual interface será usada para enviar um pacote para um endereço IP específico:

ip route get 8.8.8.8

Se a configuração funcionou, os pacotes para 8.8.8.8 (servidor do Google) usarão eth1. Pacotes para qualquer ip na sua rede local:

ip route get 192.168.10.7

usará eth0.

    
por 07.03.2017 / 06:16