Batman-adv uevent

Fonte: wirelesspt.net

Uma das situações potencialmente problemáticas em redes mesh quer sejam auto-reorganizáveis ou não como por exemplo em wds deve-se a alterações de funcionalidade dos seus gateways e ao seu estado de funcionamento quando estão activos ou não como servidores de serviço do ISP.

Quando o ponto de acesso wireless simplesmente desaparece da rede quer seja devido a avaria, falha de corrente ou reconfiguração numa rede mesh que utilize um protocolo de roteamento automático; os restantes APs clientes automaticamente vão procurar outro ponto de acesso wireless que esteja a anunciar-se na rede como servidor gateway e estabelecer ligação ao mesmo continuando assim a distribuir acesso wireless à internet sem quebras de serviço na rede.

Problema de roteamento

Enquanto no cenário descrito em cima a rede continuará a funcionar correctamente o mesmo já não acontece quando o ponto de acesso wireless que funciona como servidor gateway se mantém activo mas tendo perdido acesso à internet devido a outros factores aqui descritos como por exemplo:

Neste cenário o servidor continua a atribuir IP ao ponto de acesso wireless cliente, mas não estabelece ligação ao ISP

Solução

Com o cenário problemático em cima descrito existem duas formas de resolver o evento sendo uma manualmente quando o administrador de rede toma conhecimento do caso e outra de forma automática utilizando Batman-adv uevents para reconfigurar o router em questão e reorganizar a rede automaticamente. A funcionalidade Batman-adv uevent está disponível desde batman-adv 2011.3.0.

Resolver manualmente

Após a detecção do problema é necessário reconfigurar a forma como o batman-adv se anuncia na rede alterando o seu broadcast de server para client:

uci set batman-adv.bat0.gw_mode=client ;
uci commit batman-adv ;
batman-adv restart ;

Após a inserção destes comandos o ponto de acesso wireless deixará de ser servidor/gateway e passará a ser cliente levando o resto da rede a reorganizar-se e voltar á normalidade.

Adicionalmente e dependentemente de como topologia a rede está criada em termos de serviço dhcp poderá ser necessário reconfigurar o dhcp para que o ponto de acesso wireless deixe também de ser servidor dhcp.

uci set dhcp.lan.force=0 ;
uci set dhcp.lan.ignore=1 ;
uci commit dhcp ;
/etc/init.d/dnsmasq restart ;

A fim de facilitar este processo; poderão ser criados dois scripts com um editor de texto para configurar o ponto de acesso wireless como gateway ou cliente de forma rápida:

vi /bin/modo-gateway

e inserir:

uci set batman-adv.bat0.gw_mode=server ;
uci commit batman-adv ;
batman-adv restart ;
uci set dhcp.lan.force=1 ;
uci set dhcp.lan.ignore=0 ;
uci commit dhcp ;
/etc/init.d/dnsmasq restart ;

no final tornar o script executável:

chmod +x /bin/modo-gateway

Criando o script para o modo cliente:

vi /bin/modo-cliente

e inserir:

uci set batman-adv.bat0.gw_mode=client ;
uci commit batman-adv ;
batman-adv restart ;
uci set dhcp.lan.force=0 ;
uci set dhcp.lan.ignore=1 ;
uci commit dhcp ;
/etc/init.d/dnsmasq restart ;

no final tornar o script executável:

chmod +x /bin/modo-cliente

A partir deste momento necessitamos apenas de evocar/digitar o comando modo-gateway ou modo-cliente na linha de comandos do router para proceder à modificação manualmente.

Utilizando uevent

Utilizando o uevent podemos fazer uso dos scripts em cima criados e criar interacção com o uevent se assim desejar-mos. O uevent pode ser ainda utilizado de outra forma.

Ver como utilizar uevents

Utilizando outras formas

Ver: batman adv auto gw mode

Links externos

Editor

--Cmsv (discussão) 18h14min de 27 de Abril de 2013 (GMT)