Raspberry Pi kan forbinde til et Wi-Fi-netværk ved hjælp af en USB-dongle, men ved hjælp af samme dongle kan du også gøre din Raspberry Pi til et trådløst adgangspunkt. Når den er konfigureret korrekt, vil dette tillade andre trådløse enheder at oprette forbindelse til din Pi, og du kan eventuelt rute enhver trafik ud via Ethernet-porten og videre til internettet (via routeren fra din internetudbyder).

Men før man ser på de skridt, der er nødvendige for at få det til at fungere, et advarselsord. Den nødvendige konfiguration kan være lidt kompleks, og hvis tingene ikke fungerer som de burde så kan fejlfinding problemet være svært. Også for at dette fungerer korrekt, har du brug for en WiFi USB dongle, der kan fungere som et adgangspunkt. Det bedste sted at finde oplysninger om din særlige dongle og Raspberry Pi er på den integrerede Linux Raspberry Pi Wi-Fi adaptere side.

For at konfigurere et hotspot kræves flere trin:

  • Konfigurer den trådløse adapter med en statisk IP-adresse
  • Installer og konfigurer en DHCP-server
  • Installer og konfigurer adgangspunktdemonen
  • Konfigurer IP-routing mellem trådløst og Ethernet

I dette eksempel bruger det trådløse netværk adresseområdet 192.168.42.n og det kablede Ethernet vil bruge adressesortimentet 192.168.1.n

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

Rediger "/ etc / network / interfaces" og tilføj den statiske IP-adresse information for wlan0 . Du kan lære om statiske IP-adresser i vores SSH og statiske IP-adresse tutorial.

 sudo nano / etc / network / interfaces 

Anbring et "#" tegn foran alle de linjer, der nævner wlan0 og wpa, bortset fra " allow hotplug wlan0 ". Tilføj derefter følgende linjer til filen:

 iface wlan0 inet statisk adresse 192.168.42.1 netmask 255.255.255.0 

Den nederste halvdel af filen vil nu se sådan ud:

Genstart nu.

Installer og konfigurer en DHCP-server

Installer DHCP-serveren:

 sudo apt-get installer isc-dhcp-server 

Du kan sikkert ignorere eventuelle fejl om ikke at kunne starte DHCP-serveren på dette tidspunkt. Rediger nu sin konfigurationsfil:

 sudo nano /etc/dhcp/dhcpd.conf 

Tilføj et "#" tegn foran linjene " option domain-name " som dette:

 #option domænenavn "example.org"; #option domænenavn-servere ns1.example.org, ns2.example.org; 

Fjern "#" tegn foran " authoritative; "Erklæring som denne:

 # Hvis denne DHCP-server er den officielle DHCP-server til det lokale # netværk, bør det autoritative direktiv ikke kommenteres. autoritative; 

Tilføj nedenstående linjer nederst i filen:

 subnet 192.168.42.0 netmask 255.255.255.0 {interval 192.168.42.10 192.168.42.50; option broadcast-adresse 192.168.42.255; option routere 192.168.42.1; standard leasingtid 600; max leasingtid 7200; option domænenavn "lokal"; option domænenavn-servere 8.8.8.8, 8.8.4.4; } 

Afslut fra nano med "Ctrl + X".

Gør den trådløse adapter standard til DHCP-anmodningen:

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

Skift " INTERFACES="" " til " INTERFACES="wlan0" "

Afslut fra nano med "Ctrl + X".

Genstart DHCP-serveren:

 sudo service isc-dhcp-server genstart 

Installer og konfigurer adgangspunktdemonen

Installer hostapd:

 sudo apt-get install hostapd 

Rediger hostapd-konfigurationsfilen og opret et trådløst netværk:

 sudo nano /etc/hostapd/hostapd.conf 

Tilføj 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 oprette et adgangskodebeskyttet netværk kaldet MyPi på kanal 6 med password raspberry .

Fortæl værtssted hvor du skal finde sin konfigurationsfil ved at indstille standardplaceringen:

 sudo nano / etc / default / hostapd 

Fjern "#" foran " DAEMON_CONF " og ændre linjen for at læse:

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

Konfigurer IP-routing mellem trådløst og Ethernet

Rediger " /etc/sysctl.conf " for at aktivere IP-videresendelse:

 sudo nano /etc/sysctl.conf 

Find linjen, der læser " Uncomment the next line to enable packet forwarding for IPv4 " og uncomment den næste linje som denne:

 # Ukomment næste linje for at aktivere pakkeforsendelse til IPv4 net.ipv4.ip_forward = 1 

Kør følgende kommando for at aktivere videresendelse nu:

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

Nu drej Pi til en router 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 RELATERET, OPSTÅET -J ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPTERE 

Og gem routingstabellerne 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 tilføj følgende linje til slutningen af ​​filen. Denne linje vil gendanne routingstabellen, når Pi'en startes:

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

Du skal nu genstarte din Pi og teste den trådløse adgang ved hjælp af en bærbar computer, smartphone, tablet eller anden Wi-Fi-aktiveret enhed.

Fejlfinding

Da denne konfiguration er ret kompleks, kan det nemt gå galt. Hvis du løber i problemer, skal du dobbeltklikke alle konfigurationsfiler. Det er også værd at køre på Pi, da det er muligt for USB-donglen at komme ind i en udefineret tilstand.

Du har muligvis bemærket, at filen "hostapd.conf" havde to " driver= " linjer, og en af ​​dem blev kommenteret. Hvis din USB Wi-Fi dongle bruger nl80211 driveren, skal ovenstående konfiguration fungere OK. Men hvis din dongle bruger rtl871xdrv som den gør for adaptere baseret på Realtek RTL8188CUS chipset, så er der nogle ekstra trin, der er nødvendige.

Først installer iw pakken:

 sudo apt-get installere iw 

Kør nu følgende kommando:

 iw liste 

Hvis output af kommandoen er " nl80211 not found ", skal du bruge rtl871xdrv driveren. Men du vil også have brug for en særlig version af hostapd.

Adafruit har en præ-kompileret version af hostapd til rtl871xdrv driveren. For at installere det skal du bruge 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ørgsmål om at gøre din Pi til et trådløst adgangspunkt, så spørg nedenstående, og vi vil gøre vores bedste for at hjælpe!