Der Raspberry Pi kann über einen USB-Dongle mit einem Wi-Fi-Netzwerk verbunden werden, aber mit demselben Dongle können Sie Ihren Raspberry Pi auch zu einem drahtlosen Zugriffspunkt machen. Nach der korrekten Einrichtung können andere drahtlose Geräte eine Verbindung mit Ihrem Pi herstellen. Optional können Sie jeglichen Datenverkehr über den Ethernet-Anschluss und weiter zum Internet leiten (über den Router von Ihrem ISP).

Bevor wir uns jedoch die Schritte ansahen, die nötig waren, um dies zum Laufen zu bringen, warnten wir Sie. Die erforderliche Konfiguration kann ein wenig komplex sein, und wenn die Dinge nicht so funktionieren, wie sie sollten, kann die Fehlerbehebung schwierig sein. Damit dies richtig funktioniert, benötigen Sie einen WiFi USB Dongle, der als Zugangspunkt dienen kann. Der beste Ort, um Informationen über Ihren speziellen Dongle und den Raspberry Pi zu finden, finden Sie auf der Seite mit den eingebetteten Linux Raspberry Pi Wi-Fi-Adaptern.

Um einen Hotspot zu konfigurieren, sind mehrere Schritte erforderlich:

  • Konfigurieren Sie den drahtlosen Adapter mit einer statischen IP-Adresse
  • Installieren und konfigurieren Sie einen DHCP-Server
  • Installieren und konfigurieren Sie den Zugriffspunkt-Daemon
  • Konfigurieren Sie das IP-Routing zwischen Wireless und Ethernet

In diesem Beispiel verwendet das drahtlose Netzwerk den Adressbereich 192.168.42.n und das verdrahtete Ethernet den Adressbereich 192.168.1.n

Konfigurieren Sie den drahtlosen Adapter mit einer statischen IP-Adresse

Bearbeiten Sie "/ etc / network / interfaces" und fügen Sie die statischen IP-Adressinformationen für wlan0 . Sie können sich über statische IP-Adressen in unserem Lernprogramm zu SSH und statischen IP-Adressen informieren.

 sudo nano / etc / Netzwerk / Schnittstellen 

wlan0 wpa ein "#" - Zeichen vor alle Zeilen, die wlan0 und wpa, außer " wlan0 wpa allow hotplug wlan0 ". Fügen Sie dann der Datei die folgenden Zeilen hinzu:

 iface wlan0 inet statische Adresse 192.168.42.1 Netzmaske 255.255.255.0 

Die untere Hälfte der Datei sieht jetzt ungefähr so ​​aus:

Jetzt neu starten.

Installieren und konfigurieren Sie einen DHCP-Server

Installieren Sie den DHCP-Server:

 sudo apt-get installiert den isc-dhcp-server 

Sie können Fehler ignorieren, wenn Sie den DHCP-Server zu diesem Zeitpunkt nicht starten können. Bearbeiten Sie nun seine Konfigurationsdatei:

 sudo nano /etc/dhcp/dhcpd.conf 

Fügen Sie ein "#" - Zeichen vor den Zeilen " option domain-name " wie folgt hinzu:

 #optionsdomänenname "example.org"; #option domain-name-server ns1.example.org, ns2.example.org; 

Entfernen Sie das "#" - Zeichen vor dem " authoritative; "Aussage wie folgt:

 # Wenn dieser DHCP-Server der offizielle DHCP-Server für das lokale # Netzwerk ist, sollte die autorisierende Direktive unkommentiert sein. autoritativ; 

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

 Subnetz 192.168.42.0 Netzmaske 255.255.255.0 {Bereich 192.168.42.10 192.168.42.50; Option Broadcast-Adresse 192.168.42.255; Optionsrouter 192.168.42.1; Standard-Lease-Zeit 600; Max-Lease-Zeit 7200; Option Domain-Name "lokal"; Option Domain-Name-Server 8.8.8.8, 8.8.4.4; } 

Verlassen Sie Nano mit "Strg + X".

Machen Sie den WLAN-Adapter zum Standard für die DHCP-Anfrage:

 sudo nano / etc / default / isc-dhcp-server 

Ändern Sie " INTERFACES="" " zu " INTERFACES="wlan0" "

Verlassen Sie Nano mit "Strg + X".

Starten Sie den DHCP-Server neu:

 sudo-service isc-dhcp-server neu starten 

Installieren und konfigurieren Sie den Zugriffspunkt-Daemon

Installieren Sie hostapd:

 sudo apt-get installieren hostapd 

Bearbeiten Sie die Hostapd-Konfigurationsdatei und erstellen Sie ein drahtloses Netzwerk:

 sudo nano /etc/hostapd/hostapd.conf 

Fügen Sie die folgenden Zeilen hinzu:

 Schnittstelle = wlan0 Treiber = nl80211 # Treiber = rtl871xdrv ssid = MeinPi hw_mode = g Kanal = 6 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = himbeere wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP 

Dadurch wird ein passwortgeschütztes Netzwerk namens MyPi auf Kanal 6 mit dem Passwort raspberry .

Sagen Sie hostapd, wo Sie die Konfigurationsdatei finden, indem Sie den Standardspeicherort festlegen:

 sudo nano / etc / default / hostapd 

Entfernen Sie das "#" vor " DAEMON_CONF " und ändern Sie die zu lesende Zeile:

 DAEMON_CONF = "/ etc / hostapd / hostapd.conf" 

Konfigurieren Sie das IP-Routing zwischen Wireless und Ethernet

Bearbeiten Sie " /etc/sysctl.conf ", um die IP-Weiterleitung zu aktivieren:

 sudo nano /etc/sysctl.conf 

Suchen Sie die Zeile mit der Uncomment the next line to enable packet forwarding for IPv4 " Uncomment the next line to enable packet forwarding for IPv4 " und entfernen Sie die nächste Zeile wie folgt:

 # Entkomme die nächste Zeile, um die Paketweiterleitung für IPv4 zu aktivieren net.ipv4.ip_forward = 1 

Führen Sie den folgenden Befehl aus, um die Weiterleitung jetzt zu aktivieren:

 sudo sh -c "echo 1> / proc / sys / net / ipv4 / ip_forward" 

Verwandle nun den Pi in einen Router mit den folgenden Befehlen:

 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A VORWÄRTS -i eth0 -o wlan0 -m Status --status VERWANDT, EINGEFÜHRT -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j AKZEPTIEREN 

Und speichern Sie die Routing-Tabellen in der Datei " /etc/iptables.ipv4.nat "

 sudo sh -c "iptables-speichern> /etc/iptables.ipv4.nat" 

Bearbeiten Sie " /etc/network/interfaces ":

 sudo nano / etc / Netzwerk / Schnittstellen 

Und fügen Sie die folgende Zeile am Ende der Datei hinzu. Diese Zeile wird die Routing-Tabelle jedes Mal wiederherstellen, wenn der Pi gebootet wird:

 pre-up iptables-restore </etc/iptables.ipv4.nat 

Sie sollten jetzt Ihren Pi neu starten und den kabellosen Zugriff mit einem Laptop, Smartphone, Tablet oder einem anderen Wi-Fi-fähigen Gerät testen.

Fehlerbehebung

Da diese Konfiguration ziemlich komplex ist, können Dinge leicht schiefgehen. Wenn Sie Probleme bekommen, überprüfen Sie alle Konfigurationsdateien. Es lohnt sich auch, den Pi mit Strom zu versorgen, da der USB-Dongle in einen undefinierten Zustand geraten kann.

Sie haben vielleicht bemerkt, dass die Datei "hostapd.conf" zwei " driver= " Zeilen hatte und eine davon auskommentiert wurde. Wenn Ihr USB-WLAN-Dongle den nl80211 Treiber verwendet, sollte die obige Konfiguration OK funktionieren. Wenn Ihr Dongle jedoch das rtl871xdrv für Adapter verwendet, die auf dem Realtek RTL8188CUS-Chipsatz basieren, sind einige zusätzliche Schritte erforderlich.

Installiere zuerst das iw Paket:

 sudo apt-get installieren iw 

Führen Sie nun den folgenden Befehl aus:

 iw Liste 

Wenn die Ausgabe des Befehls " nl80211 not found " nl80211 not found, müssen Sie den Treiber rtl871xdrv . Sie benötigen jedoch auch eine spezielle Version von Hostapd.

Adafruit hat eine vorkompilierte Version von hostapd für den rtl871xdrv Treiber. Um es zu installieren, verwenden Sie die folgenden Befehle:

 wget http://www.adafruit.com/downloads/adafruit_hostapd.zip entpacken adafruit_hostapd.zip sudo mv / usr / sbin / hostapd /usr/sbin/hostapd.ORIG sudo mv hostapd / usr / sbin sudo chmod 755 / usr / sbin / Hostapd 

Wenn Sie irgendwelche Fragen haben, wie Sie Ihren Pi in einen drahtlosen Zugangspunkt verwandeln können, fragen Sie bitte unten und wir werden unser Bestes versuchen, um zu helfen!