Linux Red-hat 6 Prioridade da interface do gerenciador de rede

1

Tenho uma dúvida sobre o Red Hat 6 Enterprise Network Manager (NM):

Meu Linux está conectado a duas interfaces de rede.

1 - eth0: Ethernet normal conectada à LAN da empresa

2 - eth1: um dongle USB conectado a uma rede celular (CDC-ECM)

A interface eth0 está sempre conectada e a interface eth1 não é permanente (a conexão pode entrar e sair)

Quando ambos conectados, o NM dá prioridade a eth0. Ou seja, a rota padrão (0.0.0.0) é sempre definida através dela.

Eu quero mudar a política de NM que dará maior prioridade a eth1. Quando a interface eth1 não está conectada, a rota padrão deve ser definida através da interface eth0 e, quando a eth1 é conectada, a rota padrão deve passar pela eth1.

Eu procurei na net como fazer isso e joguei com os arquivos NM e ifcfg-eth0 / ifcfg-eth1 (tentei DEFROUTE e outras opções), mas não consegui fazê-lo funcionar.

Alguém pode sugerir qual deve ser a maneira correta de usar o NM?

Obrigado!

    
por Kimel 14.04.2015 / 14:54

2 respostas

0

Editar: adicione a solução do OP a partir dos comentários:

  • Remover eth0 (com fio) do NM
    • NM_CONTROLLED = não
  • Left eth1 (wireless) controlado.
    • O padrão quando NM_CONTROLLED é omitido
  • Defina eth1 METRIC = 20
  • Produz 2 rotas padrão em que eth1 tem precedência

Resposta:

O Network Manager pode sempre escolher sem fio ou com fio como principal (com base em outras perguntas aqui), o que parece incluir interações com a métrica da rota e dhcp, anúncios de roteador (onde o NM seguiu uma métrica de 1) , interface up / down e específicos do RedHat.

Supondo que você esteja usando: o DHCP pode redefinir sua rota para a "melhor", de acordo com a métrica da rota¹. Valores de métrica mais altos são mais "caros", então as métricas menos onerosas são preferidas. Na lista do Network Manager aqui , observa-se que as métricas sem fio do dhcp são penalizadas + 100, e os desenvolvedores de NM dizem que o NM deve escolher apenas o caminho certo, mas também que as métricas podem ser o melhor método de dispositivo. Não tenho certeza se isso se aplica à sua eth1, mas você pode controlá-la:

Trocando os números (10 e 20) de esta resposta para suas interfaces, fico:

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
METRIC=20

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
METRIC=10

Essa resposta diz que isso deve preferir sem fio e realizar um failover elegante entre as interfaces.

Se você quiser que o NM selecione como os devs pretendem, as palavras-chave da interface do GMambaG também são consideradas no Documentos do RedHat para rotas estáticas , que detectam problemas inesperados ao usar vários gateways + GATEWAYDEV. Para testar isso, inicie as duas interfaces e tente retomar as operações depois de remover eth1. Se você tiver problemas (como tempos limite intermitentes), poderá recuperar-se removendo suas alterações e reiniciando a rede:

$ sudo service network restart

Se tudo mais falhar, os anúncios do roteador (tipos ICMP 9 e 10, eu acho) podem estar afetando suas tabelas de rotas; coordene com o administrador da rede antes de tentar bloqueá-los.

Editar: Reduzido o texto desta resposta, colocou a solução do OP no topo.

¹ Se você não estiver usando o DHCP, você terá um gateway manual. Este artigo sugere o uso de NM_CONTROLLED="no" para impedir que o NM mude automaticamente para o gateway dessa interface.

    
por 14.04.2015 / 21:05
1

A Red Hat usa a última interface como o dispositivo de gateway padrão.

Para definir eth1 como o padrão, adicione isso a /etc/sysconfig/network :

GATEWAYDEV=eth1

Veja: link

Ele deve ser processado em todas as chamadas ifup . Você pode verificar as rotas com ip route show

    
por 14.04.2015 / 15:32