Kategorie-Archiv: Custom Firmware

DD-WRT: Kein DynDNS-Update

In einem von mir betreuten Netzwerk steht ein WLAN-AccessPoint (WRT54GL mit DD-WRT, WLAN und Switch gebridged) hinter einem Router, der leider kein DynDNS kann. Also wollte ich DD-WRT nutzen, um DynDNS regelmäßig zu aktualisieren.

Trotz diverser Updates, Costum DDNS Einstellungen und Hardware-Tauschaktionen kam immer wieder der selbe Fehler:

DD-WRT: Kein DynDNS-Update weiterlesen

Verwandte Posts:

WDS oder „Das Paarungsverhalter zweier Router“

WLAN ist eine tolle Sache. Ohne größere Konfiguration können Freunde mit einem Laptop vorbeikommen, sich drahtlos verbinden und drauflos surfen. In meinem Artikel zum WRT54GL habe ich bereits beschrieben, wie einfach und unkompliziert es ist, die Firmware des beliebten WRT zu tauschen und nach belieben zu konfigurieren.

Da ein Bekannter von mir, etwa 170 Meter entfernt gerne einen Internetanschluss für einen schmalen Taler hätte, habe ich mein Projekt ein wenig erweitert. Vom Fenster aus soll eine Richtfunkstrecke aufgebaut werden – dazu habe ich einen neuen Router bei eBay ersteigert. Natürlich sollte er auch in der Lage sein, eine alternative Firmware zu schlucken. Da der WRT54 relativ hoch gehandelt wird, interessierte mich der Buffalo WHR-G54S, dessen Hardwarebasis mit dem WRT gleichzusetzen ist, aber günstiger angeboten wird. Zu meinem Glück war auf dem Buffalo bereits DD-WRT (eine echte Alternative zu OpenWRT ) vom Vorbesitzer installiert.

Da sich zwischen dem Hauptrouter und dem gewünschten Platz vom Buffalo ein Unterschied von schätzungsweise 5 Meter quer durch einen Raum befindet und Kabelverlegen auf Grund einer Tür und einer dicken Wand nur im Notfall in Betracht kam, informierte ich mich über WDS, Wireless Distribution System.

Mitunter werden in Foren und Wikis von einigen Fehlschlägen bei einer WDS-Verbindung mit unterschiedlichen Firmwares und unterschiedlicher Router-Hardware berichtet. Da ich einen WRT54GL mit OpenWRT und einen Buffalo WHR-G54S mit DD-WRT verbinden wollte, standen die Vorzeichen nicht gerade unter einem guten Stern. Doch wie bereits erwähnt, gleichen sich der WRT und der WHR hardwaremäßig. Auch DD-WRT hat in punkto WDS-Kompatibilität zugelegt. Die Firmware von OpenWRT auf DD-WRT zu schwenken wäre im Zweifelsfall Plan B, doch das Experiment am Uplink zum Internet wäre wirklich nur eine Notlösung gewesen.

Die Beziehung

Ein gutes Tutorial für WDS, leider auf Englisch – doch mit Screenshots – , fand ich auf www.linksysinfo.org.

Grundvorraussetzung für eine harmonische Partnerschaft unter Eheleuten ist, dass beide Router sich im Access Point-Modus (AP) befinden, auf dem selben Kanal funken, die selbe Verschlüsselung (WEP ist unsicher, WPA wird empfohlen) nutzen und die selbe SSID verwenden. Um Roaming, das heißt den automatischen Übergang von einem Access Point bei einer besseren Verbindung zu einem anderen, nutzen zu können ist es daher sinnvoll, wenn die Access Points neben der gleichen SSID auch den selben Preshared Key (PSK) nutzen.

Der Polterabend

Nachdem beide nun auf der selben Wellenlänge sind, kann gepoltert werden. Für beide Router sehen daher die WDS-Konfigurationen wie folgt aus: 

WDS Router 1 OpenWRT

Dieser Menüpunkt ist bei OpenWRT mit der Standardoberfläche über 'Network' -> 'Advanced Wireless' zu erreichen. Per 'Add' wird die MAC-Adresse des anderen WDS-Nodes angegeben. Die meisten Router haben mitunter 3 MAC-Adressen, jeweils eine für das Switch, für die Bridge und für das WLAN-Modul. Hier ist die MAC-Adresse des WLAN-Moduls erforderlich.

WDS Router 2 DD-WRT

Auch hier wird die Gegenstelle eingetragen. Der Punkt 'WLAN-MAC' zeigt die MAC-Adresse des eigenen WLAN-Interfaces. Diese Einstellungen sind bei DD-WRT über 'WLAN' -> 'WDS' zu finden.

Warum MAC-, statt IP-Adressen? – "So antworten Sie doch mit 'Nein' "

Eine WLAN-Verbindung kann man sich wie ein Hub vorstellen. Der Router sendet nicht direkt von sich zu PC A, sondern sendet über das Medium (die Luft) die Pakete an alle. Nur der PC, für den das Paket bestimmt ist, verarbeitet es auch weiter. So arbeitet auch ein Hub, man sagt, die Pakete werden per Broadcast verteilt. Ein Hub arbeitet auf OSI-Schicht 2, die IP-Adressen kommen aber erst darüber, auf OSI-Schicht 3.

Und genau hier kommt auch der Nachteil an WDS, bzw. WLAN im Allgemeinen, ins Spiel. Die angebenen Übertragungsraten bei WLAN-Standards, wie zum Beispiel IEEE 802.11g (54 Mbit/s), sind nur Brutto-Werte. Sie werden im Normalfall niemals erreicht. Kommuniziert der WLAN-Hotspot mit einem einzigen PC, so liegt die Netto-Rate bei etwa 24 Mbit/s. Kommt ein weiterer PC dazu halbiert sich die Rate pro PC in etwa, da jedem PC ein gewisses Zeitfenster zum Senden und Empfangen eingeräumt wird. Kommt per WDS noch ein weiterer Router dazu, der wiederum PCs als Klienten hat, zumal der zusätzliche Router sowohl die Verbindung zu den einzelnen PCs als auch zum anderen Router aufrecht erhält, so reduziert sich die tatsächliche Übertragungsrate schnell.
Beim Surfen merkt man das vielleicht nicht, da der durchschnittliche DSL-Anschluss nur etwa 4Mbit/s maximal liefert. Will man aber Dateien zum Fileserver transferieren, so stößt man schnell an die Grenzen.

Die Hochzeit

Das Ergebnis kann man Dank der DD-WRT-Oberfläche wunderbar nachvollziehen:

WDS

Hier erkennt man die eingetragene Gegenstelle und die Verbindungsqualitäten.

 

Und von oben betrachtet sieht das Ganze so aus:

WDS-Plan

 

… Bis das der Tod euch scheidet… Oder ich einen Router mit IEEE 802.11n-Standard hab'. 

Verwandte Posts:

Ein Router zum Selberbasteln

Jeder Internetbenutzer hat einen! Jeder Internetbenutzer, der einen DSL-Anschluss hat und den Datenstrom auf mehrere PCs zu Hause verteilen will. Schon hier erkennt man die grundsätzliche Aufgabe eines Routers – die Trennung zwischen 2 oder mehreren logischen Netzwerken. Im Massenbeispiel DSL ist das die Trennung und Vermittlung zwischen Internet und Heimnetzwerk. Die meisten Router, die man heutzutage von seinem Anbieter bekommt, kommen hardwaretechnisch mit einem DSL-Modem, einem Switch und einem WLAN-Accesspoint daher – out of the box. Anschließen, loslegen!

Will man nun hinter die Fasade schauen und seinen smarten Mini-PC "pimpen", so stößt man oft an die vom Hersteller gesetzen Grenzen. Black Box – kein Durchkommen zur Firmware!
Anders dagegen beim WRT54GL: offengelegte Firmware, einfach auszutauschen, mit Linuxkenntnissen und einigen Quellen im Internet immens erweiterbar. Wer schon Erfahrung mit der NSLU2 hat, für den sollte der Ausbau des WRT54GL ein Klacks sein.

Mein "Serverschrank"

(oben: WRT54GL, Telefonstation
mitte v.l.: Die NSLU2 , SATA-HDD in Alu-Case und Kühlkörper, WLAN Modem 200
unten: Kabelsalat 😉
hinten: Arcor Starterbox(ISDN-TK-Anlage) )

Software auf dem Router 

Bleibt natürlich die Frage: "Was will ich?" Webserver aus Apache, PHP und MySQL? Sicheres Firewallreglement mit DMZ und Trennung zwischen LAN, WLAN und WAN? DHCP-Server und Domain Controller? VPN-Server? WDS (Wireless Distribution System – Router über WLAN verbinden)? Asterisk-Anlage für VoIP?
Die Antwort nach der Machbarkeit und Möglichkeit dieser Einsatzszenarien lassen sich kurz mit einem 'Ja' beantworten. Einzig und allein der freie Speicher des Flash holen den begeisterten Heimnetzplaner auf den Boden der Tatsachen zurück. Will man doch noch mehr als möglich Software installieren, so finden sich im Internet Anleitungen für eine USB-Interface-Erweiterung.

So, und wie machen wir das Ganze nun? Die Antwort lautet: Alternative Firmware installieren!!

OpenWRT

Unter www.openwrt.org findet man haufenweise Informationen, Anleitungen und Hilfe zum Thema OpenWRT. Leider alles in Englisch, ein deutsches Forum, das sich nicht nur beiläufig mit dem Thema beschäftigt, vermisse ich leider sehr im Internet. Da OpenWRT auf Linux basiert, bleibt einem nichts anderes übrig, als die Konfiguration zu 90% über die Konsole (z. B. per PuTTY) durchzuführen.
(Dazu Werbung in eigener Sache: Wer will, kann beim Aufbau eines solchen Forums mithelfen. Einfach auf www.xentity.de registrieren, anmelden, Fragen stellen und Wissenswertes ins Forum schreiben…)

Auf der Seite von OpenWRT findet man die Images für den Linksys WRT und weitere Router von Hersteller wie ASUS, AVM (Fritz Box), uvm.

Die Installation kann einfach über das Webinterface des Routers durchgeführt werden. Die schon durchgeführten Einstellungen bleiben dabei erhalten, z. B. PPPoE-Einstellungen zum Verbinden mit dem Internet.
Alternativ kann auch ein TFTP-Server benutzt werden, während der Router einen Kaltstart durchführt. Dieses Verfahren muss auch angewandt werden, falls beim Installieren der neuen Firmware etwas schief geht.
Prinzipiell kann man an diesem "Ding" nichts kaputt machen, bei Fehlkonfiguration kann die Firmware wieder eingespielt werden.

Daraufhin kann nun über die Konsole die Installation der gewünschten Software fortgeführt werden, z.B. der DHCP-Server. Allerdings kann man auch das Webinterface nutzen, um einzelne Pakete zu installieren.

Warum ein neuer Router?

Ich habe mir einen WRT54GL gekauft, weil ich mit meinem bisherigen Router nicht mehr länger zufrieden war. Zusammen im Bündel hatte ich einen "W-LAN Modem 200" von Arcor, doch ständige Verbindungsabbrüche und streckenweise Totalausfälle ließen mich gar nicht von ZyXELs unfunktionierten Prestige überzeugen. Seitdem benutze ich das Gerät nur noch als Modem, für mehr ist es meiner Meinung nach nicht zu nutzen. 

Achtung, wichtig!

Tauscht man die Firmware aus, so verliert man die Garantie. Jeder sollte sich dessen bewusst sein, wenn die Software auf dem Router geändert wird.
Außerdem sei noch gesagt, dass das ein Router ohne integriertes Modem ist! Daher ist bei mir oben auch noch ein Modem im Einsatz.

Weitere Informationen / Quellen

www.openwrt.org
c't 24/06, Seite 160 (heise Zeitschriftenverlag)

Verwandte Posts:

Eierlegende Wollmilchsau – die Linksys NSLU2

Jeder, der ein kleines Heimnetzwerk betreibt, kennt es: Multimedia-Daten wie Videos, Bilder, Musik, etc. lassen die Festplatte überlaufen, die Daten sind nicht zentral gelagert und evtl. nicht rund um die Uhr abrufbar. Abhilfe würde ein kleiner Server mit Netzwerkfreigaben schaffen, doch schluckt dieser nicht nur Platz, sondern auch Energie in Massen.

Eine gute Möglichkeit bietet die Linksys NSLU2(Spitzname SLUG), ein kleiner Kasten unwesentlich größer als eine Zigarettenschachtel und besitzt 2 Anschlüsse für USB-Geräte wie USB-Sticks oder externe Festplatten. Die Leistungsaufnahme liegt bei etwa 8-12 Watt.

Richtig interessant wird diese Wunderkiste erst, wenn man die Firmware(also das „Betriebsystem“) durch eine modifizierte ersetzt, was „flashen“ genannt wird (benannt nach dem Flash-Speicher, der die Firmware beinhaltet). Alles, was dann noch fehlt, um aus dem Kasten einen Server mit Diensten wie FTP, HTTP, LDAP, DNS, DHCP zu machen, sind ein paar Linux-Kenntnisse und Geduld.

Mit Hilfe von Apache und PHP lässt sich so also ein providerunabhängiger Webserver installieren, der rund um die Uhr laufen und mit Hilfe von einem DynDNS-Client jederzeit erreicht werden kann.

Die Firmware

Die bereits erwähnte Firmware gibt es in verschiedensten Variaten. Alle kurz vorgestellten Systeme sind prinzipell kleine Linux-Ausgaben und stehen unter GNU/GPL und sind damit OpenSource.

Die bekannteste Firmware ist unslung. Sie bietet zwar relativ wenig im Umfang, jedoch lassen sich recht schnell gute Ergbnisse erzielen. Außerdem kann man das System bequem mit IPKG erweitern. Desweiteren gibt es noch OpenSlug und Debian Sarge, wobei es sich beim zweiten um eine Firmware handelt, die komplett auf Debian-Basis werkelt. Ich habe mit unslung angefangen und bin vollkommen zufrieden.

IKPG und Softwarepakete

Wer normalerweise unter Windows arbeitet, wird wahrscheinlich erst einmal Probleme mit den veränderten Denkweisen unter Linux haben. So ziemlich am schwierigsten erscheint die Softwareinstallation. Unter Windows ruft man die setup.exe aus, so einfach ist es unter Linux leider nicht.
Linux-Software besteht aus binären Dateien, Bibliotheken und Konfigurationsdateien, die nicht alle im selben Verzeichnis liegen. Die zwei wichtigsten Filesystem-Orte sind für hinzugefügte Software daher /opt/etc/ für die Configs und /opt/sbin/ für die binären Dateien. Gestarten werden die Dienste per /opt/etc/init.d/Sxx.ABCDE. Die Zahl xx bestimmt die Reihenfolge, in der die Scripts beim Hochfahren gestartet werden – sie können aber auch von Hand gestartet werden. Mit killall abcd werden die Prozesse beendet, der Dienst gestoppt.
Linux-Software besteht aus Pakete, die man normalerweise zusammen sammeln müsste. Durch Abhängigkeiten können beim De- und Installieren chaotische Zustände entstehen, die das System komplett lahmlegen können. Zum Glück gibt es inzwischen gute Paketmanager wie apt-get oder ipkg. Auf der SLUG ist ipkg schon vorhanden.
Die wichtigsten Befehle für IPKG lauten IPKG update (zum Aktualisieren der Software-Listen), IPKG install abcde und IPKG upgrade (führt einen Rundum-Update für alle installierten Pakete durch)

Das Setup

Der Weg zu einem startbereitem Netzwerkserver sieht aus meiner Erfahrung wie folgt aus:

Neue Firmware installieren, danach das Betriebsystem auf einen USB-Stick(512 MB reichen aus) verlegen.
Dannn sollten per Webinterface die Verbindungsdaten ins Internet eingetragen werden, damit IPKG Software installieren kann. Außerdem sollte TELNET aktiviert und dauerhaft gemacht werden, um sich per Putty auf die NSLU2 einzuloggen.
Nun sollte die BASH installiert werden, die das Arbeiten auf der Console wesentlich vereinfacht. Einem neuangelegten Benutzer mit ROOT-Rechten kann die BASH als Startshell übergeben werden, aber nur diesem. Niemals dem ROOT die installierte BASH als Shell geben. Als immer gern gesehenes Tool ist der MidnightCommander bekannt, der das Arbeiten noch mehr vereinfacht, da er ähnlich wie der frühere NortonCommander agiert.
Als nächstes sollte der SAMBA über IPKG installiert werden. Das hat zum einen den Vorteil, dass die Software aktuell ist, zum anderen, dass es sich damit um OPT-Ware handelt und die Änderungen auch nach einem Neustart immer noch vorhanden sind, ohne kompliziert herumzutricksen.

Hardware-Tuning

Die NSLU2 ist standmäßig von Linksys mit einer Taktfrequenz von 133 Mhz ausgeliefert worden. Nach Intels Angaben über den internen Prozessor ist ein Takt von 266 Mhz kein Problem. Um es kurz zu machen: Die Geschwindigkeit der CPU ist durch einen Widerstand auf dem Mainboard ab Werk heruntergetaktet worden. Der richtige Widerstand ist auf der Projektseite markiert.

Es gibt verschiedene Varianten den Widerstand sauber zu entfernen. Die einen entfernen ihn mit einer Nagelschere, andere mit einen Nagelknipser und andere widerum mit einem feinen Lötkolben. Wie man es auch angeht, man muss sehr vorsichtig sein und ins Bewusstsein rufen, dass damit die Garantie erlöscht.

Tipps & Tricks

DiversionScripts

Normalerweise ist die NSLU2 so konfiguriert, dass systemnahe Konfigurationen bei einem Neustart aus interne Speicher zurückgeladen werden, d.h. alle Änderungen, die selbstständig ohne Nutzung des Webinterfaces gemacht werden und die wesentlicher Bestandteil des Betriebes sind, werden bei einem Neustart zurückgesetzt.
Aus diesem Grund werden DiversionScripts verwendet. Sie stellen eine Art Sicherungsschicht da. Sollte etwas schief gehen, so können diese Scripte an einem Linux-Rechner bearbeitet oder gelöscht werden, ohne dass die ursprüngliche Konfiguration beschädigt wird.
Diese DiversionScripts werden unter /unslung abgelegt und heißen wie ihre ursprünglichen rc.xyz-Scripts, die unter /etc/rc.d liegen.

Ein Beispiel (rc.samba):
#! /bin/sh
# Falls keine Sicherheitskopie vorhanden, Sicherheitskopie anlegen
if [ ! -e /etc/samba/smb.conf.orig ]; then
cp -p /etc/samba/smb.conf /etc/samba/smb.conf.orig
fi
# Eigene Konfiguration rueberbuegeln!!
#
cp -fp /home/smb.conf.eigene /etc/samba/smb.conf
#
return 1

Wenn ich nun die /home/smb.conf.eigene editiere, so wird jene Konfiguration beim Start übernommen, da erst dieses Script die Dateien austauscht und dann der Bootvorgang fortgesetzt wird.
Äquivalent habe ich auch eine rc.network für die Netzwerkeinstellungen erstellt oder eine rc.xinetd für die TELNET-Aktivität.

NTFS

Eine NTFS-Platte an die NSLU2 zu hängen ist nur möglich, wenn sich diese Platte auch am 1. Port befindet. Am zweiten Port funktioniert NTFS nicht. Bedingung ist außerdem, dass es sich um die 6.8er Version von unslung handelt. Meine Empfehlung ist daher, die Platte am 2. Port mit FAT32 zu formatieren, dann kann man sie auch an Windows-Rechner hängen.

VFAT

Die Spezialausführung des Dateisystems FAT 16 scheint einige Probleme zu machen. Teilweise war es erforderlich die Festplatte zu entfernen, HDD rauf- und runterzufahren und zu remounten. Die Symptome waren seltsame Zeichen und Dateien, die nicht mehr zu öffnen sind. Desweiteren lief die Platte dann durch, die Betriebslampe leuchtete durch, obwohl es keine weiteren Zugriffe gab.

Inzwischen ist dieses Problem aber behoben. Nachdem ich die Festplatte auf dämpfende Schaumstoffpuffer gelagert und einen Kühlkörper draufgesetzt habe, macht die Festplatte keine Probleme mehr.

Midnight Commander

Eine gute Möglichkeit, um sich schnell einen Überblick zu verschaffen ist die Installation des Tools Midnight Commander (kurz MC), der es ermöglicht schnell durch das Dateisystem zu wandern. Vom Aufbau her ähnelt der MC stark dem Norton Commander aus DOS-Zeiten.

Quellen

Viele Informationen über die NSLU2 findet man natürlich im Internet. Hier meine häufigbenutzten Seiten:

Weiterbearbeitung des Themas

In nächster Zeit werde ich die Aufbereitung weiter verfolgen und meine Erfahrungen niederschreiben.

Verwandte Posts: