Hur man ställer upp en Raspberry Pi som en trådlös åtkomstpunkt
Raspberry Pi kan ansluta till ett Wi-Fi-nätverk med en USB-dongle men med samma dongle kan du också göra din Raspberry Pi till en trådlös åtkomstpunkt. När det är korrekt inställt så tillåter andra trådlösa enheter att ansluta till din Pi, och du kan eventuellt styra all trafik ut via Ethernet-porten och vidare till Internet (via routern från din Internetleverantör).
Men innan du tittar på de steg som behövs för att få detta att fungera, ett varningstecken. Konfigurationen behövs kan vara lite komplex och om saker inte fungerar som de borde då kan felsökning av problemet vara svårt. Också för att detta ska fungera korrekt behöver du en WiFi USB-dongle som kan fungera som en åtkomstpunkt. Det bästa stället att hitta information om din speciella dongle och Raspberry Pi finns på den inbäddade Linux Raspberry Pi Wi-Fi-adaptrar-sidan.
För att konfigurera en hotspot krävs flera steg:
- Konfigurera den trådlösa adaptern med en statisk IP-adress
- Installera och konfigurera en DHCP-server
- Installera och konfigurera access point-demonen
- Konfigurera IP-routing mellan trådlöst och Ethernet
I det här exemplet kommer det trådlösa nätverket att använda adressområdet 192.168.42.n
och det trådbundna Ethernet-nätverket använder adressområdet 192.168.1.n
Konfigurera den trådlösa adaptern med en statisk IP-adress
Redigera "/ etc / network / interfaces" och lägg till den statiska IP-adressinformationen för wlan0
. Du kan lära dig om statiska IP-adresser i vår SSH- och statiska IP-adresshandledning.
sudo nano / etc / network / interfaces
Placera ett "#" tecken framför alla linjer som nämner wlan0
och wpa
, förutom " allow hotplug wlan0
". Lägg sedan till följande rader i filen:
iface wlan0 inet statisk adress 192.168.42.1 nätmask 255.255.255.0
Den nedre delen av filen kommer nu att se ut så här:
Nu starta om.
Installera och konfigurera en DHCP-server
Installera DHCP-servern:
sudo apt-get installera isc-dhcp-server
Du kan säkert ignorera eventuella fel om du inte kan starta DHCP-servern vid denna tidpunkt. Redigera nu sin konfigurationsfil:
sudo nano /etc/dhcp/dhcpd.conf
Lägg till ett "#" tecken framför option domain-name
" option domain-name
" så här:
#option domännamn "example.org"; #option domännamn-servrar ns1.example.org, ns2.example.org;
Ta bort "#" tecknet framför " authoritative;
"Uttalande så här:
# Om den här DHCP-servern är den officiella DHCP-servern för det lokala # -nätet, bör det auktoritativa direktivet inte kommenteras. auktoritativ;
Längst ned i filen lägg till följande rader:
subnet 192.168.42.0 netmask 255.255.255.0 {intervall 192.168.42.10 192.168.42.50; alternativ sändningsadress 192.168.42.255; option routrar 192.168.42.1; standard-leasingtid 600; max-leasingtid 7200; alternativ domännamn "lokal"; Alternativ domännamn-servrar 8.8.8.8, 8.8.4.4; }
Avsluta från nano med "Ctrl + X".
Gör den trådlösa adaptern till standard för DHCP-förfrågan:
sudo nano / etc / default / isc-dhcp-server
Ändra " INTERFACES=""
" till " INTERFACES="wlan0"
"
Avsluta från nano med "Ctrl + X".
Starta om DHCP-servern:
sudo service isc-dhcp-server omstart
Installera och konfigurera access point-demonen
Installera hostapd:
sudo apt-get install hostapd
Redigera hostapd-konfigurationsfilen och skapa ett trådlöst nätverk:
sudo nano /etc/hostapd/hostapd.conf
Lägg till följande rader:
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 = hallon wpa_key_mgmt = WPA-PSK wpa_pairwise = TKIP rsn_pairwise = CCMP
Detta skapar ett lösenordsskyddat nätverk som heter MyPi
på kanal 6 med lösenbärsbären.
Berätta värdpedal där du hittar sin konfigurationsfil genom att ställa in standardplatsen:
sudo nano / etc / default / hostapd
Ta bort "#" framför " DAEMON_CONF
" och ändra raden att läsa:
DAEMON_CONF = "/ etc / hostapd / hostapd.conf"
Konfigurera IP-routing mellan trådlöst och Ethernet
Redigera " /etc/sysctl.conf
" för att aktivera IP-vidarebefordran:
sudo nano /etc/sysctl.conf
Hitta raden som läser " Uncomment the next line to enable packet forwarding for IPv4
" och kommentera nästa rad så här:
# Okomment nästa rad för att aktivera paketet vidarebefordran för IPv4 net.ipv4.ip_forward = 1
Kör följande kommando för att aktivera vidarebefordran nu:
sudo sh -c "eko 1> / proc / sys / net / ipv4 / ip_forward"
Nu vrid Pi in i en router med följande kommandon:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state -state RELATERADE, UPPSTÄLLDA -J ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPTERA
Och spara routing tabeller i filen " /etc/iptables.ipv4.nat
"
sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
Redigera " /etc/network/interfaces
":
sudo nano / etc / network / interfaces
Och lägg till följande rad till slutet av filen. Den här raden kommer att återställa routing-tabellen när Pi-enheten startas:
förbereda iptables-återställ </etc/iptables.ipv4.nat
Du bör nu starta om din Pi och testa den trådlösa åtkomsten med en bärbar dator, smartphone, surfplatta eller annan Wi-Fi-aktiverad enhet.
Felsökning
Eftersom denna konfiguration är ganska komplexa kan det enkelt gå fel. Om du stöter på problem, dubbelkontrollera alla konfigurationsfiler. Det är också värt att strömcykla Pi eftersom det är möjligt för USB-dongeln att komma in i ett odefinierat tillstånd.
Du kanske har märkt att filen "hostapd.conf" hade två " driver=
" -linjer och en av dem kommenterades. Om din USB Wi-Fi-dongle använder nl80211
drivrutinen ska ovanstående konfiguration fungera OK. Men om din dongle använder rtl871xdrv
som den gör för adaptrar baserade på Realtek RTL8188CUS chipset så finns det några extra steg som behövs.
Installera först iw
paketet först:
sudo apt-get installera iw
Kör nu följande kommando:
IW-lista
Om kommandot av kommandot är " nl80211 not found
" måste du använda rtl871xdrv
drivrutinen. Men du behöver också en speciell version av hostapd.
Adafruit har en förkompilerad version av hostapd för rtl871xdrv
drivrutinen. För att installera använder du följande kommandon:
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
Om du har några frågor om att göra din Pi till en trådlös åtkomstpunkt, fråga nedan och vi kommer att försöka vårt bästa för att hjälpa!