Próbuję skonfigurować mój Raspberry Pi jako pomost, używając wheezy Debiana. Mam hostapd.conf
: (niektóre szczegóły zmieniono dla bezpieczeństwa i tak, wiem, że WEP nie jest dobra) ...
interface=wlan0
bridge=br0
driver=nl80211
auth_algs=1
macaddr_acl=0
ignore_broadcast_ssid=0
logger_syslog=-1
logger_syslog_level=0
hw_mode=g
ssid=MY_SSID
channel=11
wep_default_key=0
wep_key0=MY_KEY
wpa=0
A to w /etc/network/interfaces
:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
auto br0
iface br0 inet dhcp
bridge-ports eth0 wlan0
Wygląda na to, że wszystko idzie dobrze, ale nie mogę skojarzyć się z połączonym mostem połączeniem bezprzewodowym - nawet jeśli migające lampki na pamięci USB sugerują wymianę pakietów.
Czytałem gdzieś, że nie wszystkie karty / urządzenia będą działały w trybie Hostap - nie przepuszczą pakietów w jednym kierunku: prawda? (Informacje były trochę stare) - to moja karta:
[ 3.663245] usb 1-1.3.1: new high-speed USB device number 5 using dwc_otg
[ 3.794187] usb 1-1.3.1: New USB device found, idVendor=0cf3, idProduct=9271
[ 3.804321] usb 1-1.3.1: New USB device strings: Mfr=16, Product=32, SerialNumber=48
[ 3.816994] usb 1-1.3.1: Product: USB2.0 WLAN
[ 3.823790] usb 1-1.3.1: Manufacturer: ATHEROS
[ 3.830645] usb 1-1.3.1: SerialNumber: 12345
Więc co się tutaj pomyliłem?
Aktualizacja : Przeprowadziłem więc dalsze dochodzenia i mogę podnieść most, ale najwyraźniej niszczy to (przewodowe) połączenie Ethernet, co jest dziwne. Np. Na RPi:
Uruchom system ...
ping 192.168.62.1
(router) - to działa
Próba skojarzenia się z bezprzewodową siecią LAN ... kończy się niepowodzeniem (a raczej „z ograniczoną łącznością” na telefonie z Androidem - to niedobrze)
brctl showmacs br0
To po prostu pokazuje mac wlan0 i mac telefonu w tym momencie
brctl addif br0 eth0 wlan0
W tym momencie mogę teraz powiązać telefon z siecią bezprzewodową, ale ...
ping 192.168.62.1
... zawodzi
I podobnie nie mogę już pingować RasPi z żadnej innej maszyny w sieci
Bieganie
ifconfig br0
Sugeruje, że most upuszcza pakiety ...
Jakieś pomysły?
Dalsza aktualizacja : /etc/network/interfaces
plik teraz (i dla powyższej sekwencji) brzmi:
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
źródło
iw dev wlan0 info
pokazuje A Google na swoim identyfikatorze urządzenia pokazuje, że potrzebujesz najnowszego jądra lub modułów bezprzewodowych do uruchomienia tego urządzenia w trybie AP. Zobacz to . Z jakiego jądra iath9k
sterownika korzystasz?Odpowiedzi:
Łatwe mosty:
Jest projekt na sourceforge stworzony specjalnie dla twojej sytuacji. http://sourceforge.net/projects/bridger/ Jest nawet dostępny jako pakiet deb.
W odniesieniu do „upuszczania” pakietów:
Czy sprawdziłeś, czy iptables jest ustawiony na domyślny upuszczanie?
sudo iptables --list
powinien powiedzieć „AKCEPTUJ, AKCEPTUJ, AKCEPTUJ” w polu tego typu. Jeśli to jest problem, wyłącz go.Przesyłasz nawet pakiety, stary? Upewnij się, że wiersz „net.ipv4.ip_forward = 1” NIE jest komentowany w /etc/sysctl.conf (jest to domyślnie), a następnie uruchom ponownie sieć.
Tryb promiscuous nie jest obsługiwany przez klucz bezprzewodowy. (co oznacza, że nie może zaakceptować pakietów, które nie są do tego przeznaczone)
Pure Bridge vs. Shared Bridge:
iface br0 inet dhcp wskazuje współużytkowany most, co oznacza, że sam most otrzymuje adres IP i może być punktem końcowym dla ruchu.
Czysty most nie otrzymuje adresu IP i przesyła dalej ruch między dwoma interfejsami
Przykładowy plik konfiguracji współdzielonego mostu / etc / network / interfaces (Debian / Ubuntu)
Uruchom ponownie sieć:
sudo /etc/init.d/networking restart
po dokonaniu skomplikowanych zmian konfiguracji sieci łatwiej jest po prostu zrestartować komputer niż upewnić się, że wszystko zrestartowało się poprawnie przy ponownym uruchomieniu.Myślisz, że masz problemy z routingiem:
Wyeliminuj DNS jako przyczynę , testując
ping 8.8.8.8
. Jeśli to zadziała, prawdopodobnie masz problem z DNS w swojej sieci.Sprawdź swoją bramę z
sudo ip route
nadzieją, że ją widziszdefault via 192.168.1.1 dev br0 proto dhcp
(zakładając, że twoja brama to 192.168.1.1). Jeśli brakuje lub jest źle, napraw tosudo ip route add default via 192.168.1.1
. Przetestuj jeszcze raz:ping 8.8.8.8
Odnowić wspólny mostu IP z
dhclient br0
i ponowny test zping 8.8.8.8
Sprawdź swoje interfejsy „slave” z
ifconfig
i upewnij się, eth0 i wlan0 NIE mają adresy IP. Są teraz częścią mostu. Jeśli tak, upewnij się, że usunąłeś je ze wszystkich plików konfiguracyjnych, ustaw je na static 0.0.0.0 lub coś takiego.Jeśli ŻADNA z tych funkcji nie działa, wypróbuj tę aplikację mostkującą Debiana, a jeśli to nie zadziała, twój bezprzewodowy klucz sprzętowy nie obsługuje trybu rozwiązanego. (patrz wyżej)
Jeśli tutaj działa, zrestartuj komputer i upewnij się, że nadal działa.
źródło
eth0
iwlan0
ustawienia w tym przykładzie? W szczególności, w jaki sposób ustawić identyfikator SSID i jakiekolwiek uwierzytelnianiewlan0
?Mam kilka mostków bezprzewodowych pracujących w systemie Debian Linux i Openwrt, więc doskonale znam ten problem.
Pominięto jedno ważne polecenie: Zapomniałeś powiedzieć sterownikowi bezprzewodowemu, aby transmitował ramki 4-adresowe (czasami niepoprawnie / historycznie nazywane WDS), które są wymagane do mostkowania bezprzewodowego 802.11 /. Zrób to za pomocą polecenia „iw dev wlan0 set 4addr on”. Użyj instrukcji „wstępnej” w pliku interfejsów Debiana na moście, aby zastosować ją przed uruchomieniem mostu. Należy pamiętać, że tryb ramki z czterema adresami wymaga obsługi sterowników, a niektóre stare, kiepskie sterowniki lub sprzęt 802.11 mogą go nie obsługiwać.
Podejrzewam również, że twoje problemy mogły być skomplikowane przez błąd w jądrze Linuksa, który konkretnie wpływa na mostkowane interfejsy. Sam napotkałem ten błąd i musiałem skompilować własny wpa_supplicant ze źródeł, ponieważ wersja w Debianie jest stara i dotyczy jej. wpa_supplicant i hostapd współużytkują wspólną bazę kodu, ale nie jestem całkowicie pewien, czy to wpłynęło na hostapd, a także wpa_supplicant.
W tym przypadku istnieje obejście tego problemu:
https://w1.fi/cgit/hostap/commit/?id=e6dd8196e5daf39e4204ef8ecd26dd50fdca6040
Mam wrażenie, że jest to wersja 2.5 i wiem, że jest w bieżącym źródle wersji 2.6. Obecna wersja Debiana to 2.4, która jest zepsuta. Proszę prześladować projekt Debian, aby zaktualizować ich pakiety wpasupplicant i hostapd.
Oto przykładowa konfiguracja klienta mostu bezprzewodowego korzystającego z WPA / WPA2 z mostkiem bezprzewodowym między interfejsami wlan0 i eth0, z hostem otrzymującym adres DHCP na interfejsie br0 („dhcp” na „manual” dla braku adresu IP). W sytuacji, gdy chcesz być AP, dołącz do interfejsu hostapd.conf polecenia interface = i bridge = i pomiń poniższe polecenia wpa- *.
W twoim pliku / etc / network / interfaces:
I upewnij się, że Twój wpa_supplicant ma wersję 2.5 lub nowszą. Nie będzie działać z wpa_supplicant 2.4 i aktualnymi wersjami jądra.
Powinienem również zauważyć, że obecnie występuje błąd wyścigu w ifup, w którym interfejsy mostkowe mogą nie pojawić się w czasie rozruchu, ale to zupełnie inna kwestia.
źródło
Wydaje się, że potrzebujesz przekazywania IP.
próbować
cat /proc/sys/net/ipv4/ip_forward
Jeśli to
0
problem:echo 1 > /proc/sys/net/ipv4/ip_forward
źródło
sys.net.ipv4.ip_forward
dotyczy routingu IPv4, NAT itp. Mosty działają jedną warstwę poniżej w stosie sieciowym.Mostkowanie może działać tylko wtedy, gdy interfejs odbierze wszystkie pakiety, w przeciwnym razie otrzymają pakiety skierowane tylko do nich. Obecna konfiguracja może opisywać konfigurację routera, ale nie mostka.
eth0 i wlan0 nie powinny mieć adresów IP (co oznacza 0.0.0.0), aw razie potrzeby zawsze możesz użyć adresu IP dla br0.
Oto niektóre oficjalne dokumenty: http://wiki.debian.org/BridgeNetworkConnections
źródło
skonfiguruj wlan0
vi / etc / network / interface
vi /etc/sysctl.conf
vi /etc/rc.local
źródło