Mostkowanie: Utrata połączenia sieci WLAN z opcją 4addr na opcji - Dlaczego?

9

Pytanie:
Aby używać z moją maszyną wirtualną Xen, muszę utworzyć wirtualny interfejs sieci (vif), który jest połączony z wlan0.

Jeśli w / etc / network / interfaces dodaję

auto xenbr0
       iface xenbr0 inet dhcp

A potem zrobić

brctl addif xenbr0 wlan0

Otrzymuję ten komunikat o błędzie.

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

Dowiedziałem się, że Linux nie pozwala w ogóle na mostkowanie interfejsu bezprzewodowego w trybie zarządzanym, chyba że włączysz opcję 4addr (potrzebną do ponownej kompilacji iw):

iw dev wlan0 set 4addr on

Potem

brctl addif xenbr0 wlan0

działa, a brctl show pokazuje xenbr0 jako zmostkowane z wlan0.

Niestety, jak tylko wykonam

iw dev wlan0 set 4addr on

moje całe połączenie sieciowe zniknęło (brak połączenia). Jak tylko wtedy wykonam

iw dev wlan0 set 4addr off

Ponownie łączę się i znów działa. Jeśli ponownie uruchomię 4addr on, to znowu się zepsuje, jeśli wykonam 4addr on, to znowu działa.

Niestety nie mogę po prostu włączyć 4addr, aktywować mostu, a następnie wyłączyć go ponownie (błąd: urządzenie nie jest gotowe).

Czy ktoś wie, dlaczego tracę połączenie?

Czary
źródło

Odpowiedzi:

14

Znalazłem odpowiedź tutaj: http://nullroute.eu.org/~grawity/journal.html#post:20110826

iw dev wlan0 set 4addr on

Jednak przy włączonym 4addr, możesz zostać całkowicie zignorowany przez AP: skojarzenie się powiedzie, ale wszystkie ramki danych znikną w eterze. Może to być spowodowane względami bezpieczeństwa (ponieważ cholernie trudno jest sfałszować źródłowy adres MAC. Tak.) W moim routerze (z uruchomionym OpenRG) konieczne jest włączenie trybu „WDS” dla interfejsu bezprzewodowego AP, dodaj urządzenie WDS ograniczone do mojego adres MAC laptopa i dodaj go do mostu LAN. Pakiety 4addr działają teraz.

Jest z tym jednak inny problem - router odrzuca teraz pakiety trzy-adresowe z laptopa, co może być raczej niewygodne (konieczność przełączania 4addr przy każdej zmianie sieci WLAN). Obejściem tego problemu jest dodanie na laptopie drugiego interfejsu bezprzewodowego połączonego z tym samym urządzeniem, ale z innym adresem MAC:

# 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

$ ADDR musi być zgodne z adresem urządzenia WDS skonfigurowanym w routerze; poza tym może to być dowolny prawidłowy adres MAC. Oryginalny MAC wlan0 pozostaje wtedy do „normalnego” użytkowania.

Możliwe jest używanie jednocześnie wlan0 i wds.wlan0 w tym samym czasie - chociaż testowałem tylko skojarzenie z tym samym AP dwa razy, a nie z różnymi AP.

fmo
źródło
5

W pewnych okolicznościach możesz również użyć wlan_kabel. Wykorzystuje gniazda pakietowe do bezpośredniego mostkowania urządzeń wlan * z urządzeniami Ethernet. Jednak wlan_kabel może jednocześnie pomostować tylko jeden MAC. Nie ma wady polegającej na blokowaniu przez punkty dostępu, ponieważ używany jest tylko oryginalny MAC urządzenia wlan.

W twoim przypadku oznaczałoby to, że wlan0 może być używany tylko przez jedną maszynę wirtualną, a nawet przez hosta.

Możesz dostać wlan_kabel tutaj .

escitalopram
źródło