Bridging: perdere la connessione di rete WLAN con l'opzione 4addr on - Perché?


9

Domanda:
per l'uso con la mia macchina virtuale Xen, devo creare un'interfaccia di rete virtuale (vif) collegata a wlan0.

Se in / etc / network / interfaces aggiungo

auto xenbr0
       iface xenbr0 inet dhcp

E poi dopo

brctl addif xenbr0 wlan0

Ricevo questo messaggio di errore.

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

Ho scoperto che Linux non ti permetterà di collegare un'interfaccia wireless in modalità gestita a meno che tu non abiliti l'opzione 4addr (necessaria per ricompilare iw):

iw dev wlan0 set 4addr on

in seguito

brctl addif xenbr0 wlan0

funziona e brctl show mostra xenbr0 come un ponte su wlan0.

Sfortunatamente, non appena eseguo

iw dev wlan0 set 4addr on

la mia intera connessione di rete è sparita (nessuna connessione). Non appena eseguo

iw dev wlan0 set 4addr off

Mi riconnetto e funziona di nuovo. Se eseguo nuovamente 4addr, si interrompe di nuovo, se eseguo 4addr, funziona di nuovo.

Sfortunatamente, non posso semplicemente accendere 4addr, attivare il bridge e quindi spegnerlo (errore: dispositivo non pronto).

Qualcuno sa perché perdo la mia connessione?

Risposte:


14

Hai trovato una risposta qui: http://nullroute.eu.org/~grawity/journal.html#post:20110826

iw dev wlan0 set 4addr on

Tuttavia, con 4addr abilitato, è probabile che tu venga completamente ignorato dall'AP: l'associazione ha esito positivo ma tutti i frame di dati scompaiono nell'etere. Questo potrebbe essere per motivi di sicurezza (perché è dannatamente difficile falsificare l'indirizzo MAC di origine. Sì.) Nel mio router (con OpenRG), è necessario abilitare la modalità "WDS" per l'interfaccia AP wireless, aggiungere un dispositivo WDS limitato al mio indirizzo MAC del laptop e aggiungerlo al bridge LAN. I pacchetti di 4addr ora funzionano.

C'è un altro problema con questo, però: il router ora rifiuta i pacchetti a tre indirizzi dal laptop, il che può essere piuttosto scomodo (dover attivare 4addr ogni volta che viene cambiata la rete WLAN). La soluzione alternativa è aggiungere, sul laptop, una seconda interfaccia wireless collegata allo stesso dispositivo, ma con un indirizzo MAC diverso:

# 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

Qui $ ADDR deve corrispondere all'indirizzo del dispositivo WDS configurato nel router; a parte questo, può essere qualsiasi indirizzo MAC valido. Il MAC originale di wlan0 rimane quindi per un utilizzo "normale".

È possibile utilizzare contemporaneamente wlan0 e wds.wlan0, anche se ho provato ad associarmi allo stesso AP solo due volte, non a AP diversi.


5

In determinate circostanze, è anche possibile utilizzare wlan_kabel. Utilizza socket di pacchetti per collegare direttamente i dispositivi wlan * con dispositivi Ethernet. Tuttavia, è possibile collegare un solo MAC alla volta con wlan_kabel. Non ha lo svantaggio di essere bloccato dai punti di accesso, perché viene utilizzato solo il MAC originale del dispositivo wlan.

Nel tuo caso ciò significherebbe che wlan0 poteva essere utilizzato da una sola VM e nemmeno dall'host.

Puoi ottenere wlan_kabel qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.