Internetverbindung via WLAN teilen

Mein (zugegeben relativ günstiger) WLAN Router ist leider in der aktuellen Konfiguration nicht in der Lage mein komplettes Haus mit einer ausreichend schnellen WLAN-Verbindung zu versorgen, wodurch beim nächtlichen Streaming auf den Fernseher vor allem eines des Öfteren aufkommt: Frust. Und auch im Schlafzimmer ist die Abdeckung nicht optimal. Am besten wäre es natürlich den Router mittig im Gebäude zu platzieren (was momentan leider nicht geht), oder alternativ einen Router mit mehr Sendeleistung zu kaufen (was ich nicht will … weil Geld. Ihr kennt das Problem), weshalb mein Homeserver, der zufälligerweise genau zwischen Wohn- und Schlafzimmer in der Ecke steht und via Ethernet an den Router angeschlossen ist, nun als WLAN Access Point missbraucht wird.

Auf dem Server läuft Archlinux, und die Einrichtung ist – anders als befürchtet – sehr simpel. Im Prinzip braucht man nur zwei Dinge machen:

  • WLAN Access Point aufsetzen
  • Internetverbindung von Ethernet zum Access Point durchreichen

Im Archlinux-Wiki ist das ganze bereits recht schön beschrieben, leider lassen sich manche Lösungen nur suboptimal umsetzen. Ich habe mich daher für den im Folgenden beschriebenen Weg entschieden. Hier in der Konfiguration verwende ich enp1s0 (Ethernet) und wlp1s0 (WLAN) als Schnittstellen.

WLAN Access Point aufsetzen mittels hostapd

Zuerst muss man hostapd installieren…

# pacman -S hostapd

…und danach erfolgt die Konfiguration in der Datei /etc/hostapd/hostapd.conf:

# Interfaces
interface=wlp1s0
bridge=br0

# Log
logger_stdout=-1
logger_stdout_level=2

# Set and use country code
country_code=DE
ieee80211d=1

# SSID and password
ssid=KopfKrieg-AP
wpa_passphrase=SupergeheimesPasswort

# Driver
driver=nl80211
# Auto select channel
channel=0
# Maximum number of clients
max_num_sta=20
# Open System Authentication and Shared Key Authentication
auth_algs=3
# IEEE 802.11g; 2.4GHz
hw_mode=g
# IEEE 802.11n on top of IEEE 802.11g
ieee80211n=1
# Cipher mode
rsn_pairwise=CCMP
# WPA2 only
wpa=2
# Accepted key management algorithms
wpa_key_mgmt=WPA-PSK
# WPA1 and WPA2 cipher suites
wpa_pairwise=TKIP CCMP

Letztlich noch den Service aktivieren bzw. starten, und damit wäre Teil eins geschafft:

# systemctl enable hostapd.service
# systemctl start hostapd.service

Ethernet-WLAN-Brücke mittels netctl realisieren

Der zweite Teil ist ebenso simpel, es muss lediglich die Datei /etc/netctl/samples/bridge nach /etc/netctl/bridge kopiert und angepasst werden:

Description="Bridge enp1s0 to wlp1s0"
Interface=br0
Connection=bridge
BindsToInterfaces=(enp1s0)
IP=dhcp

Danach speichern, und das Profil via netctl aktivieren und auch gleich starten:

# netctl enable bridge
# netctl start bridge

Done

Jetzt nur noch allen via WLAN verbundenen Geräten die neu eingerichtete Verbindung beibringen und fertig. Streaming ist damit zumindest bei mir jetzt wieder ruckelfrei möglich, und auch alles andere läuft wieder flüssiger.