- Eine Schritt-für-Schritt-Anleitung, wie sich mit einem gewöhnlichen Computer oder Mini-PC ein vollwertiger Router aufbauen lässt
- Aufbau eines kabelgebundenen und drahtlosen Netzwerks unter Debian oder Alpine Linux mit Minimalpaketen wie
hostapd, dnsmasq und bridge-utils
- Mit nur zwei Ethernet-Interfaces lässt sich praktisch jedes Gerät – Desktop, Laptop oder SBC – in einen Router verwandeln
- Umsetzung von Funktionen auf dem Niveau kommerzieller Router durch Konfiguration von Firewall (
nftables), DHCP-/DNS-Diensten und IP-Forwarding
- Mit ausgemusterter Hardware und Open Source lässt sich eine stabile und flexible Netzwerkinfrastruktur aufbauen
Wie man aus jedem Gerät einen Router macht
- Nach den US-Maßnahmen zum Importverbot von Consumer-Routern wird vorgestellt, wie man mit vorhandener Hardware selbst einen Router aufsetzt
- Auf Basis langjähriger, stabiler Praxiserfahrung mit einem Linux-basierten Mini-PC als Router werden die nötigen Komponenten und Einrichtungsschritte geordnet erklärt
- Ein Router hat im Kern dieselbe Struktur wie ein gewöhnlicher Computer, daher lässt er sich mit Desktops, Laptops, SBCs und anderen Geräten umsetzen
- Die Konfiguration erfolgt unter Debian oder Alpine Linux mit Minimalpaketen wie hostapd, dnsmasq und bridge-utils
- Ziel ist nicht eine politische Reaktion, sondern die Wiederverwendung vorhandener Hardware und ein besseres Verständnis von Netzwerken
Hardware-Auswahl
- Ein passiv gekühlter Mini-PC ist ideal, aber mit zwei Ethernet-Interfaces ist praktisch jede Hardware nutzbar
- Ergänzen lässt sich das mit einem USB-Ethernet-Dongle; die Zuverlässigkeit ist etwas geringer, aber es funktioniert ausreichend gut
- Als Beispiel kann ein Gerät mit Celeron 3205U Dual-Core (1,5 GHz) etwa 820–850 Mbit/s kabelgebunden und rund 300 Mbit/s per WLAN verarbeiten
- Früher bestand der Aufbau aus ausgemusterten Teilen wie ThinkPad T60, ExpressCard-PCIe-Bridge, Cisco 2960 Switch und D-Link-Router (nur als AP)
- Optisch improvisiert, funktional aber ein vollständiger Router
Netzwerkkonfiguration
- Interface-Aufteilung
eth0: WAN
eth1: LAN (kabelgebunden)
wlan0: LAN (drahtlos)
- Kabelgebundenes und drahtloses LAN werden über eine Bridge zu demselben Netzwerk zusammengefasst
- Werden zusätzliche LAN-Ports benötigt, lassen sich weitere USB-Ethernet-Dongles zur Bridge hinzufügen
- Als Betriebssystem dient Debian Linux, die Pflichtkomponenten sind:
hostapd: erstellt das Wi-Fi-Netzwerk
dnsmasq: DNS- und DHCP-Dienst
bridge-utils: Port-Bridgeing
Installation und erste Einrichtung
- BIOS-/UEFI-Einstellungen
- PXE-Netzwerk-Boot deaktivieren
- Energieverwaltung für USB/PCI deaktivieren
- Option für „automatisches Einschalten nach Wiederherstellung der AC-Stromversorgung“ aktivieren
- Einen HDMI-Dummy-Dongle verwenden, um Boot-Probleme ohne angeschlossenen Bildschirm zu vermeiden
- Bei manchen Geräten muss das Repository
non-free-firmware aktiviert werden
- Firmware-Installation je nach WLAN-Chipsatz
- Intel:
firmware-iwlwifi
- Realtek:
firmware-ath9k-htc
- ältere Atheros-Chips:
firmware-atheros
Installation der erforderlichen Pakete
Namen der Netzwerk-Interfaces festlegen
Drahtloses Netzwerk erstellen
Interface-Konfiguration
IP-Forwarding aktivieren
Firewall- und NAT-Konfiguration
DHCP- und DNS-Konfiguration
- Verwendung von
dnsmasq (/etc/dnsmasq.conf)
interface=br0
dhcp-range=192.168.1.50,192.168.1.250,255.255.255.0,6h
dhcp-option=option:router,192.168.1.1
dhcp-option=option:dns-server,192.168.1.1
cache-size=10000
- Dienst aktivieren
sudo systemctl enable dnsmasq
Verwaltung über den seriellen Port
Funktionsprüfung
Zusätzliche Funktionen
- Erweiterbar um Logging und Traffic-Analyse, VLAN-Segmentierung, IPv6-Unterstützung, VPN-Tunneling und dynamisches Routing (BGP, IGP)
- Auch Prometheus-basiertes Monitoring, DMZ-Port-Forwarding sowie Erkennung und Blockierung von Eindringversuchen sind möglich
- Es ist jedoch ratsam, auf dem Router selbst nicht zu viel zusätzliche Software zu installieren und Traffic stattdessen per DMZ oder VLAN zu trennen
Fazit
- Schon mit freier Software und ausgemusterter Hardware lässt sich ein vollwertiger Router bauen
- Ein Router ist letztlich nichts anderes als ein gewöhnlicher Computer, daher kann ihn praktisch jeder selbst bauen
- So lässt sich mit ungenutzter Hardware eine stabile und flexible Netzwerkinfrastruktur aufbauen
1 Kommentare
Hacker-News-Kommentare
Großartiger Artikel. Ich möchte das create_ap-Skript vorstellen, das ich seit Langem pflege.
Es ist im GitHub-Repository zu finden.
Das ist ein Shell-Skript, das jeden Linux-Computer mit einem einzigen Befehl in einen WiFi-Router verwandelt.
Im Grunde versetzt es die WiFi-Karte in den AP-Modus und konfiguriert WPA2/3, MAC-Filterung sowie DHCP-/DNS-Server automatisch.
Es hat kaum Abhängigkeiten und benötigt auch keinen NetworkManager.
Ich habe es sogar mit einem alten Atom-Mini-PC als Internet-Gateway zu Hause genutzt und verwende es oft, um ein Testnetzwerk für Reverse Engineering von IoT-Geräten aufzubauen.
Ein verwandtes Beispiel findet sich in diesem Artikel
Viele Kommentare sagen nur „Nimm einfach X“, aber der Kern dieses Artikels ist, die Minimalkonfiguration für Routing und ihre Einfachheit zu zeigen.
Wenn du schon einmal NAT in Docker oder einer VM verwendet hast, hast du im Grunde dasselbe bereits gemacht.
Auch die WiFi-Hotspot-Funktion von Android nutzt letztlich dieselben Linux-Kernel-Funktionen.
Wahrscheinlich wird sogar diese Nachricht gerade über mehrere Software-Router weitergeleitet
Ich halte das für ein gutes Software-Design-Prinzip
Auch Internet Connection Sharing unter Windows war letztlich nur ein Kontrollkästchen zum Aktivieren von NAT.
Dass Firewall, Switch, Dateiserver usw. in einem Gerät gebündelt und dann „Router“ genannt werden, scheint viele zu verwirren
Dieser Artikel hat bei mir alte Erinnerungen geweckt. Mein erster Linux-Anwendungsfall war, aus einem übrig gebliebenen Computer einen Router zu machen.
Ich habe zwei 3Com-ISA-NICs in einen 100MHz-Pentium gesteckt und ihn anhand des IP-Masquerading-HOWTO eingerichtet.
Später habe ich das auf Basis von Robert Zieglers Buch Linux Firewalls weiterentwickelt und sogar Spam-Filter und einen Squid-Cache ergänzt, sodass ausrangierte Hardware ziemlich nützlich wurde
Auch 27 Jahre später werde ich noch immer von Leuten gerufen, die wissen wollen, „wie man etwas mit Linux, Gummibändern und Büroklammern billig hinbekommt“
Siehe auch: Linux Routers - A Primer for Network Administrators
Ich nutze seit Langem OPNsense/pfSense und kann es sehr empfehlen.
Automatische Updates, Backups, WireGuard-Tunnel, paketbasiertes Filtering mit Suricata und mehr sind großartige Funktionen.
Wenn ich am Wochenende mein Netzwerk verwalte, ist es angenehm, Einstellungen statt im Terminal über eine Web-UI vorzunehmen.
Offizielle Website
pfSense, OpenWRT, Barracuda, Verizon OEM usw. haben im Grunde dieselben Funktionen, stellen sie aber alle unterschiedlich dar
Ich mag keine Produkte mit der Haltung „das Gerät weiß es besser als ich“. Die mangelnde Flexibilität war ausschlaggebend
Ich habe mit einem Atom-Mini-PC bis 300Mb/s geroutet, bin dann aber mit dem Wechsel auf Gigabit-Internet auf eine VM-basierte OPNsense-Installation umgestiegen.
Es macht Spaß, bei einer Intel-4-Port-Karte die Ports einzeln an die VM durchzureichen
Ich nutze N100 + 10Gbit-Router-Hardware, und mir scheint die Latenz höher zu sein als bei dedizierter Router-Hardware.
Dedizierte Chipsätze verarbeiten Pakete viel effizienter ohne CPU-Beteiligung.
Ich frage mich, ob das schon einmal jemand wirklich gemessen hat. Die meisten machen nur Bandbreitentests
OpenWRT unterstützt einige Hardware-Switch-APIs, aber bei PCIe-Karten gibt es davon kaum etwas.
Mikrotiks CCR2004-1G-2XS-PCIe ist ein interessantes Beispiel.
Im Grunde wird ein vollständiges Router-Board mit RouterOS per PCIe angebunden.
Wenn man die 25Gbps-Ports nutzen kann, ist das sinnvoll, sonst unterscheidet es sich nicht stark von einem RB5009
Wenn man einen Managed Switch hat, ist eine Router-Konfiguration auch mit nur einer NIC möglich.
Wenn man ihn als 802.1q-Trunk-Port konfiguriert, kann der Switch als Interface-Erweiterung dienen.
Bei mir zu Hause läuft so eine „router-on-a-stick“-Konfiguration.
Mit einem PoE-Switch und gebrauchten Aruba-IAPs lässt sich WiFi in deutlich besserer Qualität aufbauen als mit Consumer-Geräten.
Früher habe ich ein ThinkPad als Router verwendet, inzwischen ist es ein Dell Optiplex als Homelab-Router, auf dem auch VMs laufen.
Alpine Linux eignet sich dafür hervorragend
Ein AP mit vergleichbarer Leistung würde etwa 180 Dollar kosten, was schade ist
Ich frage mich nach den politischen Gründen für Importverbote bei Routern.
Da der meiste Traffic ohnehin per TLS verschlüsselt ist, frage ich mich, warum das weiterhin als Risiko gilt.
Geht es vielleicht um Botnets, DDoS, schwache Standardpasswörter oder Angriffe auf interne Netze?
Fälle wie Volt Typhoon und Flax Typhoon sind weiterhin aktiv.
Ein Verbot ausländischer Geräte löst das nicht vollständig, aber Sicherheit ist kein Produkt, sondern ein Prozess, daher ist die Steuerung der Lieferkette notwendig
Ich habe früher bei Amazon an Bot Mitigation gearbeitet und Traffic von Consumer-Geräten aus aller Welt gesehen.
Schon mit weniger als der Hälfte der aktiven Geräte entstand ein Traffic-Volumen, das sich praktisch nicht mehr stoppen ließ
Ob Huawei oder Netgear: Die Quelle von DDoS ist dieselbe
Zugriff auf DNS-/Traffic-Metadaten, Angriffe auf interne Netze, DDoS, Internetabschaltung usw.
Letztlich kann das als Mittel zur Überwachung und Kontrolle missbraucht werden
Dass ausländische Geräte Backdoors haben könnten, ist eine realistische Annahme
„Nimm einfach OPNsense“ ist im Betriebsumfeld ein guter Rat, aber zum Lernen der schlechteste.
Der Wert dieses Artikels liegt darin zu zeigen, nach welch einfachen Prinzipien Routing funktioniert
Im Artikel wurde es nicht erwähnt, aber wenn man einen Rechner als Router nutzt, kann man mit Einstellungen wie in
/etc/sysctl.d/10_router.confOverhead reduzieren.
Das ist hilfreich für Tuning, um Latenz und Jitter für VoIP oder Gaming zu verringern.
Ich passe außerdem gro_flush_timeout, sch_cake, napi_defer_hard_irqs usw. an.
Das Ziel ist, dass die Familie ein besseres Gaming-Gefühl hat
Bei mir ist allein fq_codel in einer 10Gbps-Umgebung schon stabil genug
Mich interessiert eher der Ersatz des Glasfasermodems.
Das Gerät von AT&T wird häufig langsam und ich misstraue auch seiner Sicherheit.
Ich frage mich, ob es eine Anleitung dazu gibt, wie man direkt auf ein eigenes Glasfasermodem umsteigt