Raspberry PI als AccessPoint einrichten

Die Hardwareplatform Raspberry PI eignet sich auch sehr gut um diese als AccessPoint zu verwenden. Die Einrichtung erfolgt in wenigen Schritten.

Seiteninhalte

Installation der notwendigen Pakete

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install dnsmasq hostapd bridge-utils iptables

Deaktivieren der gerade Installierten Software bis wir alles konfiguriert haben:

sudo systemctl stop dnsmasq
sudo systemctl stop hostapd

DHCP client & IP Konfiguration

Zuerst schalten wir den DHCP Client für das wireless Interface (ich nehme hier an, dass dieses wlan0 ist – was wohl in 98% der Fällen so sein sollte).

sudo vi /etc/dhcpcd.conf

Am Ende der Datei folgendes einfügen:

denyinterfaces wlan0

Nun noch eine statische IP für unser WLAN Interface:

sudo vi /etc/network/interfaces
allow-hotplug wlan0  
iface wlan0 inet static  
    address 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0

Nun können wir den DHCP Client starten und die Einstellungen des wlan0 interface übernehmen:

sudo systemctl daemon-reload
sudo service dhcpcd restart
sudo ifdown wlan0 && sudo ifup wlan0

DHCP Server (dnsmasq) einrichten

Wir verwenden als DHCP Server für das WLAN Interface dnsmasq. Die hier standardmäßig mitgelieferte Konfiguration ist recht sperrig. Für unseren sehr einfachen Einsatzzweck starten wir also mit einer leeren Konfiguration.

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.org  
sudo vi /etc/dnsmasq.conf

In die Datei folgendes kopieren:

interface=wlan0
no-dhcp-interface=eth0
dhcp-range=192.168.0.100,192.168.0.200,255.255.255.0,24h
dhcp-option=option:dns-server,8.8.8.8

Mit dieser Konfiguration vergibt der DHCP Server Adressen in der Range von *.100 bis *.200 mit einer lease time von 24h und das natürlich nur über das Interface wlan0.

Konfiguration der AccessPoint Software (hostapd)

Die Konfiguration der AccessPoint Software erfolgt über eine einzige Konfigurationsdatei:

sudo vi /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=MyWifi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=P@ssw0rd
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Jetzt müssen wir dem System noch mitteilen wo es die Konfiguration findet.

sudo vi /etc/default/hostapd

In der Datei suchen wir den Teil „#DAEMON_CONF“ und ersetzen diesen durch folgenden:

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

… und gleich noch mal

sudo vi /etc/init.d/hostapd

Dort die Zeile mit „DAEOMON_CONF“ ebenfalls ersetzen mit

DAEMON_CONF=/etc/hostapd/hostapd.conf

Network Address Translate (NAT) einrichten

Erst mal müssen wir grundsätzlich das Weiterleiten von Paketen erlauben.

sudo vi /etc/sysctl.conf

In der Datei muss die Einstellung

#net.ipv4.ip_forward=1

auskommentiert werden.

allow_ipv4_forwarding-300x176-7752975

Um die Einstellung zu aktivieren bitte folgenden Befehl ausführen:

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

Nun brauchen wir noch die notwendigen Firewall Regeln

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Um diese zu persistieren installieren wir ein extra Paket:

sudo apt-get install iptables-persistent

Die Nachfrage des Installationsprogramms sollte mit „ja“ beantwortet werden

iptables_persist-1024x476-6162627

Sollte die Installation nicht funktionieren und pings zu z. B. security-blog.eu ebenfalls nicht funktioneren so muss ggf. die Nameserver Einstellung angepasst werden:

sudo vi /etc/resolv.conf

In der Datei sollte der Nameserver aufgeführt sein (z. B. der eigene vorhandene Internet-Router).

Zum Schluss würde ich empfehlen den Server ein Mal neu zu starten um alle Einstellungen auch wirklich aktiv werden zu lassen. Nach dem Neustart sollte das Wifi zu sehen sein und verbundenen Geräten den Zugang ins Internet bereitstellen.