Eine Linux Distribution (bestehend aus einem speziell angepassten LinuxKernel und diversen FOSS Paketen) eignet sich hervorragend zum Betreiben eines Routers.

Hardware: PC oder embedded Hardware

Als Erstes muss man sich entscheiden ob man einen ausgewachsenen PC als Router verwenden möchte, oder ob es nicht doch ein kleines und genügsames embedded Gerät sein soll. Beide haben ihre Vor- und Nachteile und für beide sind diverse eigens angepasste Linux Distributionen verfügbar.

embedded Geräte: Hardware-Router / WLAN-Router / DSL-Router / SOHO-Router

Das wohl bekannteste (und mittlerweile hoffnungslos veraltete) WLAN-Router dürfte das Linksys_WRT54G sein. In der OpenWrt Hardware Tabelle findet man jedoch sehr viel mehr unterstützte Geräte, insbesondere welche mit USB-Port. Beim Kauf hilft einem der Einkaufsratgeber.

Üblicherweise haben embedded Geräte zwischen 4 und 16 MiB Flash Speicher, die vierfache Menge an Arbeitsspeicher und eine sehr genügsame CPU mit MIPS oder ARM Befehlssatz. Der SoC hat

meist ein oder zwei Netzwerkkarten mit 100 oder mit 1000GBit/s und es ist ein Ethernet Switch integriert, der ebenfalls 100 oder 1000MBit/s kann. Häufig sind zusätzlich ein oder zwei WLAN

Karten integriert und selten Modem-Funktionalität für DSL, DOCSIS oder Mobilfunk.

Embedded Geräte kommen grundsätzlich mit vorinstallierter eigener Firmware daher. Diese lässt sich allein mit Hilfe eines Webbrowsers einstellen und bedienen, bietet dem Anwender aber nur

äußerst bescheidene Konfigurationsmöglichkeiten und enthält häufig Sicherheitslücken. Der versierte Linux-Anfänger überschreibt sie deswegen gleich nach dem Auspacken mit etwas brauchbarerem: OpenWrt.

Auf der EmbeddedSystem Wiki-Seite finden sich weitere Beispiele für embedded Hardware.

der ausgemusterte Rechner

Hierdrunter fällt so ziemliche Alles, was mindestens einen 386er Prozessor und 16MiB Arbeitsspeicher hat. Je nach Distribution kann auf eine Festplatte verzichtet werden. Man kann mit nur einer

Netzwerkkarte auskommen, der zusätzliche Switch muss dann aber VLANs abkönnen.

Problematisch sind der Stromverbrauch, der Platzverbrauch und unter Umständen die Geräschkulisse von Netzteil, CPU-Kühler und Festplatte.

Linux funktioniert zwar wunderbar ohne Grafikkarte, jedoch kann das BIOS ohne eine Grafikkarte den POST nicht abschließen und bricht bei Fehlen einer Pixelschleuder den Bootvorgang mit einer

Fehlermeldung ab. Aus diesem Grund muss jeder PC irgendeine funktionsfähige Grafikkarte (=BIOS-Befriedigungskarte) haben! Eine fehlende Tastatur führt zwar ebenfalls zum Abbruch des

Bootvorganges, lässt sich jedoch in den meisten BIOSen auf Ignorieren setzen.

Software: Linux Distributionen

Die vielseitigste und mächtigste LinuxDistribution für embedded Geräte aller Art, aber insbesondere für Router ist OpenWrt.

Für den ausgmusterten PC lässt sich Debian uneingeschränkt empfehlen, oder man setzt eine Distribution wie z.B. fli4l ein, was speziell für den Einsatz als Router konzipiert ist.

Konfiguration eines Linux Routers

Die Grundkonfiguration eines Routers umfasst das Routing, die Einstellung von Netfilter und den Packet Scheduler.

Routing

siehe Routing

Netfilter

siehe Netfilter

Linux Packet Scheduler

Der LinuxPacketScheduler ist lediglich eine weitere Komponente im Linux-Network-Stack. Er erlaubt es IP-Paketen unterschiedliche Priotiräten zuzuweisen und sie somit in einer anderen Reihenfolge zu versenden, als sie im Router ankommen. So lassen sich Dinge wie Bandbreitenmanagement (Traffic Shaping), Internet Connection Sharing, TCP-Turbo, usw. verwirklichlichen.

LinuxRouter (zuletzt geändert am 2012-03-19 17:50:38 durch stgt-5f709628)