Como adicionar rota automaticamente ao conectar-se a uma LAN sem fio?

Como adicionar rota automaticamente ao conectar-se a uma LAN sem fio?

Eu tenho um dispositivo Beaglebone Black que usa Debian 9.9 Linux (sem UI, estou usando terminal para isso). (imagem mais recente de Beaglebone Blackhttps://beagleboard.org/latest-images)

Ativei e conectei com sucesso ao wifi usando conmannctl. (https://fis.gatech.edu/how-to-configure-bbw-wifi/)

Quando me conectei ao wifi, não consigo fazer ping externamente (8.8.8.8 ou www.google.com).

Preciso adicionar manualmente a rota via: rota ip adicionar padrão via 192.168.1.1 dev wlan0 e será capaz de se conectar externamente. Meu intervalo de IP em casa é 192.168.1.x

Gostaria de experimentar e usar isso em um local com faixa de IP WLAN diferente por exemplo 192.168.10.x, com isso preciso rodar rota ip adicionar padrão via 192.168.10.1 dev wlan0

Estou procurando uma maneira de conectar-me a outro local com faixa de IP WLAN diferente, sem a necessidade de digitar e adicionar a rota ip.

Eu estava pesquisando isso desde ontem, mas parece que não consigo fornecer a interface apenas para o comando ip route add, e o IP sempre precisa ser fornecido. (ou talvez eu não esteja encontrando as palavras-chave certas do Google.)

Existe uma maneira de configurar a rota automaticamente sempre que eu me conectar à interface (LAN sem fio)? Também tentei conectar um USB à LAN, e também preciso emitir manualmente um comando ip route para poder conectar externamente.

Atualmente, estou pensando em criar um script python para fazer análise de regex na saída ifconfig e obter os três primeiros números do IP em wlan0 (por exemplo, 192.168.10) e, em seguida, adicionar .1, então usarei isso para executar um comando ip route add dentro do python.

Embora eu esteja pensando se existe um processo Linux integrado para isso, já que quando me conecto ao Wifi na minha máquina Ubuntu (usando a UI), posso navegar imediatamente na Internet assim que o wifi estiver conectado.

Responder1

A maneira usual de resolver isso é executar um servidor DHCP em cada segmento da LAN e um cliente DHCP em cada máquina que se conecta a esse segmento da LAN.

OProtocolo DHCPpermite distribuir informações de roteamento como o gateway padrão e também outras informações como servidores DNS para usar.

Como funciona na sua máquina Ubuntu, provavelmente existe um servidor DHCP rodando no segmento WLAN (muito provavelmente no AP).

Portanto, tente executar um cliente DHCP em seu Beaglebone (o que quer que a distribuição Beaglebone use, dhclienté frequentemente usado em distros) e veja se você consegue alguma coisa.

Em seguida, configure seu Beaglebone para fazer isso automaticamente na conexão (há várias maneiras de fazer isso, dependendo do que mais está sendo executado em sua distribuição Beaglebone).

informação relacionada