Jak nakonfigurovat systém Raspberry Pi nebo Linux jako směrovač WiFi

Žádný Linuxoperační systém na bázi lze nakonfigurovat jako skutečný WiFi router s několika jednoduchými kroky. Například pokud použijeme a Raspberry Pi s operačním systémem Raspbian (který je stále operačním systémem založeným na Linuxu) jej můžeme nakonfigurovat tak, aby používal různá síťová rozhraní a vytvořil WiFi router s poměrně slušným výkonem, ale musíme také vzít v úvahu jeho omezení portů. V tomto tutoriálu vás naučíme, jak nakonfigurovat Raspberry Pi nebo jakýkoli operační systém založený na Linuxu, aby fungoval jako směrovač Wi-Fi.

Počáteční kroky

První věcí, kterou musíme udělat, je nainstalovat operační systém na naši Raspberry Pi. V našem případě jsme použili nejnovější verzi Raspbian, i když lze použít jakýkoli jiný systém (i když se příkazy mohou lišit).

Nakonfigurujte systém Raspberry Pi nebo Linux jako směrovač WiFi

Jakmile je operační systém nainstalován na náš micro SD, spustíme jej poprvé, abychom dokončili jeho instalaci a konfiguraci (například v případě Raspbian vyplňte « sudo raspi-config « kouzelník ).

Po nakonfigurování a fungování zařízení a připojení k internetu prostřednictvím RJ-45 aktualizujeme softwarové zdroje, aplikace a systém zadáním:

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

Jakmile v našem aktualizovaném systému můžeme pokračovat v tutoriálu, jak nakonfigurovat Raspberry Pi tak, aby fungoval jako router.

Zkontrolujte, zda je naše karta USB Wi-Fi detekována a funguje v režimu AP

První věcí, kterou uděláme, je zkontrolovat, zda zařízení detekuje kartu. K tomu zadáme:

lsusb

A tam by se to mělo objevit. Jakmile se objeví, provedeme další příkaz, abychom ověřili, že karta Wi-Fi může fungovat v režimu AP:

iw list

Pokud ve výsledku, který se objeví na obrazovce, vidíme řádek: Režim: AP, karta je kompatibilní s provedením této konfigurace, jinak musíme hledat jinou kartu, jejíž čipová sada umožňuje její konfiguraci jako přístupového bodu, nebo AP.

Nainstalujte požadovaný software a závislosti

Většina potřebného softwaru je ve výchozím nastavení nainstalována v Raspbian, ačkoli jediný, který by nám mohl způsobit problémy, je server DHCP a služba vytváření přístupových bodů, které můžeme nainstalovat ručně (pokud není k dispozici) zadáním:

sudo apt-get install isc-dhcp-server hostapd

Jakmile v tomto okamžiku můžeme restartovat Raspberry a začít s konfigurací.

nastavení

Všechny konfigurace jsou prováděny z terminálu v textovém režimu. Budeme používat nano editor a vždy před úpravou souboru vytvoříme jeho kopii, abychom ji v případě chyby mohli obnovit.

Nakonfigurujte server DHCP

První věcí, kterou nakonfigurujeme, bude server DHCP. Za tímto účelem upravíme následující soubor:

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

V tomto souboru musíme hledat řadu řádků. Následující jsou ve výchozím nastavení bez komentování, komentujeme je s # před nimi, takže již nejsou povoleny a jsou následující:

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

Budeme hledat prvek #authoritative; který ve výchozím nastavení bude komentován a my jej odkomentujeme, abychom jej aktivovali, takže:

authoritative;

Nakonec nakonfigurujeme síť, ve které bude server DHCP pracovat (v našem příkladu v síti 192.168.2.0). Za tímto účelem přejdeme na konec dokumentu a přidáme:

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;
}

Uložíme změny a zavřeme soubor.

Otevřeme nový konfigurační soubor serveru zadáním:

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

V tomto dokumentu vyhledáme (na konci) řádek INTERFACES = »» a změníme jej na:

INTERFACES="wlan0"

Server DHCP je již nakonfigurován. Pokračujeme v tutoriálu.

Nakonfigurujte připojení WLAN a Ethernet

První věcí, kterou uděláme, je odpojení karty Wi-Fi. K tomu zadáme:

sudo ifdown wlan0

Dále otevřeme soubor «rozhraní»:

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

A nakonfigurujeme to takto:

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

Ostatní řádky komentujeme nebo odstraňujeme. Uložíme změny a zavřeme dokument. Chcete-li použít změny v tuto chvíli, musíme zadat:

sudo ifconfig wlan0 192.168.2.1

Nakonfigurujte přístupový bod

Opět upravíme další soubor zadáním:

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

A v tomto souboru odstraníme, co tam je (pokud tam něco je) a vložíme:

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

Můžeme změnit SSID podle názvu, který chceme dát naší síti, i kanálu v kanálu a wpa_passphrase s heslem, v prostém textu, které se chceme použít k připojení.

Pro dokončení konfigurace otevřeme nový konfigurační soubor zadáním:

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

Odkomentujeme a změníme řádek # DAEMON_CONF = »» od:

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

Uložíme a zavřeme soubor pro dokončení. Jsme téměř hotovi, zbývá jen několik drobných nastavení a nakonfigurujeme Raspbian tak, aby to vše běželo při spuštění systému automaticky.

Konečné nastavení

Přestože je náš přístupový bod routeru již nakonfigurován a funkční, nemůžeme se přes něj připojit k internetu, ani se konfigurace neprovádějí automaticky při spuštění. Aby to fungovalo, musíme postupovat podle posledních kroků, které uvádíme níže.

Nakonfigurujte předávání paketů

Aby Raspberry Pi přeposílal pakety ze sebe na router, aby mohl přejít na internet, musíme nakonfigurovat následující prvky:

Otevřeme a upravíme soubor sysctl:

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

V tomto dokumentu vyhledáme řádek „# net.ipv4.ip_forward = 1“ a odkomentujeme ho, přičemž ponecháme:

net.ipv4.ip_forward=1

Dokument uložíme a zavřeme. Aby se změny projevily okamžitě, napíšeme:

sudo sysctl -p /etc/sysctl.conf

Povolujeme NAT zadáním:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE

A uložíme pravidla iptables, aby změny přetrvávaly (nainstalujeme následující balíček: sudo apt-get install iptables-persistent a následujeme průvodce).

Nakonfigurujte automatické spuštění

Aby se přístupový bod a server DHCP spouštěly automaticky s naším zařízením, musíme to konkrétně označit a povolit aktivaci služeb společně s Raspbian. To provedeme z terminálu, který zadáme:

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

Poslední nastavení

Před dokončením je soubor WPAsupplicant, který může při některých příležitostech způsobit problémy, takže abychom se ujistili, že se tak nestane, přesuneme jej na bezpečnou cestu zadáním:

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

Naše Raspberry Pi již funguje jako Wi-Fi router

Jakmile dosáhneme tohoto bodu, můžeme restartovat Raspberry Pi. Když se restartuje, automaticky vytvoří přístupový bod, přidělí adresy IP hostitelům, kteří se k němu připojují, a směruje veškerý provoz z karty Wi-Fi přes síťovou kartu k routeru, pokud jsme k němu připojeni.