Willkommen zu dieser detaillierten Anleitung, die Ihnen Schritt für Schritt zeigt, wie Sie aus Ihrem Debian Bookworm Server oder Desktop einen vollwertigen WLAN Access Point mit integriertem DNS– und DHCP-Server machen können. Ob Sie Ihr bestehendes Netzwerk erweitern, ein separates Gastnetzwerk einrichten oder einfach nur mehr Kontrolle über Ihre Drahtlosverbindungen wünschen – diese Anleitung führt Sie zum Ziel. Wir nutzen dabei die bewährten Tools hostapd
für den Access Point, dnsmasq
für DHCP und DNS sowie nftables
für die Firewall-Regeln.
Einleitung: Ihr Debian Bookworm als WLAN-Zentrale
Haben Sie sich jemals gefragt, wie Sie aus einem gewöhnlichen Rechner einen leistungsstarken WLAN Access Point zaubern können? Besonders in Umgebungen, wo ein dedizierter WLAN-Router fehlt oder Sie spezifische Anforderungen an die Netzwerkkonfiguration haben, ist ein Linux-System als Access Point eine hervorragende Lösung. Mit Debian Bookworm, der neuesten stabilen Version, haben Sie eine solide Basis. Wir werden nicht nur die drahtlose Konnektivität bereitstellen, sondern auch einen lokalen DNS-Server und einen DHCP-Server einrichten, um Ihren Clients automatisch IP-Adressen zuzuweisen und die Namensauflösung zu steuern. Das gibt Ihnen maximale Flexibilität und Kontrolle über Ihr Netzwerk.
Voraussetzungen: Das Fundament für Ihren Access Point
Bevor wir loslegen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
- Ein installiertes Debian Bookworm System (Server oder Desktop).
- Ein WLAN-Adapter, der den „AP-Modus” (Access Point Mode) unterstützt. Die meisten modernen WLAN-Chipsätze (z.B. Intel, Realtek, Atheros) tun dies mit den
nl80211
-Treibern. Überprüfen Sie dies ggf. mitiw list | grep "AP"
. - Eine zweite Netzwerkschnittstelle (Ethernet), die mit Ihrem bestehenden Internetzugang verbunden ist. Dies ist Ihre WAN-Verbindung.
- Grundkenntnisse im Umgang mit der Linux-Kommandozeile und Texteditoren (z.B.
nano
odervim
). - Root-Rechte oder die Möglichkeit,
sudo
zu verwenden.
Schritt 1: Systemvorbereitung und Installation der Kernkomponenten
Beginnen wir mit der Aktualisierung Ihres Systems und der Installation der notwendigen Pakete. Öffnen Sie ein Terminal und führen Sie die folgenden Befehle aus:
sudo apt update
sudo apt upgrade -y
sudo apt install hostapd dnsmasq nftables -y
hostapd
: Dies ist der Daemon, der die eigentliche Funktion des WLAN Access Points bereitstellt.dnsmasq
: Ein leichter DHCP-Server und DNS-Forwarder, perfekt für kleine Netzwerke.nftables
: Das Standard-Framework für die Firewall-Verwaltung unter Debian Bookworm.
Schritt 2: Die Netzwerkadapter richtig konfigurieren
Zuerst müssen wir Ihre Netzwerkadapter identifizieren und konfigurieren. Ihr Ethernet-Adapter (z.B. eth0
oder enpXsX
) ist für die Internetverbindung zuständig. Ihr WLAN-Adapter (z.B. wlan0
oder wlpXsX
) wird der Access Point sein.
2.1 WLAN-Adapter identifizieren
Verwenden Sie ip a
oder iw dev
, um den Namen Ihres WLAN-Adapters herauszufinden. Wir nehmen im Folgenden an, er heißt wlan0
. Sollte Ihr WLAN-Adapter bereits von NetworkManager
verwaltet werden, kann es zu Konflikten kommen. Es ist ratsam, NetworkManager
für diese spezielle Schnittstelle zu deaktivieren oder es komplett zu deinstallieren, wenn es nur auf diesem System läuft.
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager # Nur, wenn NetworkManager nicht mehr benötigt wird
# Oder: NetworkManager konfigurieren, wlan0 nicht zu verwalten (via nmcli oder GUI)
2.2 Statische IP-Adresse für den WLAN-Adapter
Der WLAN-Adapter, der als Access Point fungiert, benötigt eine statische IP-Adresse. Dies ist die Gateway-Adresse für alle Clients, die sich mit Ihrem Access Point verbinden. Wir verwenden systemd-networkd
für die Konfiguration, da dies unter Debian Bookworm der bevorzugte Weg ist.
Erstellen Sie eine neue Konfigurationsdatei für Ihren WLAN-Adapter, z.B. /etc/systemd/network/20-wireless-ap.network
:
sudo nano /etc/systemd/network/20-wireless-ap.network
Fügen Sie den folgenden Inhalt ein (ersetzen Sie wlan0
durch den tatsächlichen Namen Ihres WLAN-Adapters und passen Sie die IP-Adresse bei Bedarf an. Stellen Sie sicher, dass dieser IP-Bereich nicht mit Ihrem bestehenden Netzwerk kollidiert):
[Match]
Name=wlan0
[Network]
Address=192.168.100.1/24
DHCP=no
Speichern und schließen Sie die Datei. Starten Sie systemd-networkd
neu, um die Änderungen zu übernehmen:
sudo systemctl restart systemd-networkd
Überprüfen Sie, ob die IP-Adresse korrekt zugewiesen wurde mit ip a show wlan0
.
Schritt 3: hostapd für den WLAN Access Point einrichten
Nun konfigurieren wir hostapd
. Die Hauptkonfigurationsdatei ist /etc/hostapd/hostapd.conf
. Sie existiert möglicherweise noch nicht oder ist leer. Erstellen Sie sie oder bearbeiten Sie sie:
sudo nano /etc/hostapd/hostapd.conf
Fügen Sie die folgenden Zeilen ein und passen Sie die Werte für ssid
und wpa_passphrase
an. Die ssid
ist der Name Ihres WLAN-Netzwerks, und wpa_passphrase
ist das Passwort (mindestens 8 Zeichen):
# Die Schnittstelle, die als Access Point dienen soll
interface=wlan0
# Der Treiber für den WLAN-Adapter. nl80211 ist für die meisten modernen Karten
driver=nl80211
# Der Name (SSID) Ihres WLAN-Netzwerks
ssid=MeinDebianAP
# WLAN-Modus (g für 2.4 GHz, n für 2.4 GHz oder 5 GHz, ac für 5 GHz).
# wlan0 unterstützt oft nur g/n.
hw_mode=g
# Der Kanal, auf dem der AP senden soll (1-11 für 2.4 GHz).
# Wählen Sie einen, der nicht von Nachbarn genutzt wird, um Interferenzen zu vermeiden.
channel=6
# Aktiviert WMM (Wi-Fi Multimedia) für bessere Performance bei Multimedia-Anwendungen
wmm_enabled=1
# Versteckt die SSID (Optional, für ein wenig mehr "Sicherheit durch Obskurität")
# ignore_broadcast_ssid=1
# Authentifizierungsalgorithmen
auth_algs=1
# WPA2-Personal (PSK)
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
# Das Passwort für Ihr WLAN-Netzwerk (mind. 8 Zeichen)
wpa_passphrase=IhrSicheresPasswortHier
# Optionale erweiterte Einstellungen (oft nicht nötig, aber nützlich zu kennen)
# ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40] # Für 802.11n Fähigkeiten
# ieee80211n=1 # Aktiviert 802.11n
# Country code, wichtig für Sendeleistung und erlaubte Kanäle
country_code=DE # Oder Ihr entsprechendes Länderkürzel
ieee80211d=1
ieee80211h=1
Speichern und schließen Sie die Datei. Damit hostapd
beim Systemstart automatisch mit dieser Konfiguration startet, müssen wir noch die Standardkonfiguration anpassen:
sudo nano /etc/default/hostapd
Suchen Sie die Zeile #DAEMON_CONF=""
und ändern Sie sie zu:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Speichern Sie die Datei.
Schritt 4: dnsmasq für DHCP und DNS konfigurieren
dnsmasq
wird die IP-Adressen an Ihre WLAN-Clients vergeben (DHCP) und als DNS-Server fungieren. Die Konfigurationsdatei ist /etc/dnsmasq.conf
. Standardmäßig ist diese Datei stark kommentiert; wir erstellen eine neue, übersichtlichere Konfiguration.
Benennen Sie die bestehende Datei um und erstellen Sie eine neue:
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
sudo nano /etc/dnsmasq.conf
Fügen Sie den folgenden Inhalt ein (passen Sie die IP-Adressen und den Interface-Namen an Ihr Setup an):
# Das Interface, auf dem dnsmasq lauschen soll (Ihr WLAN-AP-Interface)
interface=wlan0
# Die IP-Adresse, auf der dnsmasq lauschen soll (die statische IP Ihres APs)
listen-address=192.168.100.1
# DHCP-Bereich: Start-IP, End-IP, Lease-Time (z.B. 12h)
dhcp-range=192.168.100.100,192.168.100.250,12h
# Gateway für die Clients
dhcp-option=3,192.168.100.1
# DNS-Server für die Clients (hier der AP selbst, der die Anfragen weiterleitet)
dhcp-option=6,192.168.100.1
# Sichert, dass dnsmasq nur auf den spezifizierten Interfaces lauscht
bind-interfaces
# Weiterleitung von DNS-Anfragen an upstream-Server (z.B. Google DNS oder Ihr Router)
# Die /etc/resolv.conf des Debian-Systems wird als Standard verwendet.
# Alternativ können Sie spezifische Server hier eintragen:
# server=8.8.8.8
# server=8.8.4.4
# Log-Anfragen (optional, für Debugging)
log-queries
log-dhcp
Speichern und schließen Sie die Datei.
Schritt 5: IP-Weiterleitung und Firewall (NAT) mit nftables
Damit Ihre WLAN-Clients über den Access Point ins Internet gelangen können, müssen wir die IP-Weiterleitung aktivieren und Network Address Translation (NAT) einrichten. nftables ist hier unser Tool der Wahl.
5.1 IP-Weiterleitung aktivieren
Bearbeiten Sie die Datei /etc/sysctl.conf
, um die IP-Weiterleitung dauerhaft zu aktivieren:
sudo nano /etc/sysctl.conf
Suchen Sie die Zeile #net.ipv4.ip_forward=1
, entkommentieren Sie sie (entfernen Sie das #
) oder fügen Sie sie hinzu:
net.ipv4.ip_forward=1
Speichern und schließen Sie die Datei. Um die Änderung sofort anzuwenden, führen Sie aus:
sudo sysctl -p
5.2 nftables-Regeln für NAT
Jetzt erstellen wir die Firewall-Regeln. Ersetzen Sie eth0
durch den Namen Ihrer Internet-Schnittstelle und wlan0
durch den Namen Ihres Access Point Interfaces.
sudo nano /etc/nftables.conf
Fügen Sie die folgenden Regeln hinzu. Diese Regeln erlauben den Verkehr von wlan0
zu eth0
und führen NAT (Masquerading) durch, sodass alle ausgehenden Verbindungen vom Access Point zu kommen scheinen.
#!/usr/sbin/nft -f
flush ruleset
table ip filter {
chain input {
type filter hook input priority 0; policy drop;
# Akzeptiere Loopback-Verkehr
iif "lo" accept
# Akzeptiere etablierte und verwandte Verbindungen
ct state { established, related } accept
# Akzeptiere SSH von überall
tcp dport 22 accept
# Akzeptiere DHCP/DNS-Anfragen auf wlan0
iif "wlan0" udp dport { 67, 68 } accept
iif "wlan0" udp dport 53 accept
iif "wlan0" tcp dport 53 accept
# ICMP (Ping)
ip protocol icmp accept
# Verwerfe alles andere
drop
}
chain forward {
type filter hook forward priority 0; policy drop;
# Akzeptiere etablierte und verwandte Verbindungen
ct state { established, related } accept
# Erlaube Verkehr von wlan0 (AP) zu eth0 (WAN)
iif "wlan0" oif "eth0" accept
# Erlaube Antworten von eth0 (WAN) an wlan0 (AP)
iif "eth0" oif "wlan0" ct state new accept
# Verwerfe alles andere im Forward-Chain
drop
}
}
table ip nat {
chain postrouting {
type nat hook postrouting priority 100; policy accept;
# Masquerading: Erlaube den Clients auf wlan0, über eth0 ins Internet zu gehen
oif "eth0" masquerade
}
}
Speichern und schließen Sie die Datei. Um diese Regeln zu laden und persistent zu machen, führen Sie aus:
sudo systemctl enable nftables
sudo systemctl start nftables
Überprüfen Sie den Status mit sudo systemctl status nftables
. Sie können die geladenen Regeln auch mit sudo nft list ruleset
überprüfen.
Schritt 6: Dienste aktivieren und testen
Nun sind alle Konfigurationen abgeschlossen. Es ist Zeit, die Dienste zu starten und zu überprüfen, ob alles funktioniert.
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl enable dnsmasq
sudo systemctl start dnsmasq
Überprüfen Sie den Status der Dienste, um sicherzustellen, dass sie ohne Fehler laufen:
sudo systemctl status hostapd
sudo systemctl status dnsmasq
Wenn alles in Ordnung ist, sollten beide Dienste als „active (running)” angezeigt werden.
Testen der Verbindung
Nehmen Sie nun ein anderes Gerät (Smartphone, Laptop etc.) und suchen Sie nach WLAN-Netzwerken. Sie sollten Ihr neu erstelltes Netzwerk (z.B. „MeinDebianAP”) sehen. Verbinden Sie sich damit und geben Sie Ihr konfiguriertes Passwort ein. Ihr Gerät sollte eine IP-Adresse im Bereich 192.168.100.100-250 erhalten und in der Lage sein, Webseiten zu öffnen.
Sie können die zugewiesenen DHCP-Leases auch in den Logs von dnsmasq
überprüfen:
sudo journalctl -u dnsmasq -f
Fehlerbehebung: Wenn es mal hakt
Sollten Probleme auftreten, hier einige häufige Fehlerquellen und Lösungsansätze:
- WLAN-Netzwerk nicht sichtbar:
- Überprüfen Sie die
hostapd.conf
auf Tippfehler, insbesonderessid
,channel
unddriver
. - Stellen Sie sicher, dass Ihr WLAN-Adapter den AP-Modus unterstützt und der Treiber korrekt geladen ist (
sudo dmesg | grep -i wlan
). - Überprüfen Sie den Status von
hostapd
(sudo systemctl status hostapd
) auf Fehlermeldungen.
- Überprüfen Sie die
- Keine IP-Adresse vom DHCP-Server erhalten:
- Überprüfen Sie die
dnsmasq.conf
, insbesondereinterface
,listen-address
unddhcp-range
. - Stellen Sie sicher, dass
dnsmasq
läuft und auf dem richtigen Interface lauscht. - Die Firewall könnte DHCP-Anfragen blockieren. Überprüfen Sie Ihre
nftables
-Regeln.
- Überprüfen Sie die
- Internetzugang funktioniert nicht:
- Ist die IP-Weiterleitung aktiviert (
net.ipv4.ip_forward=1
)? - Überprüfen Sie Ihre
nftables
-Regeln für dieforward
– undpostrouting
-Chains. Sind die Interface-Namen (eth0
,wlan0
) korrekt? - Kann der Debian-Rechner selbst auf das Internet zugreifen (
ping google.com
)? Wenn nicht, liegt das Problem bei Ihrer WAN-Verbindung.
- Ist die IP-Weiterleitung aktiviert (
- Konflikte mit NetworkManager: Stellen Sie sicher, dass
NetworkManager
daswlan0
-Interface nicht verwaltet.
Sicherheit geht vor: Wichtige Hinweise für Ihren Access Point
Ein WLAN Access Point ist ein potenzielles Einfallstor in Ihr Netzwerk. Beachten Sie folgende Sicherheitshinweise:
- Starkes Passwort: Verwenden Sie immer ein langes und komplexes
wpa_passphrase
für Ihr WLAN. - Regelmäßige Updates: Halten Sie Ihr Debian Bookworm-System stets auf dem neuesten Stand (
sudo apt update && sudo apt upgrade
), um Sicherheitslücken zu schließen. - Firewall-Regeln überprüfen: Die bereitgestellten
nftables
-Regeln sind grundlegend. Je nach Ihren Anforderungen sollten Sie diese erweitern, um den Zugriff von außen auf Ihr Debian-System weiter einzuschränken. - Physische Sicherheit: Schützen Sie den Rechner, der den Access Point betreibt, vor unbefugtem Zugriff.
Fazit: Ihr eigener WLAN Access Point ist einsatzbereit!
Herzlichen Glückwunsch! Sie haben erfolgreich einen WLAN Access Point mit DNS– und DHCP-Server auf Ihrem Debian Bookworm-System eingerichtet. Diese Konfiguration bietet Ihnen eine stabile und flexible Grundlage für Ihre drahtlosen Netzwerkanforderungen. Mit dem Wissen, wie Sie hostapd
, dnsmasq
und nftables
steuern, können Sie nun weitere Anpassungen vornehmen und Ihr Netzwerk genau nach Ihren Vorstellungen gestalten. Egal, ob für das Heimbüro, ein Gäste-WLAN oder ein Laborumfeld – Ihr Debian-System ist jetzt eine leistungsfähige WLAN-Zentrale.