Minhas perguntas gerais são como garantir que um sistema Ubuntu 24.04 use apenas a interface de rede de maior prioridade (onde eu mesmo defino a prioridade)? De preferência de uma forma amigável e "oficial"?
Para deixar mais claro o que quero dizer, este é meu caso de uso específico: eu executo o Ubuntu 24.04, muito stock usando o ambiente de desktop Gnome padrão e o Network Manager responsável pelas redes, em um laptop HP antigo que tem apenas um módulo Wifi de 2,4 GHz. Ele tem uma porta Ethernet com fio, e eu também tenho um dongle USB Wifi de 5 GHz. O que eu quero é isto:
- Se a porta Ethernet com fio estiver conectada, use somente ela e não se preocupe com nenhuma porta Wifi.
- Se o dongle USB estiver conectado, use-o para conectar a um ponto de acesso Wifi de 5 GHz (obviamente com credenciais pré-armazenadas)
- Em outros casos, use o módulo Wifi interno de 2,4 GHz para conectar a um AP Wifi de 2,4 GHz
Além disso, gostaria de uma maneira "fácil de usar" de consertar isso para que os membros não técnicos da casa possam simplesmente conectar o dongle USB se quiserem uma cobertura melhor.
O que acontece é que ambos os adaptadores Wi-Fi recebem um endereço IPv4 válido e ambos acabam na tabela de roteamento.
Para esclarecer, tanto o Wi-Fi interno quanto o dongle Wi-Fi USB funcionam, mas o problema é que ambos se conectam ao mesmo tempo a dois SSIDs diferentes na mesma sub-rede IPv4, e o link de 2,4 GHz é muito instável (devido a muitos vizinhos com APs Wi-Fi de 2,4 GHz cujos sinais chegam à minha casa).
Eu tentei ou considerei essas coisas:
- Desabilitando o módulo Wifi interno usando os diálogos de configurações. Isso acabou desabilitando tanto o módulo interno quanto o dongle USB Wifi. Não funciona.
- Usando
rfkill
para desabilitar o módulo interno - Mas isso também tem o efeito de desabilitar o dongle USB Wifi, mesmo quando bloqueia apenas o módulo interno de 2,4 GHz. Suponho que seja o NetworkManager que interpreta qualquer dispositivo Wifi bloqueado para bloquear todos eles. Não funciona. - Excluindo as rotas que envolvem o módulo Wifi de 2,4 GHz, usando
ip route del
. Isso funciona, no sentido de que as conexões com os APs Wifi permanecem, mas nenhum tráfego é roteado pelo link de 2,4 GHz. Isso funciona, mais ou menos, mas as rotas são adicionadas novamente se o laptop alternar para outro AP, então não é uma solução estável a longo prazo. - Usando
ip link set dev DEVICE down
a interface Wifi de 2,4 GHz, quando um dispositivo de 5 GHz é detectado. Esta é quase a mesma solução que excluir as entradas de roteamento acima, não testei isso, mas deve funcionar, a menos que o Network Manager as atualize novamente. - Colocar o driver para o módulo interno na lista negra. Não será uma solução viável, já que não é aceitável reinicializar toda vez que o dongle USB Wifi for conectado/removido.
- Excluindo todas as credenciais de AP de 2,4 GHz. Não é aceitável, pois quero que o laptop seja "perfeitamente" utilizável mesmo se o dongle USB Wifi for removido.
Existe algum método completamente diferente que eu esteja esquecendo? Se não, acho que é necessário um script que monitore o estado dos vários adaptadores, que use comandos ip route
/ ip link
para desabilitar as interfaces de menor prioridade sempre que interfaces de maior prioridade forem detectadas. Percebo que isso impede ter diferentes adaptadores de rede conectados a diferentes redes, mas se eu tiver esse caso de uso específico, vou resolver isso então.
Configuração avançada de rede
Esse é o nome do aplicativo que você está procurando. Procure por Advanced Network Configuration, também chamado de Network Connections , e abra o aplicativo. Você verá algo assim:
Você poderá configurar as configurações da conexão Ethernet e das duas conexões WiFi. Observe que as conexões WiFi não serão identificadas por suas frequências de rádio, 5 GHz e 2,4 GHz. Elas podem ser chamadas de algo como
Dê a maior prioridade à Ethernet
Dê prioridade média ao WiFi de 5 GHz
Siga os mesmos passos acima para o AP do WiFi de 5 GHz.
Dê a menor prioridade ao WiFi de 2,4 GHz
Como o padrão é 0, você não precisa alterar nada, desde que os outros dois tenham maior prioridade.
Esclarecimento
Os números reais não são importantes, desde que a Ethernet tenha o valor mais alto e o WiFi de 5 GHz tenha o valor médio. Números mais altos têm prioridade mais alta.
Neste exemplo:
Espero que isso ajude