Como definir a interface de rede preferida no linux


19

Eu tenho minha rede configurada assim. http://docs.google.com/Doc?docid=0AZ1YxuLE4djaZGhqN2s1NmRfMjhjNjc0Ym1meg&hl=en

arquitetura de rede atual

Em palavras: eu tenho uma máquina (Calcium, executando o Arch Linux) que possui duas interfaces de rede. eth0 é acumulado em um roteador e é gigabit. O Eth1 é conectado diretamente à rede da universidade por mais de 10Megabit. O uplink do roteador também está conectado à rede da universidade e também é 10Megabit.

Atualmente (acredito) todo o tráfego no Calcium está passando pelo eth0, pelo roteador, independentemente de ser interno ou externo. (Como posso confirmar isso?)

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


Tags adicionadas: rota de roteamento tcpip
Warner

Seu documento do Google não ajuda muito aqui se você não conceder permissões às pessoas para acessá-lo.
Zoredache

Desculpe. Eu pensei em torná-lo público, mas os documentos do Google não pareciam se lembrar da minha configuração. Deve estar acessível agora.
Mike Cooper

Respostas:


13

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

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

Para exibir a tabela de roteamento:

/sbin/route -n

Para excluir o gw padrão:

/sbin/route del default gw $IP

Para adicionar gw padrão:

/sbin/route add default gw $IP

Para detalhes adicionais, consulte a página de manual. Existem outras maneiras de manipular e exibir a tabela de roteamento também.

netstat -rpara exibir e ipmanipular mais.


29

Aqui está a resposta completa, caso ajude outras pessoas:

Para criar pacotes com os 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", em que 192.168.1.1 é o endereço IP do seu roteador (também conhecido como gateway). Lembre-se dos gateways para eth0 e eth1, pois precisaremos deles mais tarde.

2) Exclua as rotas padrão. (Aviso: isso o expulsará offline).

ip route del default

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

ip route add default via 192.168.1.1 dev eth1

4) Adicione uma rota específica que será servida por eth0. Rotas mais específicas têm precedência automaticamente sobre rotas 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.