A conexão WAN do meu roteador está configurada para se conectar a uma rede WiFi pública baseada em assinatura. Estou efetivamente estendendo uma rede WiFi pública.
Eu determinei que a rede pública tem três pontos de acesso diferentes no alcance do meu roteador (todos usando o mesmo SSID, mas em canais diferentes)
Eu determinei que um dos APs WiFi públicos para o SSID WiFi público está com defeito. A conexão WAN do meu roteador fica entre os bons APs sem problemas, mas quando ele passa para o ponto de acesso ruim, o acesso à Internet cai até que o roteador retorne a um dos bons pontos de acesso.
Eu identifiquei os endereços MAC dos bons e maus APs.
Dado que a rede WiFi pública não está sob meu controle, existe alguma maneira do meu roteador bloquear / bloquear o ponto de acesso com defeito usando seu endereço MAC?
Meu roteador é Netgear WNDR3700v4, e eu pisquei com o DD-WRT 06-23-2014-r24461
link
A opção ap
para iwconfig
parece promissora:
man iwconfig(8) ap
Force the card to register to the Access Point given by the
address, if it is possible. This address is the cell identity of
the Access Point, as reported by wireless scanning, which may be
different from its network MAC address. If the wireless link is
point to point, set the address of the other end of the link. If
the link is ad-hoc, set the cell identity of the ad-hoc network.
When the quality of the connection goes too low, the driver may
revert back to automatic mode (the card selects the best Access
Point in range).
You may also use off to re-enable automatic mode without
changing the current Access Point, or you may use any or auto to
force the card to reassociate with the currently best Access
Point.
Example :
iwconfig eth0 ap 00:60:1D:01:23:45
Mesmo quando você configura manualmente o ponto de acesso para se conectar, a conexão ainda faz roaming no AP não autorizado.
Eu tentei usar as opções "Wireless MAC Filter" em Wireless-Security no painel de controle do DD-WRT e, embora elas salvem, elas não parecem ter nenhum efeito. Eu suspeito que isso acontece porque o adaptador está no modo cliente, então as configurações não são aplicáveis.
Eu também tentei vários comandos iw
assim:
iw dev ath0 station del aA:BB:CC:DD:EE:FF
Eu derrubei /proc/net/
na esperança de encontrar algo para ler e escrever valores de e para, mas ainda sem sorte.
Em exibição:
iw dev ath0 disconnect
causa uma redefinição de conexão e, em meu teste, o adaptador sempre se reconecta automaticamente a um dos bons pontos de acesso. Mas, depois de um tempo indeterminável, o adaptador volta para o ponto de acesso ruim e o acesso à Internet é interrompido.
A única solução que posso ver no momento é escrever meu próprio gerenciador de conexões, mas sem descobrir como usar as ferramentas para fazer isso corretamente, será difícil.