Melhor prática para preferir a interface de rede que realmente possui internet?

Melhor prática para preferir a interface de rede que realmente possui internet?

Eu tenho um dispositivo incorporado onde tenho três conexões de rede, eth0, wwan0 e wlan0. wwan0 é uma conexão medida, então geralmente prefiro eth0 ou wlan0. O problema é que a qualquer momento qualquer interface pode ser conectada, mas não conseguir acessar a Internet. Por vários motivos, qualquer interface pode não estar presente. Neste caso minha tabela de roteamento não faz o que eu quero. Existe uma maneira melhor de lidar com isso do que um script que verifica e modifica constantemente a tabela de roteamento? Parte do problema é que existem muitas combinações e permutações de disponível, não disponível, sem internet, etc.

Responder1

Como você percebeu, existem muitas possibilidades. Existem alguns obscuros, por exemplo: “tem internet, mas só os servidores de teste estão indisponíveis”, e podem estar indisponíveis porque todos falharam ou foram bloqueados pelo governo. Também é possível que “metade” da Internet esteja acessível através de um ISP e a “outra metade” esteja inacessível; mas outro ISP tem o quadro "invertido". (Confie em mim ou não, já vi essa situação uma vez.) Qual você declara como “ter internet”?

Esta é uma pergunta muito difícil, é por isso que existe todo um nicho de negócios para roteadores SOHO que são, mais ou menos, capazes de tomar decisões em diversas situações, e geralmente não são muito fáceis de configurar para que possam tomar uma decisão.bom o bastantedecisão. É também por isso que todo aquele negócio de BGP no mundo das telecomunicações.

Então, como você vê, não, você não pode fazer nada melhor e mais eficiente do que o script. Não sei por que você quer isso, mas para a máquina desktop/usuário final, acho que não vale a pena automatizar isso. Para o roteador Linux eu faria uma configuração padrão de acesso dividido com RPDB e rotas padrão através de cada link com métricas altas, na ordem de preferência, e então o script apenas definirá ou atualizará a rota padrão com métrica baixa com base em pings a, digamos, cinco pontos de teste distribuídos geograficamente, cuidadosamente selecionados (os mais acessados ​​ou importantes).

informação relacionada