Zum Inhalt

Raspberry Pi als WLAN Access Point (Router) inklusive eigenem Webserver

Beim Zugänglich machen des Internets via WLAN unterscheidet man grundsätzlich zwischen Bridge und Router. Der Bridge-Modus ist der einfachere, dabei werden einfach alle Pakete direkt durchgeleitet. Ein Router hingegen verbindet zwei getrennte Netze miteinander. In unserem Fall ein Ethernet und ein WLAN, wobei er letzteres selbst aufspannt und die Clients entsprechend selbst verwaltet.

Ziele

Einen Raspberry Pi (hier Version 3 mit eingebautem WLAN) zum WLAN-Router zu machen inklusive eigenem Webserver.
Beide IP-Adressen (Ethernet und WLAN) statisch vergeben.
Unnötige Dienste abschalten.

Hardware testen

Als erstes finden wir heraus ob unsere Hardware überhaupt den benötigten Access-Point-Modus unterstützt, dazu installieren wir zunächst die Wireless-Tools: (Der Raspberry Pi 3 unterstützt diesen Modus mit dem eingebauten WLAN bereits)
sudo apt-get install iw
Nun der Test:
iw list | grep AP
Werden eine oder mehrere Zeilen ausgegeben stehen die Zeichen gut.

Softwareinstallation

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install dnsmasq hostapd

Dienste deaktivieren

sudo systemctl disable wpa_supplicant
sudo systemctl disable dhcpcd

Konfiguration

sudo nano /etc/network/interfaces

auto lo
iface lo inet loopback

#iface enxb123123123 inet manual
auto enxb123123123 
iface enxb123123123 inet static 
address 192.168.1.2/24 
gateway 192.168.1.1 
#dns-nameservers 192.168.1.2 203.0.113.203 
#dns-search example.net 

# wlan 
Powersaving OFF 
#funktioniert wohl manchmal nicht, deshalb die Zeile drunter 
#wireless-power off post-up iw dev wlan0 set power_save off 
# WLAN allow-hotplug wlan0 
#iface wlan0 inet manual iface wlan0 inet static address 192.168.6.1/24 gateway 192.168.1.1 

## SPAETER, noch ungetestet, fuer den Internetzugriff 
# Firewall Reset
#up /sbin/iptables -F 
#up /sbin/iptables -X 
#up /sbin/iptables -t nat -F
# Loopback 
#up /sbin/iptables -A INPUT -i lo -j ACCEPT 
#up /sbin/iptables -A OUTPUT -o lo -j ACCEPT # NAT und Masquerading aktivieren 
#up /sbin/iptables -A FORWARD -o enxb123123123 -i wlan0 -m conntrack --ctstate NEW -j ACCEPT 
#up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
#up /sbin/iptables -t nat -A POSTROUTING -o enxb123123123 -j MASQUERADE 
# IP-Forwarding 
#up sysctl -w net.ipv4.ip_forward=1 
#up sysctl -w net.ipv6.conf.all.forwarding=1 
# restart hostapd und dnsmasq
#up service hostapd restart 
#up service dnsmasq restart

 

sudo nano /etc/dnsmasq.conf
# DHCP aktiv fuer WLAN, nicht fuer LAN
interface=wlan0
no-dhcp-interface=enxb123123123

# IP-Adressen + Lease
dhcp-range=192.168.6.100,192.168.6.150,24h

# DNS
dhcp-option=option:dns-server,192.168.6.1

Konfiguration testen

dnsmasq --test -C /etc/dnsmasq.conf

Dauerhaft als Dienst aktivieren

sudo systemctl enable dnsmasq

Konfiguration des Access Points

sudo nano /etc/hostapd/hostapd.conf

# Schnittstelle und Treiber
interface=wlan0
# Bei Problemen nachfolgenden probieren
#driver=nl80211

# WLAN-Konfiguration
ssid=MeinRouter
channel=1
hw_mode=g
ieee80211n=1
ieee80211d=1
country_code=DE
wmm_enabled=1

# WLAN-Verschlüsselung
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=BitteEinNeuesPasswortAusdenken

Hostapd als Dämon im Hintergrund einrichten

sudo nano /etc/default/hostapd

DAEMON_CONF=“/etc/hostapd/hostapd.conf“

Zugriff auf root beschränken

sudo chmod 600 /etc/hostapd/hostapd.conf

Konfiguration testen

sudo hostapd -dd /etc/hostapd/hostapd.conf

Wenn alles richtig ist beendet sich dieser Befehl nicht sondern muß mit Strg + C abgebrochen werden.

unter anderem sollten folgende beiden Einträge zu finden sein:

wlan0: interface state COUNTRY_UPDATE->ENABLED
wlan0: AP-ENABLED

Test der Dienste DNS, DHCP, WLAN und Routing

sudo systemctl status hostapd
ps ax | grep hostapd
sudo systemctl status dnsmasq
ps ax | grep dnsmasq
Published inRaspian

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.