Wi-Fi access point z Raspberry Pi

Jedno z oblíbených využití minipočítače Raspberry Pi je vyrobit z něho Wi-Fi access point. Navíc, když je Raspberry od verze 3 vybaveno integrovaným wi-fi modulem, tak si o toto využití přímo říká. Jak tedy na to?

Wi-Fi access point z Raspberry Pi
Wi-Fi access point z Raspberry Pi

Instalace potřebných balíčků

Nejprve si jako vždy zaktualizujeme všechny balíčky na našem Raspberry Pi.

sudo apt-get update
sudo apt-get upgrade

Následně nainstalujeme potřebné balíčky hostapd, dnsmasq a bridge-utils.

sudo apt-get install hostapd dnsmasq bridge-utils
Jakmile máme balíčky nainstalovány, vypneme jejich služby, abychom je mohli nakonfigurovat.

sudo systemctl stop hostapd
sudo systemctl stop dnsmasq


Konfigurace hostapd

Nejprve musíme správně nastavit balíček hostapd. Jeho konfigurační soubor je /etc/hostapd/hostapd.conf. Pomocí vim ho tedy začneme upravovat.

sudo vim /etc/hostapd/hostapd.conf
Vložíme do něho následující konfiguraci.

interface=wlan0
bridge=br0
#driver=nl80211
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=JmenoSite
wpa_passphrase=HesloSite

Důležité jsou především poslední dvě řádky. V nich se definuje název (SSID) a heslo pro wi-fi. Obojí se zadává bez uvozovek a v plaintextu (bez jakéhokoliv šifrování).

Pokud máme konfigurační soubor připravený doplníme ho do /etc/default/hostapd. V tomto souboru odkomentujeme řádku DAEMON_CONF a jako její hodnotu zadáme "/etc/hostapd/hostapd.conf" (tentokráte v uvozovkách).

sudo vim /etc/default/hostapd
Výsledná řádka bude tedy vypadat takto:

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

Konfigurace dhcpcd

Dalším krokem je editace souboru /etc/dphcpd.conf.

sudo vim /etc/dhcpcd.conf
Do tohoto souboru doplníme dvě řádky. Musí být umístěny v závěru (na konci souboru), ale nad všemi řádky obsahujícími interface!

denyinterfaces eth0
denyinterfaces wlan0

Přesměrování požadavků z wlan0

Úprava bude v souboru /etc/sysctl.conf.

sudo vim /etc/sysctl.conf
Jediné co v něm musíme udělat, je odkomentovat řádku #net.ipv4.ip_forward=1. Odkomentování provedeme smazáním # na začátku řádku. Výsledný řádek tedy bude vypadat

net.ipv4.ip_forward=1

Nové pravidlo do iptables

Nyní provedeme dvojici příkazů

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sh -c "iptables-save" > /etc/iptables.ipv4.nat

Tím jsme vytvořili, soubor /etc/iptables.ipv4.nat. Tímto souborem potřebujeme inicializovat iptables po každém startu Raspberry Pi. Upravíme tedy soubor /etc/rc.local. Na konec doplníme volání

iptables-restore < /etc/iptables.ipv4.nat

Vytvoření bridge

Nyní vytvoříme bridge, který se bude jmenovat br0. Ten zajistí aby připojená zařízení měla dostupný internet :-).

Bridge vytvoříme sérií příkazů

sudo brtcl addbr br0
sudo brtcl addif br0 eth0

Nyní potřebujeme upravit soubor /etc/network/interfaces a doplnit do něho informace o mostu.

sudo vim /etc/network/interfaces
Doplníme

# Bridge setup
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0

Restart :-)

Nyní je potřeba restartovat Raspberry. Jakmile znovu nabootuje, měla by být dostupná síť s názvem JmenoSite (nebo nějakým vaším, které jste si nastavili v bodu Konfigurace hostapd).

Zápory tohoto řešení

V driveru nl80211, který používá integrovaná Wi-Fi maliny, není povoleno ACS survey. Není tedy možné používat channel=0 nebo channel=acs_survey pro automatickou detekci vhodného kanálu. Kanál je nutné nastavit napevno.

Závěr

Potřebujete si zlepšit wi-fi signál v nějakém koutě vašeho bytu/domu a máte dostupné Raspberry Pi? Tak je to jasná volba. Proč kupovat další wi-fi router, když s Malinou dosáhnete toho samého ;-).

Je možné využít buď integrovaný wi-fi adaptér nebo si dokoupit jiný. Pokud použijete jiný adaptér, je potřeba aby byl Raspberry Pi kompatibilní.

Zdroje:
https://www.raspberrypi.org
https://thepi.io

Raspberry Pi, Wi-Fi, Access Point

- (13. 6. 2018)

Líbil se vám článek?

Nasdílejte ho svým přátelům na sociálních sítích.

Google+

Názory, připomínky a jiné komentáře

Zatím nikdo nic nenapsal. Buďte první :-).

Vložit nový komentář
Kája z Norska
Kája z Norska

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.0