Raspberry Pi kan koble til et Wi-Fi-nettverk med en USB-dongle, men med samme dongle kan du også gjøre Raspberry Pi til et trådløst tilgangspunkt. Når det er satt opp riktig, vil dette tillate at andre trådløse enheter kobler til Pi, og du kan eventuelt rute ut trafikk via Ethernet-porten og videre til Internett (via ruteren fra Internett-leverandøren).

Men før du ser på trinnene som trengs for å få dette til å fungere, et ord med advarsel. Konfigurasjonen som trengs, kan være litt kompleks, og hvis ting ikke fungerer som de burde da kan feilsøking problemet være vanskelig. Også for at dette skal fungere riktig, trenger du en WiFi USB-dongle som kan fungere som et tilgangspunkt. Det beste stedet å finne informasjon om din spesielle dongle og Raspberry Pi er på den innebygde Linux Raspberry Pi Wi-Fi-adapteren siden.

For å konfigurere et hotspot kreves flere trinn:

  • Konfigurer den trådløse adapteren med en statisk IP-adresse
  • Installer og konfigurer en DHCP-server
  • Installer og konfigurer tilgangspunktdemoen
  • Konfigurer IP-ruting mellom trådløst og Ethernet

I dette eksemplet vil det trådløse nettverket bruke adressesortimentet 192.168.42.n og den kablede Ethernet vil bruke adressesortimentet 192.168.1.n

Konfigurer den trådløse adapteren med en statisk IP-adresse

Rediger "/ etc / network / interfaces" og legg til den statiske IP-adressen informasjonen for wlan0 . Du kan lære om statiske IP-adresser i vår SSH og statiske IP-adresseopplæring.

 sudo nano / etc / network / interfaces 

Plasser et "#" tegn foran alle linjene som nevner wlan0 og wpa, bortsett fra " allow hotplug wlan0 ". Legg deretter til følgende linjer i filen:

 iface wlan0 inet statisk adresse 192.168.42.1 nettmask 255.255.255.0 

Den nederste halvdelen av filen vil nå se slik ut:

Start nå om igjen.

Installer og konfigurer en DHCP-server

Installer DHCP-serveren:

 sudo apt-get installer isc-dhcp-server 

Du kan trygt ignorere eventuelle feil om ikke å kunne starte DHCP-serveren på dette tidspunktet. Rediger nå konfigurasjonsfilen sin:

 sudo nano /etc/dhcp/dhcpd.conf 

Legg til et "#" tegn foran linjene " option domain-name " slik:

 #option domenenavn "example.org"; #option domenenavn-servere ns1.example.org, ns2.example.org; 

Fjern "#" skiltet foran " authoritative; "Uttalelse som dette:

 # Hvis denne DHCP-serveren er den offisielle DHCP-serveren for det lokale # -nettverket, bør det autoritative direktivet ikke kommenteres. autoritær; 

I bunnen av filen legger du til følgende linjer:

 delnett 192.168.42.0 netmask 255.255.255.0 {område 192.168.42.10 192.168.42.50; alternativ sendingsadresse 192.168.42.255; alternativruter 192.168.42.1; standard leasing tid 600; maksimal leieavtale 7200; alternativ domenenavn "lokal"; Alternativ domenenavn-servere 8.8.8.8, 8.8.4.4; } 

Avslutt fra nano med "Ctrl + X".

Gjør den trådløse adapteren standard for DHCP-forespørselen:

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

Endre " INTERFACES="" " til " INTERFACES="wlan0" "

Avslutt fra nano med "Ctrl + X".

Start DHCP-serveren på nytt:

 sudo service isc-dhcp-server restart 

Installer og konfigurer tilgangspunktdemoen

Installer hostapd:

 sudo apt-get install hostapd 

Rediger hostapd-konfigurasjonsfilen og opprett et trådløst nettverk:

 sudo nano /etc/hostapd/hostapd.conf 

Legg til følgende linjer:

 interface = wlan0 driver = nl80211 # driver = rtl871xdrv ssid = MyPi hw_mode = g kanal = 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 

Dette vil opprette et passordbeskyttet nettverk kalt MyPi på kanal 6 med passord raspberry .

Fortell hostapd hvor du finner sin konfigurasjonsfil ved å angi standardplassering:

 sudo nano / etc / default / hostapd 

Fjern "#" foran " DAEMON_CONF " og endre linjen for å lese:

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

Konfigurer IP-ruting mellom trådløst og Ethernet

Rediger " /etc/sysctl.conf " for å aktivere IP videresending:

 sudo nano /etc/sysctl.conf 

Finn linjen som leser " Uncomment the next line to enable packet forwarding for IPv4 " og uncomment neste linje som dette:

 # Uncomment neste linje for å aktivere pakke videresending for IPv4 net.ipv4.ip_forward = 1 

Kjør følgende kommando for å aktivere videresending nå:

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

Nå snu Pi til en ruter med følgende kommandoer:

 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -state RELATERTE, OPSTÅTE -J ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j AKSEPTERER 

Og lagre rutingstabellene i filen " /etc/iptables.ipv4.nat "

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

Rediger " /etc/network/interfaces ":

 sudo nano / etc / network / interfaces 

Og legg til følgende linje til slutten av filen. Denne linjen vil gjenopprette rutingstabellen når Pi er oppstart:

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

Du bør nå starte din Pi på nytt og teste den trådløse tilgangen med en bærbar PC, smarttelefon, nettbrett eller annen Wi-Fi-aktivert enhet.

Feilsøking

Siden denne konfigurasjonen er ganske komplisert, kan det lett gå galt. Hvis du får problemer, dobbeltklikker du alle konfigureringsfilene. Det er også verdt å slå på Pi som det er mulig for USB-donglen å komme inn i en udefinert tilstand.

Du har kanskje lagt merke til at filen "hostapd.conf" hadde to " driver= " linjer, og en av dem ble kommentert. Hvis din USB Wi-Fi dongle bruker nl80211 driveren, må den ovennevnte konfigurasjonen fungere OK. Men hvis donglen din bruker rtl871xdrv som den gjør for adaptere basert på Realtek RTL8188CUS-brikkesettet, er det noen ekstra skritt som trengs.

Først installerer jeg pakken:

 sudo apt-get installere iw 

Kjør nå følgende kommando:

 IW-liste 

Hvis utdataene fra kommandoen er " nl80211 not found ", må du bruke rtl871xdrv driveren. Men du vil også trenge en spesiell versjon av hostapd.

Adafruit har en forhåndsutviklet versjon av hostapd for rtl871xdrv driveren. For å installere det, bruk følgende kommandoer:

 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 

Hvis du har spørsmål om å slå Pi til et trådløst tilgangspunkt, vennligst spørg nedenfor og vi vil prøve vårt beste for å hjelpe!