De Raspberry Pi kan via een USB-dongle verbinding maken met een Wi-Fi-netwerk, maar met dezelfde dongle kunt u uw Raspberry Pi ook in een draadloos toegangspunt veranderen. Als dit eenmaal correct is ingesteld, kunnen andere draadloze apparaten verbinding maken met uw Pi en optioneel kunt u eventueel verkeer via de Ethernet-poort naar internet (via de router van uw ISP) routeren.

Voordat we echter kijken naar de stappen die nodig zijn om dit te laten werken, is er een waarschuwing. De benodigde configuratie kan een beetje ingewikkeld zijn en als de dingen niet werken zoals ze zouden moeten zijn, kan het moeilijk zijn om het probleem op te lossen. Om dit goed te laten werken, hebt u een WiFi USB-dongle nodig die als een toegangspunt kan werken. De beste plaats om informatie over uw specifieke dongle en de Raspberry Pi te vinden, is op de ingesloten Linux Raspberry Pi-Wi-Fi-adapterspagina.

Voor het configureren van een hotspot zijn verschillende stappen vereist:

  • Configureer de draadloze adapter met een statisch IP-adres
  • Installeer en configureer een DHCP-server
  • Installeer en configureer de daemon van het toegangspunt
  • Configureer IP-routering tussen het draadloze netwerk en Ethernet

In dit voorbeeld gebruikt het draadloze netwerk het adresbereik 192.168.42.n en gebruikt het bekabelde Ethernet het adresbereik 192.168.1.n

Configureer de draadloze adapter met een statisch IP-adres

Bewerk "/ etc / network / interfaces" en voeg de statische IP-adresinformatie toe voor wlan0 . U kunt meer leren over statische IP-adressen in onze SSH en statisch IP-adres zelfstudie.

 sudo nano / etc / network / interfaces 

Plaats een "#" -teken voor alle regels die wlan0 en wpa, behalve " allow hotplug wlan0 ". Voeg vervolgens de volgende regels toe aan het bestand:

 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 

De onderste helft van het bestand ziet er nu ongeveer zo uit:

Start nu opnieuw op.

Installeer en configureer een DHCP-server

Installeer de DHCP-server:

 sudo apt-get install isc-dhcp-server 

U kunt op dit moment veilig eventuele fouten over het niet kunnen starten van de DHCP-server negeren. Bewerk nu het configuratiebestand:

 sudo nano /etc/dhcp/dhcpd.conf 

Voeg als volgt een "#" -teken toe vóór de regels van de " option domain-name ":

 #option domeinnaam "example.org"; #option domein-naam-servers ns1.example.org, ns2.example.org; 

Verwijder het "#" -teken voor het " authoritative; " authoritative; "Verklaring als deze:

 # Als deze DHCP-server de officiële DHCP-server is voor het lokale # -netwerk, moet de gezaghebbende richtlijn worden weggelaten. gezaghebbende; 

Voeg onderaan het bestand de volgende regels toe:

 subnet 192.168.42.0 netmask 255.255.255.0 {bereik 192.168.42.10 192.168.42.50; optie broadcast-adres 192.168.42.255; optie routers 192.168.42.1; standaardlease-tijd 600; max-lease-tijd 7200; optie domeinnaam "lokaal"; option domain-name-servers 8.8.8.8, 8.8.4.4; } 

Sluit uit nano met "Ctrl + X".

Maak de draadloze adapter de standaard voor het DHCP-verzoek:

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

Wijzig " INTERFACES="" " in " INTERFACES="wlan0" "

Sluit uit nano met "Ctrl + X".

Start de DHCP-server opnieuw:

 sudo-service isc-dhcp-server opnieuw opstarten 

Installeer en configureer de daemon van het toegangspunt

Hostapd installeren:

 sudo apt-get install hostapd 

Bewerk het hostapd-configuratiebestand en maak een draadloos netwerk aan:

 sudo nano /etc/hostapd/hostapd.conf 

Voeg de volgende regels toe:

 interface = wlan0 stuurprogramma = nl80211 # stuurprogramma = rtl871xdrv ssid = MyPi hw_mode = g kanaal = 6 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = raspberry wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP 

Hiermee wordt een wachtwoordbeveiligd netwerk gemaakt met de naam MyPi op kanaal 6 met het wachtwoord- raspberry .

Vertel hostapd waar het configuratiebestand te vinden is door de standaardlocatie in te stellen:

 sudo nano / etc / default / hostapd 

Verwijder de "#" voor " DAEMON_CONF " en verander de regel om te lezen:

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

Configureer IP-routering tussen het draadloze netwerk en Ethernet

Bewerk " /etc/sysctl.conf " om IP-doorsturen in te schakelen:

 sudo nano /etc/sysctl.conf 

Zoek de regel met de tekst " Uncomment the next line to enable packet forwarding for IPv4 uncomment Uncomment the next line to enable packet forwarding for IPv4 " en verwijder de volgende regel als volgt:

 # Uncomment de volgende regel om pakket doorsturen voor IPv4 net.ipv4.ip_forward = 1 in te schakelen 

Voer de volgende opdracht uit om het doorsturen nu te activeren:

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

Verander nu de Pi in een router met de volgende opdrachten:

 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED, ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j AANVAARDEN 

En sla de routeringstabellen op in het bestand " /etc/iptables.ipv4.nat "

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

Bewerk " /etc/network/interfaces ":

 sudo nano / etc / network / interfaces 

En voeg de volgende regel toe aan het einde van het bestand. Deze regel herstelt de routeringstabel wanneer de Pi wordt opgestart:

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

Nu moet je je Pi opnieuw opstarten en de draadloze toegang testen met een laptop, smartphone, tablet of ander apparaat met Wi-Fi.

Probleemoplossen

Aangezien deze configuratie vrij complex is, kunnen dingen gemakkelijk fout gaan. Als je problemen tegenkomt, controleer dan alle configuratiebestanden. Het is ook de moeite waard om met de Pi te fietsen, omdat het mogelijk is dat de USB-dongle in een ongedefinieerde staat komt.

U hebt misschien gemerkt dat het bestand "hostapd.conf" twee " driver= " regels had en een ervan was becommentarieerd. Als uw USB Wi-Fi-dongle het nl80211 stuurprogramma gebruikt, moet de bovenstaande configuratie goed werken. Als uw dongle echter de rtl871xdrv gebruikt voor adapters op basis van de Realtek RTL8188CUS-chipset, zijn er enkele extra stappen nodig.

Installeer eerst het iw pakket:

 sudo apt-get install iw 

Voer nu de volgende opdracht uit:

 iw-lijst 

Als de uitvoer van de opdracht " nl80211 not found " is, moet u het stuurprogramma rtl871xdrv gebruiken. U hebt echter ook een speciale versie van hostapd nodig.

Adafruit heeft een vooraf gecompileerde versie van hostapd voor de rtl871xdrv driver. Om het te installeren, gebruikt u de volgende commando's:

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

Als u vragen heeft over het omzetten van uw Pi in een draadloos toegangspunt, stel deze dan hieronder en we zullen ons best doen om u te helpen!