Bridging: Perdendo a conexão de rede WLAN com a opção 4addr on - Por quê?

7

Pergunta:
Para uso com minha VM Xen, eu preciso criar uma interface de rede virtual (vif) que seja conectada a wlan0.

Se em / etc / network / interfaces eu adicionar

auto xenbr0
       iface xenbr0 inet dhcp

E depois fazer

  

brctl addif xenbr0 wlan0

Eu recebo esta mensagem de erro.

can't add wlan0 to bridge xenbr0: Operation not supported

Descobri que o Linux não permite que você conecte uma interface sem fio no modo gerenciado, a menos que você ative a opção 4addr (necessária para recompilar o iw):

iw dev wlan0 set 4addr on

Depois

brctl addif xenbr0 wlan0

funciona, e brctl show mostra xenbr0 como ponte para wlan0.

Infelizmente, assim que eu executar

iw dev wlan0 set 4addr on

minha conexão de rede inteira se foi (sem conexão). Assim que eu executar

iw dev wlan0 set 4addr off

Eu reconecto e funciona novamente. Se eu executar novamente o 4addr, ele quebrará novamente, se eu executar o 4addr off, ele funcionará novamente.

Infelizmente, não consigo ativar o 4addr, ativar a ponte e desativá-la (erro: dispositivo não está pronto).

Alguém sabe por que perdi minha conexão?

    
por WitchCraft 23.06.2012 / 18:20

2 respostas

9

Encontrou uma resposta aqui: link

iw dev wlan0 set 4addr on
     

No entanto, com 4addr habilitado, é provável que você seja completamente ignorado pelo AP: a associação é bem-sucedida, mas todos os quadros de dados desaparecem no éter. Isso pode ser por razões de segurança (porque é muito difícil falsificar o endereço MAC de origem. Sim.) No meu roteador (executando OpenRG), é necessário habilitar o modo "WDS" para a interface AP sem fio, adicionar um dispositivo WDS restrito ao meu endereço MAC do laptop e adicioná-lo à ponte LAN. Pacotes 4addr agora funcionam.

     

Há outro problema com isso - o roteador agora rejeita os pacotes de três endereços do laptop, o que pode ser bastante inconveniente (ter que alternar o 4addr toda vez que a rede WLAN for alterada). A solução alternativa é adicionar, no laptop, uma segunda interface sem fio vinculada ao mesmo dispositivo, mas com um endereço MAC diferente:

# undo the earlier configuration
iw dev wlan0 set 4addr off


# add a second interface
iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up
     

Aqui $ ADDR deve corresponder ao endereço do dispositivo WDS configurado no roteador; Além disso, pode ser qualquer endereço MAC válido. O MAC original de wlan0 então permanece para uso "normal".

     

É possível usar wlan0 e wds.wlan0 ao mesmo tempo - embora eu tenha testado apenas a associação ao mesmo AP duas vezes, e não a diferentes APs.

    
por fmo 28.10.2012 / 11:31
4

Em determinadas circunstâncias, você também pode usar o wlan_kabel. Ele usa soquetes de pacotes para conectar diretamente os dispositivos wlan * com dispositivos ethernet. No entanto, você só pode unir um único MAC por vez com wlan_kabel. Ele não tem a desvantagem de ser barrado por pontos de acesso, porque somente o MAC original do dispositivo wlan é usado.

No seu caso, isso significaria que wlan0 só poderia ser usado por uma VM e nem mesmo pelo host.

Você pode obter o wlan_kabel aqui .

    
por escitalopram 02.04.2013 / 20:57