Estou surpreso que ninguém tenha mencionado o comando simples de fazer isso: ifmetric
. Pode ser instalado usando sudo apt-get install ifmetric
. Este comando pode ser usado para alterar a métrica de qualquer interface. A interface com métrica mais baixa é preferida para a Internet.
Para usar isso, consulte primeiro as métricas usando o route
comando:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 10.42.0.2 0.0.0.0 UG 600 0 0 wlan0
Aqui, eth0
tem métrica mais baixa, portanto será preferível a wlan0
. Se você preferir wlan0
, diminua sua métrica:
sudo ifmetric wlan0 50
Agora, a tabela de roteamento ficaria assim:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.2 0.0.0.0 UG 50 0 0 wlan0
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
Agora o Linux estará usando wlan0
para Internet. A alteração será refletida imediatamente.
crontab -e
e, em seguida, adicione a linha no final:@reboot sudo ifmetric wlan0 50
.Definir as métricas é como você altera as prioridades. A métrica mais alta é mais "cara" de usar, portanto o sistema operacional usará as interfaces com a menor métrica se precisar rotear o tráfego. Caso a interface métrica mais baixa seja desligada, ela usará a interface métrica mais alta, pois é a única interface que pode ser usada para rotear o tráfego em direção àquela rede / destino específico.
As métricas são especificadas no arquivo / etc / network / interfaces , pontos de link para a documentação.
Use qualquer editor de texto para editar o arquivo, identificar as redes e apenas alterar o
metric
parâmetro e salvar. Reiniciar é a maneira mais simples de redefinir todos os valores sem entrar nos detalhes nerds de reiniciar os serviços de rede.fonte
A priorização de interfaces para o tráfego geral é feita através da manipulação das métricas de roteamento. Cada rota possui parâmetros associados, como contagens de saltos e larguras de banda. Veja a opção "métrica" na página de manual para
route
comando.Priorizar o acesso do aplicativo aos recursos de rede é frequentemente abordado por "modelagem de tráfego" - eu usaria um mecanismo de pesquisa na web para ver se o Ubuntu ou o roteador podem fazer isso.
Nota de rodapé.
Em MS Windows, mas não no Linux, o
netstat -nr
comando emite as mesmas informaçõesroute print
. Incluindo as métricas de roteamento.fonte
Ainda não experimentei, mas o NCD (Network Configuration Daemon - 1) pode ser usado para esse fim. O site pretende facilitar a configuração da rede. A sintaxe parece ser simples.
# Aguarde alguma conexão de rede. Prefira eth1 colocando-o na frente de eth0.
nomes de lista ("NET-eth1", "NET-eth0");
(1) - http://code.google.com/p/badvpn/wiki/NCD
fonte
pnames
lista é de fato apenas um argumento para amultidepend()
afirmação na próxima linha - esse é o que implementa as prioridades. O mecanismo por trás disso é que, quandoeth1
surgir quandoeth0
já estiver ativo, ele será executadomultiprovide("NET-eth1");
, porqueNET-eth1
está na frenteNET-eth0
,multidepend()
será desativado e restaurado imediatamente, mas expondo variáveis doeth1
processo em vez deeth0
.Isso é tudo por causa das métricas de rota. Você deseja excluir a rota padrão com a métrica mais baixa e, em seguida, restabelecer a rota antiga com a métrica mais alta. Por favor, siga os comandos abaixo.
Digamos que sua tabela de roteamento fique assim:
Agora exclua o gateway padrão
Agora, restaure o gateway padrão mais antigo (observe que, nesse caso, a métrica é superior a 102 do que a rota padrão atual 101)
fonte
Gateway
=10.16.87.254
, que é a que temUG
mais baixaMetric
, e a etapa 2 a coloca de volta com uma maior,Metric
por isso ainda disponível como backup, caso192.168.151.2
esteja indisponível.[Atualização] A partir do Ubuntu 18.04 LTS (servidor),
netplan
é o wrapper padrão para gerenciamento de rede. A configuração do Netplan é feita por meio de um arquivo YAML , por padrão/etc/netplan/01-netcfg.yaml
(mais detalhes aqui ).A métrica de roteamento é definida pela
metric
opção " ", que espera um número inteiro positivo (100
geralmente o valor padrão). Aqui está o exemplo da página de referência:A rota com o menor
metric
(comprimento do caminho) se torna o gateway "preferido". (Use:sudo netplan try
para ativar as alterações)Observe que em um ambiente de roaming (várias conexões, ativando e desativando), convém definir o
optional
parâmetro (booleano) comotrue
(o padrão é false):Observe a sintaxe ligeiramente diferente para a métrica da rota no caso de conexões DHCP.
Você também pode usar
NetworkManager
como renderizador, o que suponho (ainda não me testei) permitiria ver / editar essa parte da configuração também por meio de ferramentas da GUI.(O último exemplo "grande" na página de referência mostra um uso híbrido de ambos os renderizadores).
Veja também esta pergunta (askubuntu) .
fonte