Så här konfigurerar du ett Raspberry Pi- eller Linux-system som en WiFi-router

Vilken som helst Linux-baserat operativsystem kan konfigureras som ett verkligt WiFi router med några enkla steg. Till exempel om vi använder en hallon Pi med Raspbian-operativsystemet (som fortfarande är ett Linux-baserat operativsystem) kan vi konfigurera det för att använda sina olika nätverksgränssnitt och skapa en WiFi-router med en ganska anständig prestanda, men vi måste också ta hänsyn till dess portbegränsningar. I den här handledningen kommer vi att lära dig hur du konfigurerar en Raspberry Pi eller något Linux-baserat operativsystem för att fungera som en Wi-Fi-router.

Inledande steg

Det första vi måste göra är att installera operativsystemet på vår Raspberry Pi. I vårt fall har vi använt den senaste versionen av Raspbian, även om alla andra system kan användas (även om kommandona kan variera).

Konfigurera ett Raspberry Pi- eller Linux-system som en WiFi-router

När operativsystemet är installerat på vår micro SD kör vi det för första gången för att slutföra installationen och konfigurationen (till exempel, när det gäller Raspbian, slutför du « sudo raspi-config « guiden ).

När vi väl är konfigurerade och när enheten fungerar och är ansluten till Internet via RJ-45 uppdaterar vi programkällorna, applikationerna och systemet genom att skriva:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

En gång med vårt uppdaterade system kan vi fortsätta med guiden för att konfigurera vår Raspberry Pi för att fungera som en router.

Kontrollera att vårt USB Wi-Fi-kort upptäcks och fungerar i AP-läge

Det första vi ska göra är att kontrollera att enheten upptäcker kortet. För att göra detta skriver vi:

lsusb

Och det ska visas där listat. När det visas kommer vi att utföra ett annat kommando för att verifiera att Wi-Fi-kortet kan fungera i AP-läge:

iw list

Om vi ​​i resultatet som visas på skärmen kan se raden: Mode: AP, kortet är kompatibelt för att utföra denna konfiguration, annars måste vi leta efter ett annat kort vars chipset gör det möjligt att konfigurera det som en åtkomstpunkt, eller AP.

Installera nödvändig programvara och beroenden

Det mesta av den nödvändiga programvaran installeras som standard i Raspbian, även om de enda som kan ge oss problem är DHCP-servern och tjänsten för att skapa åtkomstpunkter, som vi kan installera manuellt (om den inte är tillgänglig) genom att skriva:

sudo apt-get install isc-dhcp-server hostapd

En gång vid denna tidpunkt kan vi starta om vår Raspberry för att börja med konfigurationen.

Att lägga plattor

Alla konfigurationer görs från terminalen, i textläge. Vi ska använda nano-redigeraren och alltid innan vi redigerar en fil skapar vi en kopia av den så att om ett fel inträffar kan vi återställa den.

Konfigurera DHCP-servern

Det första vi konfigurerar är DHCP-servern. För detta kommer vi att redigera följande fil:

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig
sudo nano /etc/dhcp/dhcpd.conf

I den här filen måste vi leta efter en rad rader. Följande är som standard utan att kommentera, vi kommenterar dem med ett # framför dem så att de inte längre är aktiverade och är följande:

#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

Vi kommer att leta efter # auktoritärt element; som standard kommer att kommenteras och vi avmarkerar det för att aktivera det och lämnar:

authoritative;

För att avsluta konfigurerar vi nätverket där DHCP-servern ska fungera (i vårt exempel i nätverket 192.168.2.0). För detta går vi till slutet av dokumentet och lägger till:

subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.2 192.168.2.30;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

Vi sparar ändringarna och stänger filen.

Vi öppnar en ny serverkonfigurationsfil och skriver:

sudo cp /etc/default/isc-dhcp-server /etc/default/isc-dhcp-server.orig
sudo nano /etc/default/isc-dhcp-server

I det här dokumentet kommer vi att titta (i slutet) för raden INTERFACES = »» och ändra den till:

INTERFACES="wlan0"

DHCP-servern är redan konfigurerad. Vi fortsätter med handledningen.

Konfigurera WLAN- och Ethernet-anslutningen

Det första vi ska göra är att koppla bort Wi-Fi-kortet. För att göra detta skriver vi:

sudo ifdown wlan0

Därefter öppnar vi filen «gränssnitt»:

sudo cp /etc/network/interfaces /etc/network/interfaces.orig
sudo nano /etc/network/interfaces

Och vi konfigurerar det enligt följande:

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.1
netmask 255.255.255.0

Vi kommenterar eller tar bort de andra raderna. Vi sparar ändringarna och stänger dokumentet. För att tillämpa ändringarna just nu måste vi skriva:

sudo ifconfig wlan0 192.168.2.1

Konfigurera åtkomstpunkten

Återigen redigerar vi en annan fil genom att skriva:

sudo cp /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig
sudo nano /etc/hostapd/hostapd.conf

Och i den här filen tar vi bort det som finns (om det finns något) och klistrar in:

interface=wlan0
ssid=RaspiAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Vi kan ändra både SSID med namnet vi vill ge till vårt nätverk och kanalen i kanalen och wpa_passphrase med lösenordet, i klartext, som vi vill använda för att ansluta.

För att avsluta konfigurationen öppnar vi en ny konfigurationsfil genom att skriva:

sudo cp /etc/default/hostapd /etc/default/hostapd.orig
sudo nano /etc/default/hostapd

Vi avmarkerar och ändrar raden # DAEMON_CONF = »» av:

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

Vi sparar och stänger filen för att slutföra. Vi är nästan klara, bara några mindre inställningar återstår och konfigurerar Raspbian så att allt detta körs vid systemstart automatiskt.

Slutliga inställningar

Även om vår router-åtkomstpunkt redan är konfigurerad och fungerar kan vi inte ansluta till Internet via den, och inte heller utförs konfigurationerna automatiskt vid start. För att detta ska fungera måste vi följa de sista stegen som vi listar nedan.

Konfigurera paketvidarebefordran

För att Raspberry Pi ska vidarebefordra paketen från sig själv till routern för att kunna gå till Internet måste vi konfigurera följande element:

Vi öppnar och redigerar sysctl-filen:

sudo cp /etc/sysctl.conf /etc/sysctl.conf.orig
sudo nano /etc/sysctl.conf

I det här dokumentet letar vi efter raden "# net.ipv4.ip_forward = 1" och vi kommer att avmarkera den och lämna:

net.ipv4.ip_forward=1

Vi sparar och stänger dokumentet. För att ändringarna ska träda i kraft omedelbart skriver vi:

sudo sysctl -p /etc/sysctl.conf

Vi aktiverar NAT genom att skriva:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE

Och vi sparar iptables-reglerna så att ändringarna kvarstår (vi installerar följande paket: sudo apt-get install iptables-persistent och vi följer guiden).

Konfigurera autostart

För att åtkomstpunkten och DHCP-servern ska kunna starta automatiskt med vår enhet, måste vi specifikt ange detta och aktivera tjänsterna tillsammans med Raspbian. För att göra detta från terminalen skriver vi:

sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable

Senaste inställningen

Innan du är klar finns det en WPAsupplicant-fil som kan orsaka problem vid vissa tillfällen, så för att se till att detta inte händer flyttar vi den till en säker väg genom att skriva:

sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service /home/pi

Vår Raspberry Pi fungerar redan som en Wi-Fi-router

När vi väl har nått denna punkt kan vi starta om vår Raspberry Pi. När den startar om kommer den automatiskt att skapa åtkomstpunkten, tilldela IP-adresser till de värdar som ansluter till den och dirigera all trafik från Wi-Fi-kortet genom nätverkskortet till routern, så länge vi är anslutna till en.