DD-WRT Doku (DE)

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 13:27, 13 June 2006 (edit)
83.135.139.116 (Talk)
(Richtig Flashen - Umlaute korrigiert)
← Previous diff
Revision as of 16:15, 15 June 2006 (edit) (undo)
Selter (Talk | contribs)
m (Umlaute und ß bearbeitet)
Next diff →
Line 4: Line 4:
=Projektbeschreibung= =Projektbeschreibung=
-Dieses [http://de.wikipedia.org/wiki/Projekt Projekt] beschäftigt sich mit der [http://de.wikipedia.org/wiki/Dokumentation Dokumentation] von [http://www.dd-wrt.com/ DD-WRT], einer freien Firmwaremodifikation, die haupsächlich für den [http://www1.linksys.com/international/product.asp?coid=8&ipid=455 WRT54G][http://www1.linksys.com/international/product.asp?coid=8&ipid=528 (GS)] von [http://www.linksys.de Linksys] gedacht ist. Wie jedes [http://de.wikipedia.org/wiki/MediaWiki Media-Wiki] lebt auch dieses vom Mitmachen. Jeder darf, und soll [http://de.wikipedia.org/wiki/Artikel Artikel] verfassen, editieren und diskutieren.<br>+Dieses [http://de.wikipedia.org/wiki/Projekt Projekt] besch&auml;ftigt sich mit der [http://de.wikipedia.org/wiki/Dokumentation Dokumentation] von [http://www.dd-wrt.com/ DD-WRT], einer freien Firmwaremodifikation, die haups&auml;chlich f&uuml;r den [http://www1.linksys.com/international/product.asp?coid=8&ipid=455 WRT54G][http://www1.linksys.com/international/product.asp?coid=8&ipid=528 (GS)] von [http://www.linksys.de Linksys] gedacht ist. Wie jedes [http://de.wikipedia.org/wiki/MediaWiki Media-Wiki] lebt auch dieses vom Mitmachen. Jeder darf, und soll [http://de.wikipedia.org/wiki/Artikel Artikel] verfassen, editieren und diskutieren.<br>
-Viel Spa?!<br>+Viel Spa&szlig;!<br>
=Was ist DD-WRT?= =Was ist DD-WRT?=
[[Image:Wpa2.JPG|thumb|Das Interface der aktuellen DD-WRT v23/v24 Versionen]] [[Image:Wpa2.JPG|thumb|Das Interface der aktuellen DD-WRT v23/v24 Versionen]]
-'''[http://www.dd-wrt.com/ DD-WRT]''' ist eine freie [http://de.wikipedia.org/wiki/Firmware Firmware] für die Router ''[http://www1.linksys.com/international/product.asp?coid=8&ipid=455 Linksys WRT54G]'' und ''[http://www1.linksys.com/international/product.asp?coid=8&ipid=528 Linksys WRT54GS]''.+'''[http://www.dd-wrt.com/ DD-WRT]''' ist eine freie [http://de.wikipedia.org/wiki/Firmware Firmware] f&uuml;r die Router ''[http://www1.linksys.com/international/product.asp?coid=8&ipid=455 Linksys WRT54G]'' und ''[http://www1.linksys.com/international/product.asp?coid=8&ipid=528 Linksys WRT54GS]''.
-In der Version V23SP1 vom 16.05.2006 werden auch das Gerät ''[http://www.asus.com/products.aspx?l1=12&l2=43&l3=0&model=359&modelmenu=1 Asus WL-500 Deluxe]'' und verschiedene Router von Allnet, Buffalo, Belkin, Mororola, Siemens (''[http://gigaset.siemens.com/shc/0,1935,de_de_0_11209_rArNrNrNrN,00.html Gigaset SE505]''), Ravo und Askey unterstützt. Siehe dazu auch die offizielle ''[http://www.dd-wrt.com/dd-wrtv2/downloads/index.php?path=dd-wrt.v23%20SP1%2F&download=hwsupport.txt Hardware-Support-Liste]''.+In der Version V23SP1 vom 16.05.2006 werden auch das Ger&auml;t ''[http://www.asus.com/products.aspx?l1=12&l2=43&l3=0&model=359&modelmenu=1 Asus WL-500 Deluxe]'' und verschiedene Router von Allnet, Buffalo, Belkin, Mororola, Siemens (''[http://gigaset.siemens.com/shc/0,1935,de_de_0_11209_rArNrNrNrN,00.html Gigaset SE505]''), Ravo und Askey unterst&uuml;tzt. Siehe dazu auch die offizielle ''[http://www.dd-wrt.com/dd-wrtv2/downloads/index.php?path=dd-wrt.v23%20SP1%2F&download=hwsupport.txt Hardware-Support-Liste]''.
-'''DD-WRT''' basiert auf einem minimalen [http://de.wikipedia.org/wiki/Linux Linux] und Code, der von [http://www.linksys.de Linksys] unter der Software Lizenz [http://de.wikipedia.org/wiki/GPL GPL] veröffentlicht wurde.+'''DD-WRT''' basiert auf einem minimalen [http://de.wikipedia.org/wiki/Linux Linux] und Code, der von [http://www.linksys.de Linksys] unter der Software Lizenz [http://de.wikipedia.org/wiki/GPL GPL] ver&ouml;ffentlicht wurde.
-Zunächst erweiterte die [http://de.wikipedia.org/wiki/Firma Firma] [http://www.sveasoft.com/ Sveasoft] die veröffentlichen [http://de.wikipedia.org/wiki/Quelltext Quelltexte] um neue Funktionen. Als Sveasoft jedoch 20 Dollar für den Zugriff auf die Supportforen ihrer [http://de.wikipedia.org/wiki/Firmware Firmware] und den Downloadbereich verlangte, gründeten die Dresdner Sebastian Gottschall ''("BrainSlayer", BS)'' und Matthias Engel ''("mateng")'' auf Basis dieser Software das '''DD-WRT'''-Projekt. Seither erschienen weiterentwickelte Versionen der Firmware auf der Homepage von [http://www.dd-wrt.com/ DD-WRT]. Mit der Version 23 schlie?lich orientierte sich Brainslayer stärker an [http://www.openwrt.org/ openwrt], einer modular angelegten Firmware, die bis vor kurzem kein Webinterface hatte und bei Geschwindigkeit, Stabilität und Funktionalität Vorteile gegenüber Sveasoft als Firmwarebasis versprach. Zwischen den beiden Projekten werden nach Brainslayers Angaben Ideen ausgetauscht, so dass beide von einander profitieren.+Zun&auml;chst erweiterte die [http://de.wikipedia.org/wiki/Firma Firma] [http://www.sveasoft.com/ Sveasoft] die ver&ouml;ffentlichen [http://de.wikipedia.org/wiki/Quelltext Quelltexte] um neue Funktionen. Als Sveasoft jedoch 20 Dollar f&uuml;r den Zugriff auf die Supportforen ihrer [http://de.wikipedia.org/wiki/Firmware Firmware] und den Downloadbereich verlangte, gr&uuml;ndeten die Dresdner Sebastian Gottschall ''("BrainSlayer", BS)'' und Matthias Engel ''("mateng")'' auf Basis dieser Software das '''DD-WRT'''-Projekt. Seither erschienen weiterentwickelte Versionen der Firmware auf der Homepage von [http://www.dd-wrt.com/ DD-WRT]. Mit der Version 23 schlie&szlig;lich orientierte sich Brainslayer st&auml;rker an [http://www.openwrt.org/ openwrt], einer modular angelegten Firmware, die bis vor kurzem kein Webinterface hatte und bei Geschwindigkeit, Stabilit&auml;t und Funktionalit&auml;t Vorteile gegen&uuml;ber Sveasoft als Firmwarebasis versprach. Zwischen den beiden Projekten werden nach Brainslayers Angaben Ideen ausgetauscht, so dass beide von einander profitieren.
-[http://www.dd-wrt.com/ DD-WRT] bietet einen deutlich grö?eren Funktionsumfang als die Original [http://de.wikipedia.org/wiki/Firmware Firmware] von [http://www.linksys.de Linksys]. Es sind auch einige versteckte Optionen freigeschaltet. Desweiteren kommen noch einige Zusatzfunktionen hinzu, wie etwa das Einbinden von [http://de.wikipedia.org/wiki/Samba_(Software) Samba-Freigaben], [http://de.wikipedia.org/wiki/Wireless_Distribution_System WDS], [http://de.wikipedia.org/wiki/RADIUS RADIUS]-[http://de.wikipedia.org/wiki/Authentifizierung Authentifizierung].+[http://www.dd-wrt.com/ DD-WRT] bietet einen deutlich gr&ouml;&szlig;eren Funktionsumfang als die Original [http://de.wikipedia.org/wiki/Firmware Firmware] von [http://www.linksys.de Linksys]. Es sind auch einige versteckte Optionen freigeschaltet. Desweiteren kommen noch einige Zusatzfunktionen hinzu, wie etwa das Einbinden von [http://de.wikipedia.org/wiki/Samba_(Software) Samba-Freigaben], [http://de.wikipedia.org/wiki/Wireless_Distribution_System WDS], [http://de.wikipedia.org/wiki/RADIUS RADIUS]-[http://de.wikipedia.org/wiki/Authentifizierung Authentifizierung].
-=Unterstützte Geräte=+=Unterst&uuml;tzte Ger&auml;te=
* Linksys WRT54G v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.0 * Linksys WRT54G v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.0
* Linksys WRT54GL v1.0, v1.1 (ab dem 2005-11-24-Release von v23beta2) * Linksys WRT54GL v1.0, v1.1 (ab dem 2005-11-24-Release von v23beta2)
Line 39: Line 39:
*Startup-, Firewall-, und Shutdown-Skripte *Startup-, Firewall-, und Shutdown-Skripte
*WDS-Repeater-Modus *WDS-Repeater-Modus
-*Client-Modus (unterstützt mehrere angebundene Geräte)+*Client-Modus (unterst&uuml;tzt mehrere angebundene Ger&auml;te)
*Ad-Hoc-Modus *Ad-Hoc-Modus
*OSPF-Routing *OSPF-Routing
Line 46: Line 46:
*Antennenauswahl *Antennenauswahl
*Statische DHCP-Adresszuweisung *Statische DHCP-Adresszuweisung
-*Zusätzliche DDNS-Unterstützung+*Zus&auml;tzliche DDNS-Unterst&uuml;tzung
*Wireless MAC-Adressen duplizieren *Wireless MAC-Adressen duplizieren
-*VLAN-Unterstützung ([[WAN Port|WAN-Port als normalen LAN-Port]])+*VLAN-Unterst&uuml;tzung ([[WAN Port|WAN-Port als normalen LAN-Port]])
-*WPA über WDS+*WPA &uuml;ber WDS
*WPA/TKIP mit AES *WPA/TKIP mit AES
-*WPA2-Unterstützung+*WPA2-Unterst&uuml;tzung
*Client-Modus WPA *Client-Modus WPA
*Client-Isolation-Modus *Client-Isolation-Modus
*P2P Blocking & Bandbreiten-Management (Gnutella, Kazaa, etc.) *P2P Blocking & Bandbreiten-Management (Gnutella, Kazaa, etc.)
*Port Triggering *Port Triggering
-*Port Forwarding (30 Einträge möglich)+*Port Forwarding (30 Eintr&auml;ge m&ouml;glich)
*Wake-on-Lan *Wake-on-Lan
*Remote Syslog *Remote Syslog
*Remote Ntop-Statistik *Remote Ntop-Statistik
-*XBOX-Kaid-Unterstützung+*XBOX-Kaid-Unterst&uuml;tzung
*SNMP *SNMP
-*[[IPv6]]-Unterstützung+*[[IPv6]]-Unterst&uuml;tzung
*Sicheres Backup und Restore *Sicheres Backup und Restore
*Reset bei Firmware-Upgrade *Reset bei Firmware-Upgrade
-*Status-Anzeige für Wireless Clients und WDS mit Systembetriebszeit, Prozessorlast u.&nbsp;a.+*Status-Anzeige f&uuml;r Wireless Clients und WDS mit Systembetriebszeit, Prozessorlast u.&nbsp;a.
*Site Survey *Site Survey
*Remote NTP-Server *Remote NTP-Server
Line 71: Line 71:
*[http://de.wikipedia.org/wiki/FTP-Server FTP-Server] *[http://de.wikipedia.org/wiki/FTP-Server FTP-Server]
*12 verschiedene Sprachen *12 verschiedene Sprachen
-*Unterstützt auch die neuen WRT54G V3, V3.1, V4 und WRT54GS V2.1, V3, V4 Modelle+*Unterst&uuml;tzt auch die neuen WRT54G V3, V3.1, V4 und WRT54GS V2.1, V3, V4 Modelle
*und vieles mehr ... *und vieles mehr ...
</blockquote> </blockquote>
=Die verschiedenen Pakete= =Die verschiedenen Pakete=
-Aktuelle Version 23 SP1 vom 16.05.2006 ''([http://dd-wrt.gruftie.com/dd-wrtv2/downloads/index.php?path=dd-wrt.v23+SP1%2F&download=changelog.txt Changelog])'' wurden die Pakete folgenderma?en aufgeteilt: +Aktuelle Version 23 SP1 vom 16.05.2006 ''([http://dd-wrt.gruftie.com/dd-wrtv2/downloads/index.php?path=dd-wrt.v23+SP1%2F&download=changelog.txt Changelog])'' wurden die Pakete folgenderma&szlig;en aufgeteilt:
*[http://dd-wrt.gruftie.com/dd-wrtv2/downloads/index.php?path=dd-wrt.v23+SP1/ mini] - beinhaltet nicht: Chillispot, nocat, rflow, kaid, Samba-Client, SNMP, VOIP *[http://dd-wrt.gruftie.com/dd-wrtv2/downloads/index.php?path=dd-wrt.v23+SP1/ mini] - beinhaltet nicht: Chillispot, nocat, rflow, kaid, Samba-Client, SNMP, VOIP
Line 87: Line 87:
-micro - für Geräte die wenig Speicher und flash Platz haben. Es wird jetzt auch WRT54G/GS v5 unterstüzt. Es wird aber ein jtag adapter benötigt, um die firmware das erste mal auf das Gerät zu bekommen.+micro - f&uuml;r Ger&auml;te die wenig Speicher und flash Platz haben. Es wird jetzt auch WRT54G/GS v5 unterst&uuml;zt. Es wird aber ein jtag adapter ben&ouml;tigt, um die firmware das erste mal auf das Ger&auml;t zu bekommen.
-mini - Es beinhaltet fast alles was man braucht, lässt aber noch genug flash Platz für Anpassungen mit jffs.+mini - Es beinhaltet fast alles was man braucht, l&auml;sst aber noch genug flash Platz f&uuml;r Anpassungen mit jffs.
-standard - Es beinhaltet fast alles was man für die professionelle Nutzung braucht inklusive snmp, hotspot features wie chillispot und sputnik (tm).+standard - Es beinhaltet fast alles was man f&uuml;r die professionelle Nutzung braucht inklusive snmp, hotspot features wie chillispot und sputnik (tm).
-voip - beinhaltet zusätzlich SIP Gateway Routing system für managing SIP capable Geräte in einem privaten Netzwerk+voip - beinhaltet zus&auml;tzlich SIP Gateway Routing system f&uuml;r managing SIP capable Ger&auml;te in einem privaten Netzwerk
-vpn - beinhaltet einen voll featured openvpn client für Netzwerke mit hohen Sicherheitsanforderungen.+vpn - beinhaltet einen voll featured openvpn client f&uuml;r Netzwerke mit hohen Sicherheitsanforderungen.
=Was brauche ich?= =Was brauche ich?=
==Betrieb als Access-Point== ==Betrieb als Access-Point==
-Als erstes sollte ich einen Computer haben. Als nächstes sollte schon ein Internetanschluss vorhanden sein. Dieser sollte am Besten als DSL-Flatrate vorhanden sein. Wenn diese Voraussetzungen gegeben sind, sollte ich mir einen '''Linksys WRT54G/GS/L''' der richtigen Hardwareversion (s.&nbsp;u.) anschaffen. Diesen bekomme ich im gut sortierten IT-Fachhandel.+Als erstes sollte ich einen Computer haben. Als n&auml;chstes sollte schon ein Internetanschluss vorhanden sein. Dieser sollte am Besten als DSL-Flatrate vorhanden sein. Wenn diese Voraussetzungen gegeben sind, sollte ich mir einen '''Linksys WRT54G/GS/L''' der richtigen Hardwareversion (s.&nbsp;u.) anschaffen. Diesen bekomme ich im gut sortierten IT-Fachhandel.
==Betrieb als Client== ==Betrieb als Client==
-Bei Nutzung des WRT54G im [http://de.wikipedia.org/wiki/Client_Mode Client-Modus] brauche ich neben einer Alternativ-Firmware wie [http://www.dd-wrt.com DD-WRT] oder [http://www.sveasoft.com/content/view/3/1/ Alchemy], die den [http://de.wikipedia.org/wiki/Client_Mode Client-Modus] unterstützt, einen Internetprovider, der in meiner Nähe (möglichst mit Sichtkontakt!) einen [http://de.wikipedia.org/wiki/Access_Point Access Point] (AP) betreibt und dessen Zugangsdaten (Login bzw. Freischaltung meiner [http://de.wikipedia.org/wiki/MAC-Adresse MAC-Adressen] am [http://de.wikipedia.org/wiki/Access_Point AP]). Au?erdem empfiehlt es sich die 2-dB-Stabantennen gegen leistungsstärkere Antennen, z.&nbsp;B. [http://de.wikipedia.org/wiki/Quadantenne BiQuad-Antennen], zu tauschen und diese Antennen au?erhalb des Hauses anzubringen.<BR>+Bei Nutzung des WRT54G im [http://de.wikipedia.org/wiki/Client_Mode Client-Modus] brauche ich neben einer Alternativ-Firmware wie [http://www.dd-wrt.com DD-WRT] oder [http://www.sveasoft.com/content/view/3/1/ Alchemy], die den [http://de.wikipedia.org/wiki/Client_Mode Client-Modus] unterst&uuml;tzt, einen Internetprovider, der in meiner N&auml;he (m&ouml;glichst mit Sichtkontakt!) einen [http://de.wikipedia.org/wiki/Access_Point Access Point] (AP) betreibt und dessen Zugangsdaten (Login bzw. Freischaltung meiner [http://de.wikipedia.org/wiki/MAC-Adresse MAC-Adressen] am [http://de.wikipedia.org/wiki/Access_Point AP]). Au&szlig;erdem empfiehlt es sich die 2-dB-Stabantennen gegen leistungsst&auml;rkere Antennen, z.&nbsp;B. [http://de.wikipedia.org/wiki/Quadantenne BiQuad-Antennen], zu tauschen und diese Antennen au&szlig;erhalb des Hauses anzubringen.<BR>
-Leistungsstärker hei?t: Antennen mit einem höheren dB/dBi-Wert, also statt mit nur 2&nbsp;dB, besser mit 12&nbsp;dB. Das wird durch eine stärkere Richtwirkung der Abstrahlung erreicht: also statt kugel- oder diskusförmiger Abstrahlung (Beispiel: Glühbirne) bei der Stabantenne, eine mehr keulenförmige Abstrahlung (Beispiel: Taschenlampe). Die Antenne mu? zum WRT54G einen [http://www.wimo.de/wlan_cn_d.htm RP-TNC-Stecker] haben (Gewinde innen mit Kelch). Diese werden bei [http://search.ebay.de/search/search.dll?sofocus=bs&sbrftog=1&fstype=1&catref=C6&from=R10&satitle=reverse+tnc&sacat=-1%26catref%3DC6&bs=Finden&fsop=3%26fsoo%3D1&coaction=compare&copagenum=1&coentrypage=search&fgtp=&sargn=-1%26saslc%3D3&sadis=200&fpos=55743&ga10244=10425&ftrt=1&ftrv=1&saprclo=&saprchi= Ebay] bereits ab 2,99 Euro das Stück angeboten.+Leistungsst&auml;rker hei&szlig;t: Antennen mit einem h&ouml;heren dB/dBi-Wert, also statt mit nur 2&nbsp;dB, besser mit 12&nbsp;dB. Das wird durch eine st&auml;rkere Richtwirkung der Abstrahlung erreicht: also statt kugel- oder diskusf&ouml;rmiger Abstrahlung (Beispiel: Gl&uuml;hbirne) bei der Stabantenne, eine mehr keulenf&ouml;rmige Abstrahlung (Beispiel: Taschenlampe). Die Antenne mu&szlig; zum WRT54G einen [http://www.wimo.de/wlan_cn_d.htm RP-TNC-Stecker] haben (Gewinde innen mit Kelch). Diese werden bei [http://search.ebay.de/search/search.dll?sofocus=bs&sbrftog=1&fstype=1&catref=C6&from=R10&satitle=reverse+tnc&sacat=-1%26catref%3DC6&bs=Finden&fsop=3%26fsoo%3D1&coaction=compare&copagenum=1&coentrypage=search&fgtp=&sargn=-1%26saslc%3D3&sadis=200&fpos=55743&ga10244=10425&ftrt=1&ftrv=1&saprclo=&saprchi= Ebay] bereits ab 2,99 Euro das St&uuml;ck angeboten.
-Drahtlos angebundene Computer sind am WRT54G im [http://de.wikipedia.org/wiki/Client_Mode Client-Modus] leider nicht zu betreiben - man braucht dann einen zweiten [http://de.wikipedia.org/wiki/Access_Point Access Point] bzw. mu? die PCs per LAN-Kabel an den vier LAN-Ports anbinden!+Drahtlos angebundene Computer sind am WRT54G im [http://de.wikipedia.org/wiki/Client_Mode Client-Modus] leider nicht zu betreiben - man braucht dann einen zweiten [http://de.wikipedia.org/wiki/Access_Point Access Point] bzw. mu&szlig; die PCs per LAN-Kabel an den vier LAN-Ports anbinden!
<blockquote> <blockquote>
* [http://forum.bsr-clan.de/viewtopic.php?t=694 Anleitung Client <-> AP mit 2 WRT54G(S)] (auf englisch) * [http://forum.bsr-clan.de/viewtopic.php?t=694 Anleitung Client <-> AP mit 2 WRT54G(S)] (auf englisch)
Line 112: Line 112:
=Richtig Flashen= =Richtig Flashen=
==Grundlagen== ==Grundlagen==
-Wer es noch nicht weiß: Die Linksys-Router können eine andere Firmware aufgespielt bekommen, die weitere ungeahnte und zum Teil vielleicht auch unnötige Einstellungsmöglichkeiten bieten.+Wer es noch nicht weiß: Die Linksys-Router k&ouml;nnen eine andere Firmware aufgespielt bekommen, die weitere ungeahnte und zum Teil vielleicht auch unn&ouml;tige Einstellungsm&ouml;glichkeiten bieten.
-Jedoch erweist sich dieses Aufspielen einer anderen Firmware öfter als fehlerhaft. Den derzeitigen Fehlerberichten zufolge funktioniert dann der Router vorerst nicht mehr, jedoch gibt es in so einem Fall auch [http://www.linksysinfo.org/modules.php?name=Content&pa=showpage&pid=33 Lösungen], [http://forum.bsr-clan.de/viewtopic.php?t=593 2], [http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html 3].<br>+Jedoch erweist sich dieses Aufspielen einer anderen Firmware &ouml;fter als fehlerhaft. Den derzeitigen Fehlerberichten zufolge funktioniert dann der Router vorerst nicht mehr, jedoch gibt es in so einem Fall auch [http://www.linksysinfo.org/modules.php?name=Content&pa=showpage&pid=33 L&ouml;sungen], [http://forum.bsr-clan.de/viewtopic.php?t=593 2], [http://voidmain.is-a-geek.net/redhat/wrt54g_revival.html 3].<br>
<br> <br>
-Doch um diesem "falschen" Flashen vorzubeugen, diene diese Anleitung. ''(da dieses Wiki aber noch im Aufbau ist, so sei beachtet, dass diese Art und Weise "richtig" zu flashen nur EINE Möglichkeit von vielen ist. Wer sich also strikt an diese Anleitung hält und trotzdem Probleme bekommt, kann diesen Beitrag selbst ändern, dem Editor dieses Beitrages eine Rüge geben oder sonstwas gemäß der Vernunft tun)''<br>+Doch um diesem "falschen" Flashen vorzubeugen, diene diese Anleitung. ''(da dieses Wiki aber noch im Aufbau ist, so sei beachtet, dass diese Art und Weise "richtig" zu flashen nur EINE M&ouml;glichkeit von vielen ist. Wer sich also strikt an diese Anleitung h&auml;lt und trotzdem Probleme bekommt, kann diesen Beitrag selbst &auml;ndern, dem Editor dieses Beitrages eine R&uuml;ge geben oder sonstwas gem&auml;ß der Vernunft tun)''<br>
-Übrigens sind die Links zum Teil wie "http://routerip/Management.asp" notiert, für "routerip" sollte hier die eigene Router-IP eingegeben werden. In der Regel 192.168.1.1; bzw. nach Schritt 4 sowieso.+&Uuml;brigens sind die Links zum Teil wie "http://routerip/Management.asp" notiert, f&uuml;r "routerip" sollte hier die eigene Router-IP eingegeben werden. In der Regel 192.168.1.1; bzw. nach Schritt 4 sowieso.
-ACHTUNG bei TFTP-Uploads: WRT54 "GS" - Modelle können NUR am Port 1 per TFTP geflasht werden. Bei einigen Hardware-Revisionen ist der Port 1 am Switch der 4. Slot.+ACHTUNG bei TFTP-Uploads: WRT54 "GS" - Modelle k&ouml;nnen NUR am Port 1 per TFTP geflasht werden. Bei einigen Hardware-Revisionen ist der Port 1 am Switch der 4. Slot.
==Vorgehensweise== ==Vorgehensweise==
-'''1.''' Sich zum einen die gewünschte DD-WRT-Firmware herunterladen und entpacken, so dass die *.bin-Datei im Ordner des PCs liegt. Diese gibts zur Zeit hier: [http://www.dd-wrt.com DD-WRT]<br>+'''1.''' Sich zum einen die gew&uuml;nschte DD-WRT-Firmware herunterladen und entpacken, so dass die *.bin-Datei im Ordner des PCs liegt. Diese gibts zur Zeit hier: [http://www.dd-wrt.com DD-WRT]<br>
-'''1b.''' DD-WRT Version 22pre5 gibt es in drei Versionen: generic, basic und full. "Generic" ist, wie der Name schon sagt, eine generische Version auch für andere Router, die mit ähnlichen Chipsätzen ausgestattet sind und auf denen DD-WRT auch läuft (z.&nbsp;B. Asus WL500g Deluxe). "Basic" ist die normale Standardversion und "full" eine erweiterte Version die zusätzlich Dropbear, Chillispot, Samba und kaid enthält. Wer die nicht braucht, ist mit der Basic-Version gut bedient. Zusätzlich sind noch jeweils für den WRT54g oder WRT54gs angepasste Basic- und Full-Versionen erhältlich. [http://forum.bsr-clan.de/viewtopic.php?t=1706 Infos]. Desweiteren sei angemerkt, dass Prefinal-Versionen teilweise noch kleinere Bugs (Funktionsfehler) aufweisen können, daher werden sie immer vorerst zu Testzwecken herausgegeben. Gleichzeitig enthalten sie aber auch die meisten Verbesserungen und viele alte behobene Fehler. Unversierte Benutzer sollten also nach persönlichen Bedürfnissen abwägen, welche Version für sie in Frage kommt.<br>+'''1b.''' DD-WRT Version 22pre5 gibt es in drei Versionen: generic, basic und full. "Generic" ist, wie der Name schon sagt, eine generische Version auch f&uuml;r andere Router, die mit &auml;hnlichen Chips&auml;tzen ausgestattet sind und auf denen DD-WRT auch l&auml;uft (z.&nbsp;B. Asus WL500g Deluxe). "Basic" ist die normale Standardversion und "full" eine erweiterte Version die zus&auml;tzlich Dropbear, Chillispot, Samba und kaid enth&auml;lt. Wer die nicht braucht, ist mit der Basic-Version gut bedient. Zus&auml;tzlich sind noch jeweils f&uuml;r den WRT54g oder WRT54gs angepasste Basic- und Full-Versionen erh&auml;ltlich. [http://forum.bsr-clan.de/viewtopic.php?t=1706 Infos]. Desweiteren sei angemerkt, dass Prefinal-Versionen teilweise noch kleinere Bugs (Funktionsfehler) aufweisen k&ouml;nnen, daher werden sie immer vorerst zu Testzwecken herausgegeben. Gleichzeitig enthalten sie aber auch die meisten Verbesserungen und viele alte behobene Fehler. Unversierte Benutzer sollten also nach pers&ouml;nlichen Bed&uuml;rfnissen abw&auml;gen, welche Version f&uuml;r sie in Frage kommt.<br>
-'''2.''' Als nächstes sicher gehen, dass kein anderer PC per WLAN oder auch LAN auf den Router zugreift, außer der, welcher die Firmware aufspielen soll. Dieser "Flash-PC" sollte per LAN - also verkabelt - an den Router angeschlossen sein! ''Es soll zwar Benutzer geben, die per WLAN flashen und es klappt, aber von dieser Methode wird dringlichst abgeraten!'' Also alle Kabel - auch am WAN-Port! - außer dem des Stromanschlusses abziehen und nach Möglichkeit alle WLAN-User informieren, sie sollen mal ihr WLAN abschalten und auch keine Verbindunsversuche starten (die Verbindung wird ja sowieso gleich gekappt (in Schritt 3) <br>+'''2.''' Als n&auml;chstes sicher gehen, dass kein anderer PC per WLAN oder auch LAN auf den Router zugreift, außer der, welcher die Firmware aufspielen soll. Dieser "Flash-PC" sollte per LAN - also verkabelt - an den Router angeschlossen sein! ''Es soll zwar Benutzer geben, die per WLAN flashen und es klappt, aber von dieser Methode wird dringlichst abgeraten!'' Also alle Kabel - auch am WAN-Port! - außer dem des Stromanschlusses abziehen und nach M&ouml;glichkeit alle WLAN-User informieren, sie sollen mal ihr WLAN abschalten und auch keine Verbindunsversuche starten (die Verbindung wird ja sowieso gleich gekappt (in Schritt 3) <br>
-'''3.''' Jetzt kann, wenn erwünscht, noch von den Einstellungen ein Backup gemacht werden und zwar unter [http://routerip/config.asp Administration/Backup] und dort unter "[http://routerip/nvrambak.tgz HERE (gilt nur für DD-WRT-Versionen)]" die Datei auf dem Rechner gespeichert werden. '''Aber:''' Auch wenn es bei manchen funktioniert: Es wird davon abgeraten, dieses Einstellungen-Backup für die neue Firmware zu benutzen! Es sollte alles neu eingestellt werden! ''Das Backup dient also nur dazu bei der Wiederherstellung der noch in diesem Schritt genutzen Firmware, sich das zum Teil mühselige Einstellen zu ersparen.<br>+'''3.''' Jetzt kann, wenn erw&uuml;nscht, noch von den Einstellungen ein Backup gemacht werden und zwar unter [http://routerip/config.asp Administration/Backup] und dort unter "[http://routerip/nvrambak.tgz HERE (gilt nur f&uuml;r DD-WRT-Versionen)]" die Datei auf dem Rechner gespeichert werden. '''Aber:''' Auch wenn es bei manchen funktioniert: Es wird davon abgeraten, dieses Einstellungen-Backup f&uuml;r die neue Firmware zu benutzen! Es sollte alles neu eingestellt werden! ''Das Backup dient also nur dazu bei der Wiederherstellung der noch in diesem Schritt genutzen Firmware, sich das zum Teil m&uuml;hselige Einstellen zu ersparen.<br>
'''3b.''' Wer schon eine andere "3rd Party Firmware" wie etwa DD-WRT installiert hat, sollte noch "boot-wait" einschalten. Bei DD-WRT-Firmware unter: [http://routerip/Management.asp administration/management]<br> '''3b.''' Wer schon eine andere "3rd Party Firmware" wie etwa DD-WRT installiert hat, sollte noch "boot-wait" einschalten. Bei DD-WRT-Firmware unter: [http://routerip/Management.asp administration/management]<br>
-'''4.''' Nun muss ein "Factory-Reset" durchgeführt werden. Bei manchen geht es auch ohne, aber wir wollen ja "richtig" flashen. Der Reset ist ganz einfach: An der Rückseite des Routers den "Resetknopf" mit einem spitzen Werkzeug (ein Bleistift tuts auch, aber aufpassen, dass nichts von der Mine abbricht und im Gerät bleibt, besser einen Kugelschreiber nehmen) für etwa 10 Sekunden lang gedrückt halten und danach loslassen; dass etwas passiert, sieht man am Blinken der LEDs an der Vorderseite des Routers. Infolgedessen auf der [http://192.168.1.1/index.asp Setup]-Hauptseite prüfen, ob auch alle Einstellungen auf Default-Werten sind, also die eigenen Einstellungen verworfen wurden. Andernfalls den Reset-Vorgang nochmals durchführen. '''!!!''' Sollte nach Loslassen die DMZ-LED konstant 5 Sekunden an - 5 Sekunden aus blinken, so muss der Router einmal kurz vom Stromnetz genommen und wieder angesteckt werden. Fängt sich der Router immer noch nicht, dann nochmals die Reset-Taste, aber nur kurz, drücken. Wenn auch danach die DMZ-LED blinkt, nochmals einen "Factory Reset" probieren. Andernfalls stimmt da etwas nicht und das [http://forum.bsr-clan.de/viewforum.php?f=13 Forum] hilft da bestimmt weiter. (Solche Fälle sind mir aber nicht bekannt)<br>+'''4.''' Nun muss ein "Factory-Reset" durchgef&uuml;hrt werden. Bei manchen geht es auch ohne, aber wir wollen ja "richtig" flashen. Der Reset ist ganz einfach: An der R&uuml;ckseite des Routers den "Resetknopf" mit einem spitzen Werkzeug (ein Bleistift tuts auch, aber aufpassen, dass nichts von der Mine abbricht und im Ger&auml;t bleibt, besser einen Kugelschreiber nehmen) f&uuml;r etwa 10 Sekunden lang gedr&uuml;ckt halten und danach loslassen; dass etwas passiert, sieht man am Blinken der LEDs an der Vorderseite des Routers. Infolgedessen auf der [http://192.168.1.1/index.asp Setup]-Hauptseite pr&uuml;fen, ob auch alle Einstellungen auf Default-Werten sind, also die eigenen Einstellungen verworfen wurden. Andernfalls den Reset-Vorgang nochmals durchf&uuml;hren. '''!!!''' Sollte nach Loslassen die DMZ-LED konstant 5 Sekunden an - 5 Sekunden aus blinken, so muss der Router einmal kurz vom Stromnetz genommen und wieder angesteckt werden. F&auml;ngt sich der Router immer noch nicht, dann nochmals die Reset-Taste, aber nur kurz, dr&uuml;cken. Wenn auch danach die DMZ-LED blinkt, nochmals einen "Factory Reset" probieren. Andernfalls stimmt da etwas nicht und das [http://forum.bsr-clan.de/viewforum.php?f=13 Forum] hilft da bestimmt weiter. (Solche F&auml;lle sind mir aber nicht bekannt)<br>
-'''5.''' Jetzt kann die Firmware geflasht werden auf der [http://192.168.1.1/Upgrade.asp Administration/Firmware Upgrade]-Seite. Die *.bin-Datei von 1. auswählen, auf den Upgrade-Button klicken und warten - richtig lange warten mitunter. Wer abbricht und den Stromstecker zieht, ist selbst schuld, denn dann kann es sein, dass das Gerät nicht ohne Mühe wieder zum Laufen gebracht werden kann. DD-WRT Versionen haben mitunter noch eine Option, vor dem Flashen auszuwählen, ob ''"Reset after flashing to:"'' ausgeführt werden soll. Hier empfiehlt es sich, auf "Firmware Defaults" zu stellen.<br>+'''5.''' Jetzt kann die Firmware geflasht werden auf der [http://192.168.1.1/Upgrade.asp Administration/Firmware Upgrade]-Seite. Die *.bin-Datei von 1. ausw&auml;hlen, auf den Upgrade-Button klicken und warten - richtig lange warten mitunter. Wer abbricht und den Stromstecker zieht, ist selbst schuld, denn dann kann es sein, dass das Ger&auml;t nicht ohne M&uuml;he wieder zum Laufen gebracht werden kann. DD-WRT Versionen haben mitunter noch eine Option, vor dem Flashen auszuw&auml;hlen, ob ''"Reset after flashing to:"'' ausgef&uuml;hrt werden soll. Hier empfiehlt es sich, auf "Firmware Defaults" zu stellen.<br>
-'''5b.''' Sollte wie unter 4. die DMZ-LED blinken, so auch wie in 4. beschrieben vorgehen. Das Upgrade sollte komplett sein, wenn entweder eine Bestätigung "upgrade complete" oder ähnliches erscheint, oder die Power- und die Lan-Port-LED leuchten und euch nichts komisch vorkommt. Ein kurzes Trennen vom Stromnetz kann mitunter schon kleinere Problemchen lösen ... <br>+'''5b.''' Sollte wie unter 4. die DMZ-LED blinken, so auch wie in 4. beschrieben vorgehen. Das Upgrade sollte komplett sein, wenn entweder eine Best&auml;tigung "upgrade complete" oder &auml;hnliches erscheint, oder die Power- und die Lan-Port-LED leuchten und euch nichts komisch vorkommt. Ein kurzes Trennen vom Stromnetz kann mitunter schon kleinere Problemchen l&ouml;sen ... <br>
-'''6.''' Jetzt können alle Einstellungen vorgenommen werden.<br><br>+'''6.''' Jetzt k&ouml;nnen alle Einstellungen vorgenommen werden.<br><br>
''Wenn es nach dem Flashen Probleme gab. so hilft derzeit im Forum auf Englisch eventuell [http://forum.bsr-clan.de/viewtopic.php?t=593 dieser] Beitrag. Eine [http://wrt-wiki.bsr-clan.de/index.php?title=DD-WRT_Doku_%28DE%29#Wiederbeleben Anleitung] hier im Wiki ist im Aufbau. ''Wenn es nach dem Flashen Probleme gab. so hilft derzeit im Forum auf Englisch eventuell [http://forum.bsr-clan.de/viewtopic.php?t=593 dieser] Beitrag. Eine [http://wrt-wiki.bsr-clan.de/index.php?title=DD-WRT_Doku_%28DE%29#Wiederbeleben Anleitung] hier im Wiki ist im Aufbau.
Line 145: Line 145:
===WRT54G v2.2 === ===WRT54G v2.2 ===
-Es scheint beim Flashen via TFTP nötig zu sein, die vergebene ip-adresse zu misachten und tftp auf die 192.168.1.1 anzusetzen:+Es scheint beim Flashen via TFTP n&ouml;tig zu sein, die vergebene ip-adresse zu misachten und tftp auf die 192.168.1.1 anzusetzen:
$ ifconfig eth1 $ ifconfig eth1
Line 167: Line 167:
tftp> tftp>
-(ab dem put-befehl dürfte es um die 5sec dauern)+(ab dem put-befehl d&uuml;rfte es um die 5sec dauern)
-Der Put-Befehl führte bei einigen Geräten auch schon vor dem Erlischen der vier LAN_LEDs zum Erfolg, der sich in kurzzeigen sehr schnellen Blinken der LED #1 zeigte.+Der Put-Befehl f&uuml;hrte bei einigen Ger&auml;ten auch schon vor dem Erlischen der vier LAN_LEDs zum Erfolg, der sich in kurzzeigen sehr schnellen Blinken der LED #1 zeigte.
===WRT54G/S v4.0 WRT54GL === ===WRT54G/S v4.0 WRT54GL ===
-Nur die DD-WRT Versionen v23 und höher unterstützen diese Router Version. Desweiteren kann aufgrund einer Limitierung der Original Linksys Firmware (lässt nur ein Update mit einer Firmware bis zu 3MByte zu) für dieses Gerät zunächst nur eine v23 mini Version aufgespielt werden (siehe generelle Anleitung oben). Sobald diese jedoch erfolgreich eingespielt wurde besteht diese Begrenzung nicht mehr und man kann beliebig zu anderen Firmware Versionen wie v23 basic oder voip (nicht v2X oder v1X sonst ist der Linksys v4.0 kaputt) wechseln.+Nur die DD-WRT Versionen v23 und h&ouml;her unterst&uuml;tzen diese Router Version. Desweiteren kann aufgrund einer Limitierung der Original Linksys Firmware (l&auml;sst nur ein Update mit einer Firmware bis zu 3MByte zu) f&uuml;r dieses Ger&auml;t zun&auml;chst nur eine v23 mini Version aufgespielt werden (siehe generelle Anleitung oben). Sobald diese jedoch erfolgreich eingespielt wurde besteht diese Begrenzung nicht mehr und man kann beliebig zu anderen Firmware Versionen wie v23 basic oder voip (nicht v2X oder v1X sonst ist der Linksys v4.0 kaputt) wechseln.
===Buffalo WHR-G54S und WHR-HP-G54 === ===Buffalo WHR-G54S und WHR-HP-G54 ===
-Bitte für die Buffalo Router WHR-G54S und WHR-HP-G54 nur die DD-WRT v23 SP1 und höher verwenden. Frühere Versionen unterstützen diese beiden Geräte nicht.+Bitte f&uuml;r die Buffalo Router WHR-G54S und WHR-HP-G54 nur die DD-WRT v23 SP1 und h&ouml;her verwenden. Fr&uuml;here Versionen unterst&uuml;tzen diese beiden Ger&auml;te nicht.
-Die Standard-IP-Adresse der Buffalo-Router lautet 192.168.11.1 mit Benutzernamen root ohne Passwort. Nach dem Flashen lautet die Standard-IP-Adresse 192.168.1.1 mit Benutzernamen root und Passwort admin. Dies gilt es am Ende des Flashens zu beachten. Die heruntergeladene Binärdatei der DD-WRT Firmware befindet sich im Pfad "LW:\Dokumente und Einstellungen\%Benutzername%\", wobei LW meist das Laufwerk C: ist und Benutzername stellvertretend für den aktuellen Benutzer ist.+Die Standard-IP-Adresse der Buffalo-Router lautet 192.168.11.1 mit Benutzernamen root ohne Passwort. Nach dem Flashen lautet die Standard-IP-Adresse 192.168.1.1 mit Benutzernamen root und Passwort admin. Dies gilt es am Ende des Flashens zu beachten. Die heruntergeladene Bin&auml;rdatei der DD-WRT Firmware befindet sich im Pfad "LW:\Dokumente und Einstellungen\%Benutzername%\", wobei LW meist das Laufwerk C: ist und Benutzername stellvertretend f&uuml;r den aktuellen Benutzer ist.
'''Anmerkungen vor dem Flashen''' '''Anmerkungen vor dem Flashen'''
-* Haben Sie einmal auf die DD-WRT Firmware gewechselt, können Sie die normale Firmware von Buffalo nicht mehr einspielen. Weitere Informationen findet man unter [http://forum.bsr-clan.de/viewtopic.php?t=8184&highlight=whrg54s+back+firmware http://forum.bsr-clan.de/viewtopic.php?t=8184&highlight=whrg54s+back+firmware].+* Haben Sie einmal auf die DD-WRT Firmware gewechselt, k&ouml;nnen Sie die normale Firmware von Buffalo nicht mehr einspielen. Weitere Informationen findet man unter [http://forum.bsr-clan.de/viewtopic.php?t=8184&highlight=whrg54s+back+firmware http://forum.bsr-clan.de/viewtopic.php?t=8184&highlight=whrg54s+back+firmware].
-* Die von der Buffalo-Firmware verwendete LED in Form eine Brücke, wenn der WHR-G54S oder der WHR-HP-G54 als Bridge arbeitet - der Schiebeschalter auf der Unterseite - steht mit der DD-WRT Firmware nicht mehr zur Verfügung und ist nur während des Bootprozesses kurz in Betrieb.+* Die von der Buffalo-Firmware verwendete LED in Form eine Br&uuml;cke, wenn der WHR-G54S oder der WHR-HP-G54 als Bridge arbeitet - der Schiebeschalter auf der Unterseite - steht mit der DD-WRT Firmware nicht mehr zur Verf&uuml;gung und ist nur w&auml;hrend des Bootprozesses kurz in Betrieb.
-* Es ist nicht nötig, die zweistufige Flashprozedur ähnlich des WRT54G durchzuführen. Die Buffalo Router akzeptieren das komplette Image in einem Rutsch.+* Es ist nicht n&ouml;tig, die zweistufige Flashprozedur &auml;hnlich des WRT54G durchzuf&uuml;hren. Die Buffalo Router akzeptieren das komplette Image in einem Rutsch.
-* Innerhalb der DD-WRT Firmware kann die Weboberfläche zum Upgraden/Downgraden zwischen den DD-WRT Versionen verwendet werden. Vorsicht: unterhalb der DD-WRT Version v23 SP1 ist der Support für die Buffalo Router noch nicht enthalten.+* Innerhalb der DD-WRT Firmware kann die Weboberfl&auml;che zum Upgraden/Downgraden zwischen den DD-WRT Versionen verwendet werden. Vorsicht: unterhalb der DD-WRT Version v23 SP1 ist der Support f&uuml;r die Buffalo Router noch nicht enthalten.
'''Flashen auf die DD-WRT Firmware''' '''Flashen auf die DD-WRT Firmware'''
-# Um unnötigen Problemen aus dem Weg zu gehen, sollte man vor dem Flashen den Router in die Werkseinstellungen zurücksetzen. Auf der Unterseite befindet sich der INIT-Knopf. Dieser muss bei angeschaltetem Router gedrückt gehalten werden, bis auf der Frontblende die rote LED erscheint. In Ausnahmefällen muss er bis zu 30 Sekunden gedrückt gehalten werden, bis der komplette Reset-to-Default durchgelaufen ist.+# Um unn&ouml;tigen Problemen aus dem Weg zu gehen, sollte man vor dem Flashen den Router in die Werkseinstellungen zur&uuml;cksetzen. Auf der Unterseite befindet sich der INIT-Knopf. Dieser muss bei angeschaltetem Router gedr&uuml;ckt gehalten werden, bis auf der Frontblende die rote LED erscheint. In Ausnahmef&auml;llen muss er bis zu 30 Sekunden gedr&uuml;ckt gehalten werden, bis der komplette Reset-to-Default durchgelaufen ist.
# Den Stromstecker am Router abziehen. # Den Stromstecker am Router abziehen.
-# Da der Router beim Starten auf der IP-Adresse 192.168.11.1 steht, muss derjenige PC, von dem aus geflasht werden soll, eine statische IP-Adresse aus dem 192.168.11.0/24 Netzwerk haben. Dies kann die IP-Adresse 192.168.11.2 mit Subnetzmaske 255.255.255.0 sein. Für Windows XP sollte dieser Screenshot (in englischer Sprache) weiterhelfen. Zuerst über Start -> Einstellungen -> Systemsteuerung die Netzwerkverbindungen öffnen. Dort mit der rechten Maustaste die LAN-Verbindung auswählen und im Kontextmenü "Eigenschaften" anklicken. "Internetprotokoll (TCP/IP)" doppelklicken. Die Einstellungen wie im Screenshot gezeigt vornehmen. Keine Einträge bei Standardgateway und DNS-Serveradressen vornehmen, diese sind hier nicht notwendig. OK übernimmt die Einstellungen. [[Image:LAN_Properties.jpg]]+# Da der Router beim Starten auf der IP-Adresse 192.168.11.1 steht, muss derjenige PC, von dem aus geflasht werden soll, eine statische IP-Adresse aus dem 192.168.11.0/24 Netzwerk haben. Dies kann die IP-Adresse 192.168.11.2 mit Subnetzmaske 255.255.255.0 sein. F&uuml;r Windows XP sollte dieser Screenshot (in englischer Sprache) weiterhelfen. Zuerst &uuml;ber Start -> Einstellungen -> Systemsteuerung die Netzwerkverbindungen &ouml;ffnen. Dort mit der rechten Maustaste die LAN-Verbindung ausw&auml;hlen und im Kontextmen&uuml; "Eigenschaften" anklicken. "Internetprotokoll (TCP/IP)" doppelklicken. Die Einstellungen wie im Screenshot gezeigt vornehmen. Keine Eintr&auml;ge bei Standardgateway und DNS-Serveradressen vornehmen, diese sind hier nicht notwendig. OK &uuml;bernimmt die Einstellungen. [[Image:LAN_Properties.jpg]]
-# Nun wird das Senden der Firmware vorbereiten. Über Start -> Ausführen... in die Zeile "Öffnen:" '''cmd''' eintragen und ENTER drücken. Die Kommandozeile öffnet sich. Das TFTP-Kommando ist hier einzugeben; jetzt noch NICHT die ENTER-Taste drücken, das kommt später erst: <code> tftp -i 192.168.11.1 PUT (Dateiname; also generic.bin, mini.bin usw.)</code> Hier noch '''nicht ENTER drücken'''.+# Nun wird das Senden der Firmware vorbereiten. &Uuml;ber Start -> Ausf&uuml;hren... in die Zeile "&Ouml;ffnen:" '''cmd''' eintragen und ENTER dr&uuml;cken. Die Kommandozeile &ouml;ffnet sich. Das TFTP-Kommando ist hier einzugeben; jetzt noch NICHT die ENTER-Taste dr&uuml;cken, das kommt sp&auml;ter erst: <code> tftp -i 192.168.11.1 PUT (Dateiname; also generic.bin, mini.bin usw.)</code> Hier noch '''nicht ENTER dr&uuml;cken'''.
# Den Stromstecker wieder in den Router einstecken. Die LEDs der Switchports fangen an, zu leuchten. # Den Stromstecker wieder in den Router einstecken. Die LEDs der Switchports fangen an, zu leuchten.
-# Im Kommandozeilenfenster '''in dem Augenblick, wenn die Switch-Port LEDs nicht mehr leuchten, jetzt ENTER drücken'''. War der Flashvorgang erfolgreich, kommt eine Meldung über die übertragene Datenmenge. War das Flashen nicht erfolgreich, kommt ein Timeout. Wiederholen Sie bitte die letzten beide Schritte (Strom raus, Strom rein, TFTP mit ENTER starten).+# Im Kommandozeilenfenster '''in dem Augenblick, wenn die Switch-Port LEDs nicht mehr leuchten, jetzt ENTER dr&uuml;cken'''. War der Flashvorgang erfolgreich, kommt eine Meldung &uuml;ber die &uuml;bertragene Datenmenge. War das Flashen nicht erfolgreich, kommt ein Timeout. Wiederholen Sie bitte die letzten beide Schritte (Strom raus, Strom rein, TFTP mit ENTER starten).
# Nach dem erfolgreichen Flashen muss man nun 1-2 Minuten warten, da er jetzt der eigentliche Flashvorgang im Inneren des Routers beginnt. # Nach dem erfolgreichen Flashen muss man nun 1-2 Minuten warten, da er jetzt der eigentliche Flashvorgang im Inneren des Routers beginnt.
-# Der Router bootet nach erfolgreichem Flashen durch und steht dann unter der IP-Adresse 192.168.1.1 zur Verfügung. Sollte dies nicht der Fall sein, ziehen Sie bitte den Stromstecker ab und stecken Sie in erneut ein (der so genannte Powercycle im Englischen).+# Der Router bootet nach erfolgreichem Flashen durch und steht dann unter der IP-Adresse 192.168.1.1 zur Verf&uuml;gung. Sollte dies nicht der Fall sein, ziehen Sie bitte den Stromstecker ab und stecken Sie in erneut ein (der so genannte Powercycle im Englischen).
-# Setzen Sie die manuell vergebene, statische IP-Adresse zurück auf "IP-Adresse automatisch beziehen" UND setzen Sie die Auswahl bei "DNS-Server automatisch beziehen", um eine DHCP-IP-Adresse vom Router zu erhalten. Oder wechseln Sie in das 192.168.1.0/24 Netzwerk.+# Setzen Sie die manuell vergebene, statische IP-Adresse zur&uuml;ck auf "IP-Adresse automatisch beziehen" UND setzen Sie die Auswahl bei "DNS-Server automatisch beziehen", um eine DHCP-IP-Adresse vom Router zu erhalten. Oder wechseln Sie in das 192.168.1.0/24 Netzwerk.
-# Die Weboberfläche des Routers öffnet sich über http://192.168.1.1 mit Benutzernamen root und Passwort admin.+# Die Weboberfl&auml;che des Routers &ouml;ffnet sich &uuml;ber http://192.168.1.1 mit Benutzernamen root und Passwort admin.
-'''TFTP Anweisungen für Linux'''+'''TFTP Anweisungen f&uuml;r Linux'''
<pre>tftp <pre>tftp
tftp> binary tftp> binary
Line 208: Line 208:
</pre> </pre>
-'''Ein alternatives tftp Kommando für Linux (bitte entweder das Eine oder das Andere, aber nicht beide):'''+'''Ein alternatives tftp Kommando f&uuml;r Linux (bitte entweder das Eine oder das Andere, aber nicht beide):'''
<pre> <pre>
tftp 192.168.11.1 -m binary -c put dd-wrt.v23_generic.bin tftp 192.168.11.1 -m binary -c put dd-wrt.v23_generic.bin
</pre> </pre>
-# Bis zur letzten Zeile eintippen (ohne Enter zu drücken!), +# Bis zur letzten Zeile eintippen (ohne Enter zu dr&uuml;cken!),
# den Router einschalten und warten, bis die Switch-Port LEDs ausgehen und # den Router einschalten und warten, bis die Switch-Port LEDs ausgehen und
-# '''jetzt''' <ENTER> drücken.+# '''jetzt''' <ENTER> dr&uuml;cken.
-* Die 'status' Ausgabe ist etwas missverständlich formuliert. Der Router muss einmal vom Strom genommen und wieder angesteckt werden nach dem Flashen. +* Die 'status' Ausgabe ist etwas missverst&auml;ndlich formuliert. Der Router muss einmal vom Strom genommen und wieder angesteckt werden nach dem Flashen.
'''Problembehebung''' '''Problembehebung'''
-* Sollten Probleme auftreten, könnte das NVRAM gelöscht werden müssen. Öffnen Sie dazu eine Telnet-Session auf den Router und führen Sie eine (oder beide?) dieser Optionen durch:+* Sollten Probleme auftreten, k&ouml;nnte das NVRAM gel&ouml;scht werden m&uuml;ssen. &Ouml;ffnen Sie dazu eine Telnet-Session auf den Router und f&uuml;hren Sie eine (oder beide?) dieser Optionen durch:
* Option 1 : * Option 1 :
<pre>mtd erase nvram</pre> <pre>mtd erase nvram</pre>
-* Option 2 : (übernommen von [http://wiki.openwrt.org/Faq#head-71cacf8460752af3f5771d2fae54923ded5beb9c OpenWrt FAQ])+* Option 2 : (&uuml;bernommen von [http://wiki.openwrt.org/Faq#head-71cacf8460752af3f5771d2fae54923ded5beb9c OpenWrt FAQ])
<pre>cd /tmp <pre>cd /tmp
wget http://openwrt.inf.fh-brs.de/~nbd/nvram-clean.sh wget http://openwrt.inf.fh-brs.de/~nbd/nvram-clean.sh
Line 231: Line 231:
</pre> </pre>
* Suchen Sie im Forum nach Postings, die den Suchbegriff "WHR-G54S" und Ihr Problem enthalten; Englischkenntnisse sind Pflicht. * Suchen Sie im Forum nach Postings, die den Suchbegriff "WHR-G54S" und Ihr Problem enthalten; Englischkenntnisse sind Pflicht.
-** Wenn Ihr Router zerschossen ist, suchen Sie im Forum [http://forum.bsr-clan.de forums] nach "WHR-G54S bricked". Es gibt ausreichend Hilfe in diesen Threads, Sie müssen es nicht auf eigenen Wegen versuchen.+** Wenn Ihr Router zerschossen ist, suchen Sie im Forum [http://forum.bsr-clan.de forums] nach "WHR-G54S bricked". Es gibt ausreichend Hilfe in diesen Threads, Sie m&uuml;ssen es nicht auf eigenen Wegen versuchen.
-===Buffalo WHR-HP-G54 - ändern der Boardflags ===+===Buffalo WHR-HP-G54 - &auml;ndern der Boardflags ===
*Telnet auf den Router *Telnet auf den Router
*folgendes Kommando eingeben *folgendes Kommando eingeben
Line 241: Line 241:
~ # ~ #
</pre> </pre>
-*erscheint 0x1758, ändern in 0x2758 +*erscheint 0x1758, &auml;ndern in 0x2758
*dazu dieses Kommando benutzen: *dazu dieses Kommando benutzen:
Line 262: Line 262:
[[Image:Wpa2.JPG|thumb|none|600px|Das aktuelle Standard-Interface von DD-WRT v23/v24]] [[Image:Wpa2.JPG|thumb|none|600px|Das aktuelle Standard-Interface von DD-WRT v23/v24]]
</center> </center>
-DD-WRT hebt sich gegenüber anderen Projekten wie zum Beispiel OpenWRT dadurch heraus, dass es eine GUI besitzt, die eine einfache Konfiguration der manigfaltigen Optionen erlaubt. So lassen sich alle Standardfunktionen von DD-WRT leicht über das Webinterface erreichen, ohne auf die Konsole zurückgreifen zu müssen (was natürlich weiterhin möglich ist). Auch wenn sich noch immer nicht alles über das web interface machen lässt, ist die komplett redesignte Variante für die DD-WRT Versionen v23/v24 ein weiterer Schritt in diese Richtung. Es unterstützt sowohl mehrere Sprachen als auch verschiedene Designs.+DD-WRT hebt sich gegen&uuml;ber anderen Projekten wie zum Beispiel OpenWRT dadurch heraus, dass es eine GUI besitzt, die eine einfache Konfiguration der manigfaltigen Optionen erlaubt. So lassen sich alle Standardfunktionen von DD-WRT leicht &uuml;ber das Webinterface erreichen, ohne auf die Konsole zur&uuml;ckgreifen zu m&uuml;ssen (was nat&uuml;rlich weiterhin m&ouml;glich ist). Auch wenn sich noch immer nicht alles &uuml;ber das web interface machen l&auml;sst, ist die komplett redesignte Variante f&uuml;r die DD-WRT Versionen v23/v24 ein weiterer Schritt in diese Richtung. Es unterst&uuml;tzt sowohl mehrere Sprachen als auch verschiedene Designs.
Line 269: Line 269:
'''Alchemy 5a:''' (fast identisch mit dem Interface der DD-WRT-v22-Version):<br> '''Alchemy 5a:''' (fast identisch mit dem Interface der DD-WRT-v22-Version):<br>
http://www.0711-stuttgart.de/192.168.1.23<br> http://www.0711-stuttgart.de/192.168.1.23<br>
-(Auch wenn es nicht mehr taufrisch ist, kann man durchaus Parallelen zwischen den Benutzeroberflächen ziehen.)<br>+(Auch wenn es nicht mehr taufrisch ist, kann man durchaus Parallelen zwischen den Benutzeroberfl&auml;chen ziehen.)<br>
-'''DD-WRT V22finalR2:''' <small>(Sorry wegen des Popups, der Webspace ist dafür kostenlos)</small><br>+'''DD-WRT V22finalR2:''' <small>(Sorry wegen des Popups, der Webspace ist daf&uuml;r kostenlos)</small><br>
http://www.informatione.gmxhome.de/DDWRT/Standard/V22R2/index.html<br> http://www.informatione.gmxhome.de/DDWRT/Standard/V22R2/index.html<br>
-(dort dann unten rechts "GUI Setup" auswählen)<br>+(dort dann unten rechts "GUI Setup" ausw&auml;hlen)<br>
-'''Version DD-WRT V23final:''' <small>(Sorry wegen des Popups, der Webspace ist dafür kostenlos)</small><br>+'''Version DD-WRT V23final:''' <small>(Sorry wegen des Popups, der Webspace ist daf&uuml;r kostenlos)</small><br>
http://www.informatione.gmxhome.de/DDWRT/Standard/V23final/index.html<br> http://www.informatione.gmxhome.de/DDWRT/Standard/V23final/index.html<br>
-Bei diesen Versionen kann man direkt auf die Links klicken. Die Passwortabfrage ist beim Original natürlich vorhanden.+Bei diesen Versionen kann man direkt auf die Links klicken. Die Passwortabfrage ist beim Original nat&uuml;rlich vorhanden.
Line 285: Line 285:
=Konfigurationsbeispiele= =Konfigurationsbeispiele=
-[http://www.vorhauer.net/wrt54g.htm Hier] eine Musterkonfiguration (leider noch auf Basis Alchemy pre5.3) für den Betrieb des WRT54G im Client-Modus an einem Access-Point.+[http://www.vorhauer.net/wrt54g.htm Hier] eine Musterkonfiguration (leider noch auf Basis Alchemy pre5.3) f&uuml;r den Betrieb des WRT54G im Client-Modus an einem Access-Point.
=Linux inside= =Linux inside=
-Bekanntlich ist die DD-WRT-Firmware ein Mini-Linux, d.&nbsp;h. neben allem was man mit der Web-Oberfläche mittels Browser einstellen kann gibts auch noch eine Linux-Shell mit noch mehr Möglichkeiten und Befehlen. Zugriff darauf bekommt man (auch unter Windows) nachdem man unter administration -> management enabled, mittels telnet oder SSH, also z.&nbsp;B. in die Eingabeaufforderung +Bekanntlich ist die DD-WRT-Firmware ein Mini-Linux, d.&nbsp;h. neben allem was man mit der Web-Oberfl&auml;che mittels Browser einstellen kann gibts auch noch eine Linux-Shell mit noch mehr M&ouml;glichkeiten und Befehlen. Zugriff darauf bekommt man (auch unter Windows) nachdem man unter administration -> management enabled, mittels telnet oder SSH, also z.&nbsp;B. in die Eingabeaufforderung
telnet 192.168.1.1 (richtige IP-Adresse des Routers einsetzen) telnet 192.168.1.1 (richtige IP-Adresse des Routers einsetzen)
-eingeben. Login/Passwort sind standardmä?ig root/admin oder je nachdem was man sonst vorher eingestellt hat. Für SSH muss man unter Windows ein SSH-Programm verwenden, z.&nbsp;B. [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty], Terraterm usw. nach dem gleichen Muster.+eingeben. Login/Passwort sind standardm&auml;&szlig;ig root/admin oder je nachdem was man sonst vorher eingestellt hat. F&uuml;r SSH muss man unter Windows ein SSH-Programm verwenden, z.&nbsp;B. [http://www.chiark.greenend.org.uk/~sgtatham/putty/ Putty], Terraterm usw. nach dem gleichen Muster.
-Momentan läuft die Firmware mit Kernel 2.4.20. Das kann man sich in einer Telnet-Sitzung ausgeben lassen mit dem Befehl 'cat /proc/version'.+Momentan l&auml;uft die Firmware mit Kernel 2.4.20. Das kann man sich in einer Telnet-Sitzung ausgeben lassen mit dem Befehl 'cat /proc/version'.
''Linux version 2.4.20 (root@colinux) (gcc version 3.3.5) #766 Thu Jun 23 16:30:31 UTC 2005'' ''Linux version 2.4.20 (root@colinux) (gcc version 3.3.5) #766 Thu Jun 23 16:30:31 UTC 2005''
Line 302: Line 302:
==Wichtige Linuxbefehle der Shell== ==Wichtige Linuxbefehle der Shell==
-Grundsätzlich gibt die Eingabe von 'help' die eingebauten, also von der Shell selbst bereitgestellten Befehle aus, zusätzlich kann man sich noch mittels zweimaligen Drückens der Tab-Taste eine Vielzahl weiterer Befehle ausgeben lassen.+Grunds&auml;tzlich gibt die Eingabe von 'help' die eingebauten, also von der Shell selbst bereitgestellten Befehle aus, zus&auml;tzlich kann man sich noch mittels zweimaligen Dr&uuml;ckens der Tab-Taste eine Vielzahl weiterer Befehle ausgeben lassen.
==Traffic control (traffic shaping) mit <tt>tc</tt>== ==Traffic control (traffic shaping) mit <tt>tc</tt>==
-Manchmal möchte man den Verkehr auf bestimmten Ports (z. B. FTP-Port 21 oder P2P-Ports) drosseln, damit diese zwar laufen, aber noch ausreichend Bandbreite für andere Zwecke übrig bleibt. Da der WRT54G unter Linux läuft, kann man auch Standard-Linux-Traffic-Shaping-Tools wie tc (traffic control) einsetzen. Leider ist die Bedienung mit den vielen Parametern sehr kryptisch. Das Samba-Share-Laufwerk der DD-WRT-Firmware kann dabei das Laden des Shell-Skripts vereinfachen. Im [http://forum.bsr-clan.de/viewforum.php?f=12 Berliner Quake-Forum] gab es folgendes Beispiel, welches Port 1234 auf 8 kBit/s begrenzt und einen Eindruck der tc-Parameter gibt: +Manchmal m&ouml;chte man den Verkehr auf bestimmten Ports (z. B. FTP-Port 21 oder P2P-Ports) drosseln, damit diese zwar laufen, aber noch ausreichend Bandbreite f&uuml;r andere Zwecke &uuml;brig bleibt. Da der WRT54G unter Linux l&auml;uft, kann man auch Standard-Linux-Traffic-Shaping-Tools wie tc (traffic control) einsetzen. Leider ist die Bedienung mit den vielen Parametern sehr kryptisch. Das Samba-Share-Laufwerk der DD-WRT-Firmware kann dabei das Laden des Shell-Skripts vereinfachen. Im [http://forum.bsr-clan.de/viewforum.php?f=12 Berliner Quake-Forum] gab es folgendes Beispiel, welches Port 1234 auf 8 kBit/s begrenzt und einen Eindruck der tc-Parameter gibt:
<pre> <pre>
tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 10mbit tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 10mbit
Line 311: Line 311:
tc qdisc add dev eth0 parent 1:1 sfq perturb 10 tc qdisc add dev eth0 parent 1:1 sfq perturb 10
</pre> </pre>
-Weiterführende Links: <blockquote> +Weiterf&uuml;hrende Links: <blockquote>
*[http://lartc.org/manpages/ Linux Advanced Routing & Traffic Control (lartc)] (engl.) *[http://lartc.org/manpages/ Linux Advanced Routing & Traffic Control (lartc)] (engl.)
*[http://perso.ens-lyon.fr/francois.echantillac/Docs/HowTo_TC_eng.html TC: a tool for Routing & Traffic Control ] *[http://perso.ens-lyon.fr/francois.echantillac/Docs/HowTo_TC_eng.html TC: a tool for Routing & Traffic Control ]
Line 322: Line 322:
==[[Skript-Schnipsel]]== ==[[Skript-Schnipsel]]==
-Eine kleine Sammlung von nützlichen [[Skript-Schnipsel|Shell-Skripten]]+Eine kleine Sammlung von n&uuml;tzlichen [[Skript-Schnipsel|Shell-Skripten]]
==Antennen ausrichten== ==Antennen ausrichten==
===Client-Modus=== ===Client-Modus===
-Um die Antennen Richtung Access-Point genau auszurichten, kann man sich die Signalstärke seines AP kontinuierlich ausgeben lassen. RSSI sollte möglichst hoch sein (-63 dB ist besser als -86 dB), Noise möglichst gering (-91 dB ist besser als -81 dB), die Differenz zwischen beiden (Signal-Noise-Ratio (SNR)) sollte mindestens 10 dB betragen.<BR>+Um die Antennen Richtung Access-Point genau auszurichten, kann man sich die Signalst&auml;rke seines AP kontinuierlich ausgeben lassen. RSSI sollte m&ouml;glichst hoch sein (-63 dB ist besser als -86 dB), Noise m&ouml;glichst gering (-91 dB ist besser als -81 dB), die Differenz zwischen beiden (Signal-Noise-Ratio (SNR)) sollte mindestens 10 dB betragen.<BR>
-Man startet eine Telnet-Sitzung zum Router und fügt das folgende Skript mit Cut & Paste ein:+Man startet eine Telnet-Sitzung zum Router und f&uuml;gt das folgende Skript mit Cut & Paste ein:
<pre> <pre>
while [ 1 ]; while [ 1 ];
Line 342: Line 342:
done done
</pre> </pre>
-Das Skript führt in einer Endlosschleife nacheinander die Befehle ''wl channel'', ''wl assoclist'', ''wl rate'', ''wl rssi'', ''wl noise'' aus, formatiert das Ergebnis mittel ''grep'' und ''cut'' zu der Ausgabezeile und wartet dann 1 s bis zur nächsten Wiederholung. Da die Formatierungsbefehle auf die Firmware abgestimmt sind, funktioniert das Skript nicht mit x-beliebigen Firmwares (hier getestet mit DD-WRT#22pre5). Das Ergebnis sieht dann beispielsweise so aus (knapp eine Zeile pro Sekunde):<BR>+Das Skript f&uuml;hrt in einer Endlosschleife nacheinander die Befehle ''wl channel'', ''wl assoclist'', ''wl rate'', ''wl rssi'', ''wl noise'' aus, formatiert das Ergebnis mittel ''grep'' und ''cut'' zu der Ausgabezeile und wartet dann 1 s bis zur n&auml;chsten Wiederholung. Da die Formatierungsbefehle auf die Firmware abgestimmt sind, funktioniert das Skript nicht mit x-beliebigen Firmwares (hier getestet mit DD-WRT#22pre5). Das Ergebnis sieht dann beispielsweise so aus (knapp eine Zeile pro Sekunde):<BR>
<pre> <pre>
MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-63 Noise=-91 SNR=28 MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-63 Noise=-91 SNR=28
Line 368: Line 368:
</pre> </pre>
===AP-Modus=== ===AP-Modus===
-Um das Skript im AP-Modus zu nutzen, um die Antenne Richtung Client auszurichten, mu? man beim "wl rssi"-Befehl die MAC-Adresse eines Clients angeben und den Befehl "wl assoclist" und die MAC-Ausgabe entfernen.+Um das Skript im AP-Modus zu nutzen, um die Antenne Richtung Client auszurichten, mu&szlig; man beim "wl rssi"-Befehl die MAC-Adresse eines Clients angeben und den Befehl "wl assoclist" und die MAC-Ausgabe entfernen.
<pre>while [ 1 ]; <pre>while [ 1 ];
do MAC=00:0B:6B:32:A7:83; do MAC=00:0B:6B:32:A7:83;
Line 407: Line 407:
==[[Software installieren mit ipkg]]== ==[[Software installieren mit ipkg]]==
-[[IPKG]] ist eine Debian-ähnliche Paketarchitektur, die die Installation von Software sehr vereinfacht.+[[IPKG]] ist eine Debian-&auml;hnliche Paketarchitektur, die die Installation von Software sehr vereinfacht.
== Port-Knocking == == Port-Knocking ==
-Dieser Abschnitt stellt ein kleines How-To zur Installation und Konfiguration des [http://openwrt.org OpenWRT]-Paketes [http://tracker.openwrt.org/packages/show.php?id=1287 knockd] dar. Der Autor erhebt keinen Anspruch auf Vollständigkeit oder Perfektion, aber da es sich sowieso um ein Wiki handelt lasst eurer Kritik freien Lauf und ändert was ihr für nötig haltet ;-) by Age_M+Dieser Abschnitt stellt ein kleines How-To zur Installation und Konfiguration des [http://openwrt.org OpenWRT]-Paketes [http://tracker.openwrt.org/packages/show.php?id=1287 knockd] dar. Der Autor erhebt keinen Anspruch auf Vollst&auml;ndigkeit oder Perfektion, aber da es sich sowieso um ein Wiki handelt lasst eurer Kritik freien Lauf und &auml;ndert was ihr f&uuml;r n&ouml;tig haltet ;-) by Age_M
===Was ist Port-Knocking?=== ===Was ist Port-Knocking?===
-Port-Knocking hat, wie der Name bereits impliziert, etwas mit Klopfzeichen zu tun. Die meisten kennen sicherlich den berühmten Ausruf "Sesam, öffne dich!" aus 'Ali Baba und die 40 Räuber', mit dem sich Ali Baba den Zutritt zur Höhle der 40 Räuber verschafft hat. ?hnlich funktioniert auch das Port-Knocking, allerdings nicht durch Sprache, sondern durch eine vorher definierte Sequenz aus TCP- und UDP-Paketen. Ein Daemon, der 'knockd', überwacht den eingehenden Netzwerkverkehr einer Schnittstelle und überprüft diesen auf die in der Konfigurationsdatei festgelegten Sequenzen. Wird eine Sequenz erkannt, zum Beispiel ein TCP-Paket auf Port 6666, dann ein UDP-Paket auf Port 4444 und schlie?lich wieder ein TCP-Paket auf Port 6666, so wird der in der Konfigurationsdatei festgelegte Befehl ausgeführt. Die Befehle sind dabei vom Benutzer frei wählbar.+Port-Knocking hat, wie der Name bereits impliziert, etwas mit Klopfzeichen zu tun. Die meisten kennen sicherlich den ber&uuml;hmten Ausruf "Sesam, &ouml;ffne dich!" aus 'Ali Baba und die 40 R&auml;uber', mit dem sich Ali Baba den Zutritt zur H&ouml;hle der 40 R&auml;uber verschafft hat. &Auml;hnlich funktioniert auch das Port-Knocking, allerdings nicht durch Sprache, sondern durch eine vorher definierte Sequenz aus TCP- und UDP-Paketen. Ein Daemon, der 'knockd', &uuml;berwacht den eingehenden Netzwerkverkehr einer Schnittstelle und &uuml;berpr&uuml;ft diesen auf die in der Konfigurationsdatei festgelegten Sequenzen. Wird eine Sequenz erkannt, zum Beispiel ein TCP-Paket auf Port 6666, dann ein UDP-Paket auf Port 4444 und schlie&szlig;lich wieder ein TCP-Paket auf Port 6666, so wird der in der Konfigurationsdatei festgelegte Befehl ausgef&uuml;hrt. Die Befehle sind dabei vom Benutzer frei w&auml;hlbar.
===Wozu braucht man Port-Knocking?=== ===Wozu braucht man Port-Knocking?===
-Port-Knocking kann in vielerlei Hinsicht eingesetzt werden. Eine Anwendungsmöglichkeit ist zum Beispiel die Abwehr von [http://de.wikipedia.org/wiki/Portscan Portscans]. Da Portscanner häufig einen Port nach dem anderen durchprobieren, können diese erkannt und wirksam durch das dynamische Anpassen der Firewallkonfiguration oder durch eine Trennung der Internetverbindung vereitelt werden. Eine weitere Anwendungsmöglichkeit ist die Fernadministration. Der Systemadministrator ist mit Port-Knocking in der Lage einzelne Befehle oder Skripte auszuführen ohne das ein direkter Zugriff auf den Host benötigt wird. Am häufigsten jedoch wird Port-Knocking dazu verwendet, Dienste wie zum Beispiel SSH, HTTP oder FTP zu verstecken und so das Angriffsrisiko zu minimieren. Dafür wird ebenso wie bei der Abwehr von Portscans das dynamische Anpassen der Firewallkonfiguration verwendet.+Port-Knocking kann in vielerlei Hinsicht eingesetzt werden. Eine Anwendungsm&ouml;glichkeit ist zum Beispiel die Abwehr von [http://de.wikipedia.org/wiki/Portscan Portscans]. Da Portscanner h&auml;ufig einen Port nach dem anderen durchprobieren, k&ouml;nnen diese erkannt und wirksam durch das dynamische Anpassen der Firewallkonfiguration oder durch eine Trennung der Internetverbindung vereitelt werden. Eine weitere Anwendungsm&ouml;glichkeit ist die Fernadministration. Der Systemadministrator ist mit Port-Knocking in der Lage einzelne Befehle oder Skripte auszuf&uuml;hren ohne das ein direkter Zugriff auf den Host ben&ouml;tigt wird. Am h&auml;ufigsten jedoch wird Port-Knocking dazu verwendet, Dienste wie zum Beispiel SSH, HTTP oder FTP zu verstecken und so das Angriffsrisiko zu minimieren. Daf&uuml;r wird ebenso wie bei der Abwehr von Portscans das dynamische Anpassen der Firewallkonfiguration verwendet.
===Voraussetzungen=== ===Voraussetzungen===
- -WRT54G/GS oder DD-WRT-kompatibles Gerät (Autor verwendet: WRT54GS_v1.1)+ -WRT54G/GS oder DD-WRT-kompatibles Ger&auml;t (Autor verwendet: WRT54GS_v1.1)
-DD-WRT_Firmware (Autor verwendet: DD-WRT_v23_alpha_VoIP_2005-08-22) -DD-WRT_Firmware (Autor verwendet: DD-WRT_v23_alpha_VoIP_2005-08-22)
- -JFFS muss aktiviert sein und noch über mindestens 700 kB Speicher verfügen+ -JFFS muss aktiviert sein und noch &uuml;ber mindestens 700 kB Speicher verf&uuml;gen
-===Installation der benötigten Pakete===+===Installation der ben&ouml;tigten Pakete===
-Zunächst muss eine Remote-Shell via SSH oder Telnet auf dem Router geöffnet und die Paketdatenbank von 'ipkg' aktualisiert werden. Dies geht mit dem Befehl:+Zun&auml;chst muss eine Remote-Shell via SSH oder Telnet auf dem Router ge&ouml;ffnet und die Paketdatenbank von 'ipkg' aktualisiert werden. Dies geht mit dem Befehl:
~# ipkg update ~# ipkg update
-Das benötigte Paket 'knockd' findet man über den [http://tracker.openwrt.org/packages/ OpenWRT-Package-Tracker]. Alternativer Download über: [http://voidmain.is-a-geek.net/files/ipkg/ http://voidmain.is-a-geek.net/files/ipkg/]. Installiert wird es mit dem Befehl:<br>+Das ben&ouml;tigte Paket 'knockd' findet man &uuml;ber den [http://tracker.openwrt.org/packages/ OpenWRT-Package-Tracker]. Alternativer Download &uuml;ber: [http://voidmain.is-a-geek.net/files/ipkg/ http://voidmain.is-a-geek.net/files/ipkg/]. Installiert wird es mit dem Befehl:<br>
~# ipkg install http://openwrt.alphacore.net/knockd_0.4_mipsel.ipk ~# ipkg install http://openwrt.alphacore.net/knockd_0.4_mipsel.ipk
Nach der installation von 'knockd' fehlt nun noch das Paket 'libpcap' welches mit dem Befehl Nach der installation von 'knockd' fehlt nun noch das Paket 'libpcap' welches mit dem Befehl
~# ipkg install libpcap ~# ipkg install libpcap
-installiert wird. Alle installierten Dateien liegen nun unterhalb von /jffs/ und die Konfigurationsdatei 'knockd.conf' befindet sich in /jffs/etc/. Als nächstes sollte die Funktion von 'knockd' mit dem Befehl<br>+installiert wird. Alle installierten Dateien liegen nun unterhalb von /jffs/ und die Konfigurationsdatei 'knockd.conf' befindet sich in /jffs/etc/. Als n&auml;chstes sollte die Funktion von 'knockd' mit dem Befehl<br>
~# knockd --help ~# knockd --help
-überprüft werden. Sollte es hierbei zu der Fehlermeldung "knockd: can't load library 'libpcap.so.0.8'" kommen, müssen lediglich die Pfade für die Librarys erneut exportiert werden. Dies geht mit dem Befehl:<br>+&uuml;berpr&uuml;ft werden. Sollte es hierbei zu der Fehlermeldung "knockd: can't load library 'libpcap.so.0.8'" kommen, m&uuml;ssen lediglich die Pfade f&uuml;r die Librarys erneut exportiert werden. Dies geht mit dem Befehl:<br>
~# export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib ~# export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib
Sollte einen neuere Version von libpcap.so installiert sein, so hilft ein symbolischer Link darauf: Sollte einen neuere Version von libpcap.so installiert sein, so hilft ein symbolischer Link darauf:
ln -s libpcap.so.0.9 libpcap.so.0.8 ln -s libpcap.so.0.9 libpcap.so.0.8
-Dies sollte natürlich im entsprechenden Verzeichnis /jffs/usr/lib ausgeführt werden.+Dies sollte nat&uuml;rlich im entsprechenden Verzeichnis /jffs/usr/lib ausgef&uuml;hrt werden.
-Nun sollte eine erneute Funktionsüberprüfung von knockd zum Erfolg führen.+Nun sollte eine erneute Funktions&uuml;berpr&uuml;fung von knockd zum Erfolg f&uuml;hren.
===Startskripte erstellen=== ===Startskripte erstellen===
-Zunächst sei gesagt, das die ersten zwei Schritte nicht zwingend notwendig, jedoch der ?bersichtlichkeit dienlich sind.<br>+Zun&auml;chst sei gesagt, das die ersten zwei Schritte nicht zwingend notwendig, jedoch der &Uuml;bersichtlichkeit dienlich sind.<br>
-====Erstellen eines Ordners für Skripte====+====Erstellen eines Ordners f&uuml;r Skripte====
In diesem Fall /jffs/scripts. In diesem Fall /jffs/scripts.
~# mkdir /jffs/scripts ~# mkdir /jffs/scripts
Line 448: Line 448:
~# echo "#!/bin/sh" > /jffs/scripts/startup.sh ~# echo "#!/bin/sh" > /jffs/scripts/startup.sh
~# echo "# Insert startup-scripts here" >> /jffs/scripts/startup.sh ~# echo "# Insert startup-scripts here" >> /jffs/scripts/startup.sh
-====Erstellen eines Skriptes für den Start von knockd====+====Erstellen eines Skriptes f&uuml;r den Start von knockd====
-Als nächstes wird das Skript für den Start von knockd erstellt.<br>+Als n&auml;chstes wird das Skript f&uuml;r den Start von knockd erstellt.<br>
~# echo "#!/bin/sh" > /jffs/scripts/start_knockd.sh ~# echo "#!/bin/sh" > /jffs/scripts/start_knockd.sh
~# echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib" >> /jffs/scripts/start_knockd.sh ~# echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib" >> /jffs/scripts/start_knockd.sh
~# echo "knockd -d -i ppp0 -c /jffs/etc/knockd.conf" >> /jffs/scripts/start_knockd.sh ~# echo "knockd -d -i ppp0 -c /jffs/etc/knockd.conf" >> /jffs/scripts/start_knockd.sh
-Die Verwendung des Parameters '-i' ist von der zu verwendenden Schnittstelle abhängig. Bei einer DSL-Verbindung mit PPPoE lautet diese Schnittstelle 'ppp0'. Wird der Parameter weggeleassen, wird die Schnittstelle 'eth0' verwendet.<br>+Die Verwendung des Parameters '-i' ist von der zu verwendenden Schnittstelle abh&auml;ngig. Bei einer DSL-Verbindung mit PPPoE lautet diese Schnittstelle 'ppp0'. Wird der Parameter weggeleassen, wird die Schnittstelle 'eth0' verwendet.<br>
-Da die Skripte bisher nur reguläre Dateien sind, müssen diese noch ausführbar gemacht werden.<br>+Da die Skripte bisher nur regul&auml;re Dateien sind, m&uuml;ssen diese noch ausf&uuml;hrbar gemacht werden.<br>
~# chmod 755 /jffs/scripts/* ~# chmod 755 /jffs/scripts/*
====Automatischen Start einrichten==== ====Automatischen Start einrichten====
-Damit 'knockd' automatisch beim Bootvorgang des Routers ausgeführt wird, muss die variable rc_startup des NVRAM noch überarbeitet werden. Wenn die Schritte 5.1 und 5.2 übersprungen wurden lautet der Befehl:<br>+Damit 'knockd' automatisch beim Bootvorgang des Routers ausgef&uuml;hrt wird, muss die variable rc_startup des NVRAM noch &uuml;berarbeitet werden. Wenn die Schritte 5.1 und 5.2 &uuml;bersprungen wurden lautet der Befehl:<br>
~# nvram set rc_startup="/jffs/scripts/start_knockd.sh" ~# nvram set rc_startup="/jffs/scripts/start_knockd.sh"
~# nvram commit ~# nvram commit
-Bei der Verwendung des allgemeinen Startskriptes müssen folgende Befehle verwendet werden:<br>+Bei der Verwendung des allgemeinen Startskriptes m&uuml;ssen folgende Befehle verwendet werden:<br>
~# nvram set rc_startup="/jffs/scripts/startup.sh" ~# nvram set rc_startup="/jffs/scripts/startup.sh"
~# nvram commit ~# nvram commit
Line 466: Line 466:
===knockd.conf anpassen=== ===knockd.conf anpassen===
-Das Anpassen der knockd.conf ist schnell erledigt. Hierfür verwendet man am besten den Editor 'vi', da dieser Bestandteil der DD-WRT-Firmware ist. Also:<br>+Das Anpassen der knockd.conf ist schnell erledigt. Hierf&uuml;r verwendet man am besten den Editor 'vi', da dieser Bestandteil der DD-WRT-Firmware ist. Also:<br>
~# vi /jffs/etc/knockd.conf ~# vi /jffs/etc/knockd.conf
-Unter [options] braucht man lediglich die vorhandenen Optionen löschen und folgendes eintragen:<br>+Unter [options] braucht man lediglich die vorhandenen Optionen l&ouml;schen und folgendes eintragen:<br>
[options] [options]
UseSyslog UseSyslog
Line 474: Line 474:
===Anwendungsbeispiele=== ===Anwendungsbeispiele===
-Da es sich hier um ein Wiki handelt, hoffe ich, das jeder, der interessante Anwendungsbeispiele für das Port-Knocking findet, diese hier mit kurzer Beschreibung aufführt. Informationen zur Konfiguration der Anwendungsmöglichkeiten gibts [http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki HIER]. Viel Spass beim "Klopfen" ;)+Da es sich hier um ein Wiki handelt, hoffe ich, das jeder, der interessante Anwendungsbeispiele f&uuml;r das Port-Knocking findet, diese hier mit kurzer Beschreibung auff&uuml;hrt. Informationen zur Konfiguration der Anwendungsm&ouml;glichkeiten gibts [http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki HIER]. Viel Spass beim "Klopfen" ;)
<br> <br>
<br> <br>
Beispiel 1: Beispiel 1:
-Hiermit könnt ihr den SSH-Port zum Router öffnen. Der Verbindungsaufbau zum Port 22 wird nur für die IP-Adresse des anklopfenden Host (dafür ist die Variable %IP% zuständig) akzeptiert und nach 30 Sekunden. wieder verweigert. Da SSH allerdings das verbindungsorientierte Protokoll TCP verwendet, wird die bereits aufgebaute Verbindung nicht geschlossen, es können lediglich keine weiteren Verbindungen aufgebaut werden.+Hiermit k&ouml;nnt ihr den SSH-Port zum Router &ouml;ffnen. Der Verbindungsaufbau zum Port 22 wird nur f&uuml;r die IP-Adresse des anklopfenden Host (daf&uuml;r ist die Variable %IP% zust&auml;ndig) akzeptiert und nach 30 Sekunden. wieder verweigert. Da SSH allerdings das verbindungsorientierte Protokoll TCP verwendet, wird die bereits aufgebaute Verbindung nicht geschlossen, es k&ouml;nnen lediglich keine weiteren Verbindungen aufgebaut werden.
[opencloseSSH] [opencloseSSH]
sequence = 33333:udp,22222:tcp,33333:udp sequence = 33333:udp,22222:tcp,33333:udp
Line 488: Line 488:
<br> <br>
Beispiel 2: Beispiel 2:
-Im Prinzip das gleiche wie Beispiel 1, aber anstelle des SSH-Ports wird der HTTPS-Port geöffnet.+Im Prinzip das gleiche wie Beispiel 1, aber anstelle des SSH-Ports wird der HTTPS-Port ge&ouml;ffnet.
[opencloseWEB] [opencloseWEB]
sequence = 44444:udp,33333:tcp,44444:udp sequence = 44444:udp,33333:tcp,44444:udp
Line 499: Line 499:
Hinweis zu beiden Beispielen:<br> Hinweis zu beiden Beispielen:<br>
/usr/sbin/iptables -A ... /usr/sbin/iptables -A ...
-setzt eine Filterregel ans Ende der iptables. Wenn zuvor eine DROP-Regel für den eingefügten Dienst steht, so geht diese nachgelagerte ACCEPT-Regel verloren! Um dies zu umgehen sollten die Befehle mit+setzt eine Filterregel ans Ende der iptables. Wenn zuvor eine DROP-Regel f&uuml;r den eingef&uuml;gten Dienst steht, so geht diese nachgelagerte ACCEPT-Regel verloren! Um dies zu umgehen sollten die Befehle mit
/usr/sbin/iptables -I ... /usr/sbin/iptables -I ...
-an den Anfang der iptables eingefügt werden.<br>+an den Anfang der iptables eingef&uuml;gt werden.<br>
===Die Client-Tools=== ===Die Client-Tools===
-Die Verwendung von 'knockd' alleine reicht natürlich nicht aus. Die Client-Seite muss ja schlie?lich irgendwie anklopfen können. [http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki HIER] bekommt man die nötigen Tools um erfolgreich Klopfzeichen senden zu können. Wer wie der Autor 'Gentoo-Linux' auf der Clientseite verwendet, kann einfach+Die Verwendung von 'knockd' alleine reicht nat&uuml;rlich nicht aus. Die Client-Seite muss ja schlie&szlig;lich irgendwie anklopfen k&ouml;nnen. [http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki HIER] bekommt man die n&ouml;tigen Tools um erfolgreich Klopfzeichen senden zu k&ouml;nnen. Wer wie der Autor 'Gentoo-Linux' auf der Clientseite verwendet, kann einfach
emerge knock emerge knock
-verwenden, um das benötigte Paket zu installieren. Um anschliessend eine Verbindung aufbauen zu können braucht man einfach nur folgende Befehle ausführen+verwenden, um das ben&ouml;tigte Paket zu installieren. Um anschliessend eine Verbindung aufbauen zu k&ouml;nnen braucht man einfach nur folgende Befehle ausf&uuml;hren
knock <router-wan-ip> -u 44444 knock <router-wan-ip> -u 44444
knock <router-wan-ip> 33333 knock <router-wan-ip> 33333
knock <router-wan-ip> -u 44444 knock <router-wan-ip> -u 44444
-um die Sequenz von Beispiel 2 zu generieren. Der Parameter '-u' generiert dabei UDP-Pakete, wenn dieser weggelassen wird, werden TCP-Pakete generiert. Ein erfolgreiches Anklopfen stellt sich im Router-Log folgenderma?en dar:+um die Sequenz von Beispiel 2 zu generieren. Der Parameter '-u' generiert dabei UDP-Pakete, wenn dieser weggelassen wird, werden TCP-Pakete generiert. Ein erfolgreiches Anklopfen stellt sich im Router-Log folgenderma&szlig;en dar:
knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 1 knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 1
knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 2 knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 2
Line 517: Line 517:
knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: OPEN SESAME knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: OPEN SESAME
<br> <br>
-Zumindest für die Windows-Version des knock-clients funktioniert auch die folgende Semantik:+Zumindest f&uuml;r die Windows-Version des knock-clients funktioniert auch die folgende Semantik:
knock <router-wan-ip> 44444:udp 33333:tcp 44444:udp knock <router-wan-ip> 44444:udp 33333:tcp 44444:udp
Line 529: Line 529:
=Hardware= =Hardware=
-[http://www.linksysinfo.org/modules.php?name=Content&pa=showpage&pid=6 Autopsy: Linksys WRT54G/GS Hardware Versions Under the Knife] (auf englisch) gibt ein detaillierten ?berblick über die Hardware und das Innenleben der einzelnen Versionen der WRT54G und GS Router einschlie?lich Bilder.+[http://www.linksysinfo.org/modules.php?name=Content&pa=showpage&pid=6 Autopsy: Linksys WRT54G/GS Hardware Versions Under the Knife] (auf englisch) gibt ein detaillierten &Uuml;berblick &uuml;ber die Hardware und das Innenleben der einzelnen Versionen der WRT54G und GS Router einschlie&szlig;lich Bilder.
==Modifikationen== ==Modifikationen==
Line 544: Line 544:
* [http://support.warwick.net/~ryan/wrt54g-v4/v4_sd_done.html SD-Card Reader WRT54G v4 und WRT54GL] (auf Englisch)<br> * [http://support.warwick.net/~ryan/wrt54g-v4/v4_sd_done.html SD-Card Reader WRT54G v4 und WRT54GL] (auf Englisch)<br>
* [http://kiel.kool.dk/ kiel.kool.dk] (auf Englisch)<br> * [http://kiel.kool.dk/ kiel.kool.dk] (auf Englisch)<br>
-* [[Tutorial: Hinzufügen eines SD-Kartenlesers an den Linksys WRT54G]] (deutsch)+* [[Tutorial: Hinzuf&uuml;gen eines SD-Kartenlesers an den Linksys WRT54G]] (deutsch)
* [http://www.lemmtech.de/dd-wrt.htm Tutorial: SD-Card Reader im WRT45GS v4/GL] (deutsch) * [http://www.lemmtech.de/dd-wrt.htm Tutorial: SD-Card Reader im WRT45GS v4/GL] (deutsch)
</blockquote> </blockquote>
-In der V23 SP1 von DD-WRT ist kein zusätzliches manuelles Aktivieren des MMC-Treibers notwendig.+In der V23 SP1 von DD-WRT ist kein zus&auml;tzliches manuelles Aktivieren des MMC-Treibers notwendig.
Einfach unter Administration - Management - MMC/SD Card Support - Enable MMC Device Einfach unter Administration - Management - MMC/SD Card Support - Enable MMC Device
===[[JTAG-Adapter]]=== ===[[JTAG-Adapter]]===
-Anleitung für einen JTAG-Adapter zum Wiederbeleben eines kaputt geflashten WRT.+Anleitung f&uuml;r einen JTAG-Adapter zum Wiederbeleben eines kaputt geflashten WRT.
==Version herausfinden== ==Version herausfinden==
-Die ersten vier Stellen der Seriennummer (zu finden auf der Unterseite des Routers) repräsentieren die Hardware-Version:<br>+Die ersten vier Stellen der Seriennummer (zu finden auf der Unterseite des Routers) repr&auml;sentieren die Hardware-Version:<br>
<pre> <pre>
CDF0 = WRT54G v1.0 CDF0 = WRT54G v1.0
Line 584: Line 584:
</pre> </pre>
-==Informationen über Hardware==+==Informationen &uuml;ber Hardware==
-Infos über die Hardware erhaltet ihr auf folgenden Seiten:<br>+Infos &uuml;ber die Hardware erhaltet ihr auf folgenden Seiten:<br>
<blockquote> <blockquote>
-* http://Router-IP/SysInfo.htm (die Versionsangabe hier ist nicht immer zuverlässig - sicherer ist die Seriennummer)<br>+* http://Router-IP/SysInfo.htm (die Versionsangabe hier ist nicht immer zuverl&auml;ssig - sicherer ist die Seriennummer)<br>
* http://Router-IP/Cysaja.asp<br> * http://Router-IP/Cysaja.asp<br>
* http://Router-IP/Info.htm (Um diese Seite als Startseite unter http://Router-IP/ zu sehen, kann man sie im GUI unter "Administration ->Management ->Remote Router Access -> "Enable Status Site" aktivieren.)</blockquote> * http://Router-IP/Info.htm (Um diese Seite als Startseite unter http://Router-IP/ zu sehen, kann man sie im GUI unter "Administration ->Management ->Remote Router Access -> "Enable Status Site" aktivieren.)</blockquote>
==NVRAM== ==NVRAM==
-[http://de.wikipedia.org/wiki/NVRAM NVRAM] steht für ''non volatile random access memory'' (nichtflüchtiger Speicher) und ist sozusagen der [http://de.wikipedia.org/wiki/Arbeitsspeicher Arbeitsspeicher] des WRT. Hier werden sämtliche Parameter und gesetzte Optionen gespeichert. Die Shell stellt dazu den Befehl ''nvram'' bereit. Mit <pre>nvram show</pre> kann man sich den gesamten Inhalt auflisten. Mittels ''grep'' kann man die Ausgabe auf die Variablen einzelner Bereiche eingrenzen und übersichtlicher darstellen, z.B. <pre>nvram show | grep jffs2</pre>. Mit ''nvram get'' und ''nvram set'' kann man Parameter auslesen bzw. ändern. ''nvram commit'' führt die Anderungen dann aus.+[http://de.wikipedia.org/wiki/NVRAM NVRAM] steht f&uuml;r ''non volatile random access memory'' (nichtfl&uuml;chtiger Speicher) und ist sozusagen der [http://de.wikipedia.org/wiki/Arbeitsspeicher Arbeitsspeicher] des WRT. Hier werden s&auml;mtliche Parameter und gesetzte Optionen gespeichert. Die Shell stellt dazu den Befehl ''nvram'' bereit. Mit <pre>nvram show</pre> kann man sich den gesamten Inhalt auflisten. Mittels ''grep'' kann man die Ausgabe auf die Variablen einzelner Bereiche eingrenzen und &uuml;bersichtlicher darstellen, z.B. <pre>nvram show | grep jffs2</pre>. Mit ''nvram get'' und ''nvram set'' kann man Parameter auslesen bzw. &auml;ndern. ''nvram commit'' f&uuml;hrt die Anderungen dann aus.
<pre>C:\WRTJTAG>wrt54g -erase:nvram</pre> <pre>C:\WRTJTAG>wrt54g -erase:nvram</pre>
-Mit ''erase'' kann man NVRAM Löschen+Mit ''erase'' kann man NVRAM L&ouml;schen
==Overclocking der CPU== ==Overclocking der CPU==
-Mit folgendem Befehl wird die CPU übertaktet (hier auf 240 MHz):+Mit folgendem Befehl wird die CPU &uuml;bertaktet (hier auf 240 MHz):
<pre> <pre>
nvram set clkfreq=240 nvram set clkfreq=240
Line 610: Line 610:
<pre>cat /proc/cpuinfo</pre> <pre>cat /proc/cpuinfo</pre>
-?bertakten ist insbesondere eine Lösung, wenn es bei Netzwerklast zwischen WLAN<=>LAN plötzlich zu Reboots, WLAN-Disconnects usw. kommt. Betroffen sind besonders die Modelle WRT54G v2.2, v3 und GS v.1, v2.0 bei denen meistens nach ein paar Sekunden, einer halben Stunde oder auch mehreren Stunden bei durchgängiger Last (~30&nbsp;kB/s) diese Probleme auftreten.+&Uuml;bertakten ist insbesondere eine L&ouml;sung, wenn es bei Netzwerklast zwischen WLAN<=>LAN pl&ouml;tzlich zu Reboots, WLAN-Disconnects usw. kommt. Betroffen sind besonders die Modelle WRT54G v2.2, v3 und GS v.1, v2.0 bei denen meistens nach ein paar Sekunden, einer halben Stunde oder auch mehreren Stunden bei durchg&auml;ngiger Last (~30&nbsp;kB/s) diese Probleme auftreten.
=JFFS2= =JFFS2=
Line 624: Line 624:
Um einen FTP-Server auf dem Router laufen zu lassen sind die folgenden Schritte notwendig: Um einen FTP-Server auf dem Router laufen zu lassen sind die folgenden Schritte notwendig:
-Zunächst sollte sichergestellt sein, dass genügend Speicherplatz im JFFS-Verzeichnis vorhanden ist, um die notwendigen Pakete zu installieren. Sollte dies nicht der Fall sein (vor allem wenn man auch noch Daten per FTP irgendwo speichern möchte) empfiehlt sich das Einbinden einer SMB-Windows-Freigabe oder gar der Einbau einer SD-Karte. Um diese Erklärung einfach zu halten verwende ich bei allen Pfadangaben hier nur den zur SD-Karte. Zudem zeige ich die Installation der Zusatzpakete auch auf der SD-Karte.+Zun&auml;chst sollte sichergestellt sein, dass gen&uuml;gend Speicherplatz im JFFS-Verzeichnis vorhanden ist, um die notwendigen Pakete zu installieren. Sollte dies nicht der Fall sein (vor allem wenn man auch noch Daten per FTP irgendwo speichern m&ouml;chte) empfiehlt sich das Einbinden einer SMB-Windows-Freigabe oder gar der Einbau einer SD-Karte. Um diese Erkl&auml;rung einfach zu halten verwende ich bei allen Pfadangaben hier nur den zur SD-Karte. Zudem zeige ich die Installation der Zusatzpakete auch auf der SD-Karte.
'''Vorbereitungen:''' '''Vorbereitungen:'''
-Da die Pakete nicht im Standard-JFFS installiert werden benötigen wir die entsprechenden Verzeichnisse (wer im JFFS genügend Platz hat, braucht diesen Schritt natürlich nicht!):+Da die Pakete nicht im Standard-JFFS installiert werden ben&ouml;tigen wir die entsprechenden Verzeichnisse (wer im JFFS gen&uuml;gend Platz hat, braucht diesen Schritt nat&uuml;rlich nicht!):
mkdir /mmc/jffs mkdir /mmc/jffs
Line 645: Line 645:
'''Schritt 2:''' '''Schritt 2:'''
-Installation der zusätzlichen Library+Installation der zus&auml;tzlichen Library
-Da der FTP-Server leider nicht mit den Standard-Libs in DD-WRT startet benötigen wir ein zusätzliches Paket (uclibc):+Da der FTP-Server leider nicht mit den Standard-Libs in DD-WRT startet ben&ouml;tigen wir ein zus&auml;tzliches Paket (uclibc):
ipkg -d /mmc/jffs install http://URL_2_uclibc ipkg -d /mmc/jffs install http://URL_2_uclibc
Line 655: Line 655:
'''Schritt 3:''' '''Schritt 3:'''
-Start-Skript für den FTP-Server+Start-Skript f&uuml;r den FTP-Server
-Zum Start des FTP-Server gehört nun ein Start-Skript, welches kurzzeitig die Lib aktiviert und den Server damit startet.+Zum Start des FTP-Server geh&ouml;rt nun ein Start-Skript, welches kurzzeitig die Lib aktiviert und den Server damit startet.
export LD_PRELOAD='/mmc/jffs/lib/libuClibc-0.9.27.so' export LD_PRELOAD='/mmc/jffs/lib/libuClibc-0.9.27.so'
Line 679: Line 679:
'''Schritt 5:''' '''Schritt 5:'''
-Soll der FTP-Server nun auch noch im WAN (Internet) sichtbar sein, so muss der Port 21 für passive FTP-Verbindungen noch in der Firewall geöffnet werden:+Soll der FTP-Server nun auch noch im WAN (Internet) sichtbar sein, so muss der Port 21 f&uuml;r passive FTP-Verbindungen noch in der Firewall ge&ouml;ffnet werden:
Im Bereich Administration - Diagnostics Im Bereich Administration - Diagnostics
Line 686: Line 686:
=[[RFlow Collector]]= =[[RFlow Collector]]=
-Mit diesem Programm kann man die Aktivität des Routers überwachen. Es gibt Auskunft über verbundene Clients und zeigt auch die Empfangsstärke an.+Mit diesem Programm kann man die Aktivit&auml;t des Routers &uuml;berwachen. Es gibt Auskunft &uuml;ber verbundene Clients und zeigt auch die Empfangsst&auml;rke an.
=Trouble Shooting= =Trouble Shooting=
Line 692: Line 692:
Der WRT54-g(s) macht kaum Probleme Der WRT54-g(s) macht kaum Probleme
-=Ich möchte mitmachen=+=Ich m&ouml;chte mitmachen=
-Ganz einfach: Den "edit"-Button drücken, editieren, speichern und uns erfreuen. ;)+Ganz einfach: Den "edit"-Button dr&uuml;cken, editieren, speichern und uns erfreuen. ;)
=[[Alphabetischer Index]]= =[[Alphabetischer Index]]=

Revision as of 16:15, 15 June 2006

Contents



Projektbeschreibung

Dieses Projekt beschäftigt sich mit der Dokumentation von DD-WRT, einer freien Firmwaremodifikation, die haupsächlich für den WRT54G(GS) von Linksys gedacht ist. Wie jedes Media-Wiki lebt auch dieses vom Mitmachen. Jeder darf, und soll Artikel verfassen, editieren und diskutieren.
Viel Spaß!

Was ist DD-WRT?

Das Interface der aktuellen DD-WRT v23/v24 Versionen
Das Interface der aktuellen DD-WRT v23/v24 Versionen

DD-WRT ist eine freie Firmware für die Router Linksys WRT54G und Linksys WRT54GS. In der Version V23SP1 vom 16.05.2006 werden auch das Gerät Asus WL-500 Deluxe und verschiedene Router von Allnet, Buffalo, Belkin, Mororola, Siemens (Gigaset SE505), Ravo und Askey unterstützt. Siehe dazu auch die offizielle Hardware-Support-Liste.

DD-WRT basiert auf einem minimalen Linux und Code, der von Linksys unter der Software Lizenz GPL veröffentlicht wurde.

Zunächst erweiterte die Firma Sveasoft die veröffentlichen Quelltexte um neue Funktionen. Als Sveasoft jedoch 20 Dollar für den Zugriff auf die Supportforen ihrer Firmware und den Downloadbereich verlangte, gründeten die Dresdner Sebastian Gottschall ("BrainSlayer", BS) und Matthias Engel ("mateng") auf Basis dieser Software das DD-WRT-Projekt. Seither erschienen weiterentwickelte Versionen der Firmware auf der Homepage von DD-WRT. Mit der Version 23 schließlich orientierte sich Brainslayer stärker an openwrt, einer modular angelegten Firmware, die bis vor kurzem kein Webinterface hatte und bei Geschwindigkeit, Stabilität und Funktionalität Vorteile gegenüber Sveasoft als Firmwarebasis versprach. Zwischen den beiden Projekten werden nach Brainslayers Angaben Ideen ausgetauscht, so dass beide von einander profitieren.

DD-WRT bietet einen deutlich größeren Funktionsumfang als die Original Firmware von Linksys. Es sind auch einige versteckte Optionen freigeschaltet. Desweiteren kommen noch einige Zusatzfunktionen hinzu, wie etwa das Einbinden von Samba-Freigaben, WDS, RADIUS-Authentifizierung.

Unterstützte Geräte

  • Linksys WRT54G v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.0
  • Linksys WRT54GL v1.0, v1.1 (ab dem 2005-11-24-Release von v23beta2)
  • Linksys WRT54GS v1.0, v1.1, v2.0, v2.1, v3.0, v4.0
    • NICHT v5.0
  • Asus WL-500G Deluxe (ab dem 2005-11-01 Release von v23beta2)
  • Siemens SE505 (Link zum Forum)
  • Motorola WR850G (ab dem 2005-11-07 Release von v23beta2)
  • Buffalo WBR2G54S
  • Buffalo WHR-G54S
  • Buffalo WHR-HP-G54

Komplette Featureliste

  • Hotspot-Portal (Sputnik Agent, Chillispot)
  • PPTP-VPN-Server
  • 2-Wege-Bandbreiten-Management (inkl. P2P, VoIP, IM)
  • SSH-Client und -Server (Dropbear)
  • Telnet
  • Startup-, Firewall-, und Shutdown-Skripte
  • WDS-Repeater-Modus
  • Client-Modus (unterstützt mehrere angebundene Geräte)
  • Ad-Hoc-Modus
  • OSPF-Routing
  • RIP2-Routing
  • Power-Boost-Funktion (bis 251 mW Sendeleistung)
  • Antennenauswahl
  • Statische DHCP-Adresszuweisung
  • Zusätzliche DDNS-Unterstützung
  • Wireless MAC-Adressen duplizieren
  • VLAN-Unterstützung (WAN-Port als normalen LAN-Port)
  • WPA über WDS
  • WPA/TKIP mit AES
  • WPA2-Unterstützung
  • Client-Modus WPA
  • Client-Isolation-Modus
  • P2P Blocking & Bandbreiten-Management (Gnutella, Kazaa, etc.)
  • Port Triggering
  • Port Forwarding (30 Einträge möglich)
  • Wake-on-Lan
  • Remote Syslog
  • Remote Ntop-Statistik
  • XBOX-Kaid-Unterstützung
  • SNMP
  • IPv6-Unterstützung
  • Sicheres Backup und Restore
  • Reset bei Firmware-Upgrade
  • Status-Anzeige für Wireless Clients und WDS mit Systembetriebszeit, Prozessorlast u. a.
  • Site Survey
  • Remote NTP-Server
  • Webserver
  • FTP-Server
  • 12 verschiedene Sprachen
  • Unterstützt auch die neuen WRT54G V3, V3.1, V4 und WRT54GS V2.1, V3, V4 Modelle
  • und vieles mehr ...

Die verschiedenen Pakete

Aktuelle Version 23 SP1 vom 16.05.2006 (Changelog) wurden die Pakete folgendermaßen aufgeteilt:

  • mini - beinhaltet nicht: Chillispot, nocat, rflow, kaid, Samba-Client, SNMP, VOIP
  • std - beinhaltet nicht: VOIP
  • voip - beinhaltet nicht: OpenVPN
  • vpn - beinhaltet nicht: VOIP, radvd


micro - für Geräte die wenig Speicher und flash Platz haben. Es wird jetzt auch WRT54G/GS v5 unterstüzt. Es wird aber ein jtag adapter benötigt, um die firmware das erste mal auf das Gerät zu bekommen.

mini - Es beinhaltet fast alles was man braucht, lässt aber noch genug flash Platz für Anpassungen mit jffs.

standard - Es beinhaltet fast alles was man für die professionelle Nutzung braucht inklusive snmp, hotspot features wie chillispot und sputnik (tm).

voip - beinhaltet zusätzlich SIP Gateway Routing system für managing SIP capable Geräte in einem privaten Netzwerk

vpn - beinhaltet einen voll featured openvpn client für Netzwerke mit hohen Sicherheitsanforderungen.

Was brauche ich?

Betrieb als Access-Point

Als erstes sollte ich einen Computer haben. Als nächstes sollte schon ein Internetanschluss vorhanden sein. Dieser sollte am Besten als DSL-Flatrate vorhanden sein. Wenn diese Voraussetzungen gegeben sind, sollte ich mir einen Linksys WRT54G/GS/L der richtigen Hardwareversion (s. u.) anschaffen. Diesen bekomme ich im gut sortierten IT-Fachhandel.

Betrieb als Client

Bei Nutzung des WRT54G im Client-Modus brauche ich neben einer Alternativ-Firmware wie DD-WRT oder Alchemy, die den Client-Modus unterstützt, einen Internetprovider, der in meiner Nähe (möglichst mit Sichtkontakt!) einen Access Point (AP) betreibt und dessen Zugangsdaten (Login bzw. Freischaltung meiner MAC-Adressen am AP). Außerdem empfiehlt es sich die 2-dB-Stabantennen gegen leistungsstärkere Antennen, z. B. BiQuad-Antennen, zu tauschen und diese Antennen außerhalb des Hauses anzubringen.
Leistungsstärker heißt: Antennen mit einem höheren dB/dBi-Wert, also statt mit nur 2 dB, besser mit 12 dB. Das wird durch eine stärkere Richtwirkung der Abstrahlung erreicht: also statt kugel- oder diskusförmiger Abstrahlung (Beispiel: Glühbirne) bei der Stabantenne, eine mehr keulenförmige Abstrahlung (Beispiel: Taschenlampe). Die Antenne muß zum WRT54G einen RP-TNC-Stecker haben (Gewinde innen mit Kelch). Diese werden bei Ebay bereits ab 2,99 Euro das Stück angeboten.

Drahtlos angebundene Computer sind am WRT54G im Client-Modus leider nicht zu betreiben - man braucht dann einen zweiten Access Point bzw. muß die PCs per LAN-Kabel an den vier LAN-Ports anbinden!

Richtig Flashen

Grundlagen

Wer es noch nicht weiß: Die Linksys-Router können eine andere Firmware aufgespielt bekommen, die weitere ungeahnte und zum Teil vielleicht auch unnötige Einstellungsmöglichkeiten bieten. Jedoch erweist sich dieses Aufspielen einer anderen Firmware öfter als fehlerhaft. Den derzeitigen Fehlerberichten zufolge funktioniert dann der Router vorerst nicht mehr, jedoch gibt es in so einem Fall auch Lösungen, 2, 3.

Doch um diesem "falschen" Flashen vorzubeugen, diene diese Anleitung. (da dieses Wiki aber noch im Aufbau ist, so sei beachtet, dass diese Art und Weise "richtig" zu flashen nur EINE Möglichkeit von vielen ist. Wer sich also strikt an diese Anleitung hält und trotzdem Probleme bekommt, kann diesen Beitrag selbst ändern, dem Editor dieses Beitrages eine Rüge geben oder sonstwas gemäß der Vernunft tun)
Übrigens sind die Links zum Teil wie "http://routerip/Management.asp" notiert, für "routerip" sollte hier die eigene Router-IP eingegeben werden. In der Regel 192.168.1.1; bzw. nach Schritt 4 sowieso.

ACHTUNG bei TFTP-Uploads: WRT54 "GS" - Modelle können NUR am Port 1 per TFTP geflasht werden. Bei einigen Hardware-Revisionen ist der Port 1 am Switch der 4. Slot.

Vorgehensweise

1. Sich zum einen die gewünschte DD-WRT-Firmware herunterladen und entpacken, so dass die *.bin-Datei im Ordner des PCs liegt. Diese gibts zur Zeit hier: DD-WRT

1b. DD-WRT Version 22pre5 gibt es in drei Versionen: generic, basic und full. "Generic" ist, wie der Name schon sagt, eine generische Version auch für andere Router, die mit ähnlichen Chipsätzen ausgestattet sind und auf denen DD-WRT auch läuft (z. B. Asus WL500g Deluxe). "Basic" ist die normale Standardversion und "full" eine erweiterte Version die zusätzlich Dropbear, Chillispot, Samba und kaid enthält. Wer die nicht braucht, ist mit der Basic-Version gut bedient. Zusätzlich sind noch jeweils für den WRT54g oder WRT54gs angepasste Basic- und Full-Versionen erhältlich. Infos. Desweiteren sei angemerkt, dass Prefinal-Versionen teilweise noch kleinere Bugs (Funktionsfehler) aufweisen können, daher werden sie immer vorerst zu Testzwecken herausgegeben. Gleichzeitig enthalten sie aber auch die meisten Verbesserungen und viele alte behobene Fehler. Unversierte Benutzer sollten also nach persönlichen Bedürfnissen abwägen, welche Version für sie in Frage kommt.

2. Als nächstes sicher gehen, dass kein anderer PC per WLAN oder auch LAN auf den Router zugreift, außer der, welcher die Firmware aufspielen soll. Dieser "Flash-PC" sollte per LAN - also verkabelt - an den Router angeschlossen sein! Es soll zwar Benutzer geben, die per WLAN flashen und es klappt, aber von dieser Methode wird dringlichst abgeraten! Also alle Kabel - auch am WAN-Port! - außer dem des Stromanschlusses abziehen und nach Möglichkeit alle WLAN-User informieren, sie sollen mal ihr WLAN abschalten und auch keine Verbindunsversuche starten (die Verbindung wird ja sowieso gleich gekappt (in Schritt 3)

3. Jetzt kann, wenn erwünscht, noch von den Einstellungen ein Backup gemacht werden und zwar unter Administration/Backup und dort unter "HERE (gilt nur für DD-WRT-Versionen)" die Datei auf dem Rechner gespeichert werden. Aber: Auch wenn es bei manchen funktioniert: Es wird davon abgeraten, dieses Einstellungen-Backup für die neue Firmware zu benutzen! Es sollte alles neu eingestellt werden! Das Backup dient also nur dazu bei der Wiederherstellung der noch in diesem Schritt genutzen Firmware, sich das zum Teil mühselige Einstellen zu ersparen.

3b. Wer schon eine andere "3rd Party Firmware" wie etwa DD-WRT installiert hat, sollte noch "boot-wait" einschalten. Bei DD-WRT-Firmware unter: administration/management

4. Nun muss ein "Factory-Reset" durchgeführt werden. Bei manchen geht es auch ohne, aber wir wollen ja "richtig" flashen. Der Reset ist ganz einfach: An der Rückseite des Routers den "Resetknopf" mit einem spitzen Werkzeug (ein Bleistift tuts auch, aber aufpassen, dass nichts von der Mine abbricht und im Gerät bleibt, besser einen Kugelschreiber nehmen) für etwa 10 Sekunden lang gedrückt halten und danach loslassen; dass etwas passiert, sieht man am Blinken der LEDs an der Vorderseite des Routers. Infolgedessen auf der Setup-Hauptseite prüfen, ob auch alle Einstellungen auf Default-Werten sind, also die eigenen Einstellungen verworfen wurden. Andernfalls den Reset-Vorgang nochmals durchführen. !!! Sollte nach Loslassen die DMZ-LED konstant 5 Sekunden an - 5 Sekunden aus blinken, so muss der Router einmal kurz vom Stromnetz genommen und wieder angesteckt werden. Fängt sich der Router immer noch nicht, dann nochmals die Reset-Taste, aber nur kurz, drücken. Wenn auch danach die DMZ-LED blinkt, nochmals einen "Factory Reset" probieren. Andernfalls stimmt da etwas nicht und das Forum hilft da bestimmt weiter. (Solche Fälle sind mir aber nicht bekannt)

5. Jetzt kann die Firmware geflasht werden auf der Administration/Firmware Upgrade-Seite. Die *.bin-Datei von 1. auswählen, auf den Upgrade-Button klicken und warten - richtig lange warten mitunter. Wer abbricht und den Stromstecker zieht, ist selbst schuld, denn dann kann es sein, dass das Gerät nicht ohne Mühe wieder zum Laufen gebracht werden kann. DD-WRT Versionen haben mitunter noch eine Option, vor dem Flashen auszuwählen, ob "Reset after flashing to:" ausgeführt werden soll. Hier empfiehlt es sich, auf "Firmware Defaults" zu stellen.

5b. Sollte wie unter 4. die DMZ-LED blinken, so auch wie in 4. beschrieben vorgehen. Das Upgrade sollte komplett sein, wenn entweder eine Bestätigung "upgrade complete" oder ähnliches erscheint, oder die Power- und die Lan-Port-LED leuchten und euch nichts komisch vorkommt. Ein kurzes Trennen vom Stromnetz kann mitunter schon kleinere Problemchen lösen ...

6. Jetzt können alle Einstellungen vorgenommen werden.

Wenn es nach dem Flashen Probleme gab. so hilft derzeit im Forum auf Englisch eventuell dieser Beitrag. Eine Anleitung hier im Wiki ist im Aufbau.

Besonderheiten beim Flashen von...

WRT54G v2.2

Es scheint beim Flashen via TFTP nötig zu sein, die vergebene ip-adresse zu misachten und tftp auf die 192.168.1.1 anzusetzen:

$ ifconfig eth1
eth1      Protokoll:Ethernet  Hardware Adresse 00:04:61:4C:45:05
          inet Adresse:192.168.1.20  Bcast:192.168.1.255  Maske:255.255.255.0
...

Bei Erfolg sieht der ganze Vorgang dann so aus:

$ tftp
tftp> mode binary
tftp> status
Not connected.
Mode: octet Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> put dd-wrt.v23_mini_wrt54g.bin
No target machine specified.
tftp> connect 192.168.1.1
tftp> put dd-wrt.v23_mini_wrt54g.bin
Sent 2417664 bytes in 4.3 seconds
tftp>

(ab dem put-befehl dürfte es um die 5sec dauern) Der Put-Befehl führte bei einigen Geräten auch schon vor dem Erlischen der vier LAN_LEDs zum Erfolg, der sich in kurzzeigen sehr schnellen Blinken der LED #1 zeigte.

WRT54G/S v4.0 WRT54GL

Nur die DD-WRT Versionen v23 und höher unterstützen diese Router Version. Desweiteren kann aufgrund einer Limitierung der Original Linksys Firmware (lässt nur ein Update mit einer Firmware bis zu 3MByte zu) für dieses Gerät zunächst nur eine v23 mini Version aufgespielt werden (siehe generelle Anleitung oben). Sobald diese jedoch erfolgreich eingespielt wurde besteht diese Begrenzung nicht mehr und man kann beliebig zu anderen Firmware Versionen wie v23 basic oder voip (nicht v2X oder v1X sonst ist der Linksys v4.0 kaputt) wechseln.


Buffalo WHR-G54S und WHR-HP-G54

Bitte für die Buffalo Router WHR-G54S und WHR-HP-G54 nur die DD-WRT v23 SP1 und höher verwenden. Frühere Versionen unterstützen diese beiden Geräte nicht.

Die Standard-IP-Adresse der Buffalo-Router lautet 192.168.11.1 mit Benutzernamen root ohne Passwort. Nach dem Flashen lautet die Standard-IP-Adresse 192.168.1.1 mit Benutzernamen root und Passwort admin. Dies gilt es am Ende des Flashens zu beachten. Die heruntergeladene Binärdatei der DD-WRT Firmware befindet sich im Pfad "LW:\Dokumente und Einstellungen\%Benutzername%\", wobei LW meist das Laufwerk C: ist und Benutzername stellvertretend für den aktuellen Benutzer ist.

Anmerkungen vor dem Flashen

  • Haben Sie einmal auf die DD-WRT Firmware gewechselt, können Sie die normale Firmware von Buffalo nicht mehr einspielen. Weitere Informationen findet man unter http://forum.bsr-clan.de/viewtopic.php?t=8184&highlight=whrg54s+back+firmware.
  • Die von der Buffalo-Firmware verwendete LED in Form eine Brücke, wenn der WHR-G54S oder der WHR-HP-G54 als Bridge arbeitet - der Schiebeschalter auf der Unterseite - steht mit der DD-WRT Firmware nicht mehr zur Verfügung und ist nur während des Bootprozesses kurz in Betrieb.
  • Es ist nicht nötig, die zweistufige Flashprozedur ähnlich des WRT54G durchzuführen. Die Buffalo Router akzeptieren das komplette Image in einem Rutsch.
  • Innerhalb der DD-WRT Firmware kann die Weboberfläche zum Upgraden/Downgraden zwischen den DD-WRT Versionen verwendet werden. Vorsicht: unterhalb der DD-WRT Version v23 SP1 ist der Support für die Buffalo Router noch nicht enthalten.

Flashen auf die DD-WRT Firmware

  1. Um unnötigen Problemen aus dem Weg zu gehen, sollte man vor dem Flashen den Router in die Werkseinstellungen zurücksetzen. Auf der Unterseite befindet sich der INIT-Knopf. Dieser muss bei angeschaltetem Router gedrückt gehalten werden, bis auf der Frontblende die rote LED erscheint. In Ausnahmefällen muss er bis zu 30 Sekunden gedrückt gehalten werden, bis der komplette Reset-to-Default durchgelaufen ist.
  2. Den Stromstecker am Router abziehen.
  3. Da der Router beim Starten auf der IP-Adresse 192.168.11.1 steht, muss derjenige PC, von dem aus geflasht werden soll, eine statische IP-Adresse aus dem 192.168.11.0/24 Netzwerk haben. Dies kann die IP-Adresse 192.168.11.2 mit Subnetzmaske 255.255.255.0 sein. Für Windows XP sollte dieser Screenshot (in englischer Sprache) weiterhelfen. Zuerst über Start -> Einstellungen -> Systemsteuerung die Netzwerkverbindungen öffnen. Dort mit der rechten Maustaste die LAN-Verbindung auswählen und im Kontextmenü "Eigenschaften" anklicken. "Internetprotokoll (TCP/IP)" doppelklicken. Die Einstellungen wie im Screenshot gezeigt vornehmen. Keine Einträge bei Standardgateway und DNS-Serveradressen vornehmen, diese sind hier nicht notwendig. OK übernimmt die Einstellungen. Image:LAN_Properties.jpg
  4. Nun wird das Senden der Firmware vorbereiten. Über Start -> Ausführen... in die Zeile "Öffnen:" cmd eintragen und ENTER drücken. Die Kommandozeile öffnet sich. Das TFTP-Kommando ist hier einzugeben; jetzt noch NICHT die ENTER-Taste drücken, das kommt später erst: tftp -i 192.168.11.1 PUT (Dateiname; also generic.bin, mini.bin usw.) Hier noch nicht ENTER drücken.
  5. Den Stromstecker wieder in den Router einstecken. Die LEDs der Switchports fangen an, zu leuchten.
  6. Im Kommandozeilenfenster in dem Augenblick, wenn die Switch-Port LEDs nicht mehr leuchten, jetzt ENTER drücken. War der Flashvorgang erfolgreich, kommt eine Meldung über die übertragene Datenmenge. War das Flashen nicht erfolgreich, kommt ein Timeout. Wiederholen Sie bitte die letzten beide Schritte (Strom raus, Strom rein, TFTP mit ENTER starten).
  7. Nach dem erfolgreichen Flashen muss man nun 1-2 Minuten warten, da er jetzt der eigentliche Flashvorgang im Inneren des Routers beginnt.
  8. Der Router bootet nach erfolgreichem Flashen durch und steht dann unter der IP-Adresse 192.168.1.1 zur Verfügung. Sollte dies nicht der Fall sein, ziehen Sie bitte den Stromstecker ab und stecken Sie in erneut ein (der so genannte Powercycle im Englischen).
  9. Setzen Sie die manuell vergebene, statische IP-Adresse zurück auf "IP-Adresse automatisch beziehen" UND setzen Sie die Auswahl bei "DNS-Server automatisch beziehen", um eine DHCP-IP-Adresse vom Router zu erhalten. Oder wechseln Sie in das 192.168.1.0/24 Netzwerk.
  10. Die Weboberfläche des Routers öffnet sich über http://192.168.1.1 mit Benutzernamen root und Passwort admin.

TFTP Anweisungen für Linux

tftp
tftp> binary
tftp> connect 192.168.11.1
tftp> status
Connected to 192.168.11.1.
Mode: octet Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> put /path/to/dd-wrt.v23_mini_generic.bin

Ein alternatives tftp Kommando für Linux (bitte entweder das Eine oder das Andere, aber nicht beide):

tftp 192.168.11.1 -m binary -c put dd-wrt.v23_generic.bin
  1. Bis zur letzten Zeile eintippen (ohne Enter zu drücken!),
  2. den Router einschalten und warten, bis die Switch-Port LEDs ausgehen und
  3. jetzt <ENTER> drücken.
  • Die 'status' Ausgabe ist etwas missverständlich formuliert. Der Router muss einmal vom Strom genommen und wieder angesteckt werden nach dem Flashen.

Problembehebung

  • Sollten Probleme auftreten, könnte das NVRAM gelöscht werden müssen. Öffnen Sie dazu eine Telnet-Session auf den Router und führen Sie eine (oder beide?) dieser Optionen durch:
  • Option 1 :
mtd erase nvram
cd /tmp
wget http://openwrt.inf.fh-brs.de/~nbd/nvram-clean.sh
chmod a+x /tmp/nvram-clean.sh
/tmp/nvram-clean.sh
nvram commit
  • Suchen Sie im Forum nach Postings, die den Suchbegriff "WHR-G54S" und Ihr Problem enthalten; Englischkenntnisse sind Pflicht.
    • Wenn Ihr Router zerschossen ist, suchen Sie im Forum forums nach "WHR-G54S bricked". Es gibt ausreichend Hilfe in diesen Threads, Sie müssen es nicht auf eigenen Wegen versuchen.

Buffalo WHR-HP-G54 - ändern der Boardflags

  • Telnet auf den Router
  • folgendes Kommando eingeben
nvram show | grep boardflags 
boardflags=0x1758

~ #
  • erscheint 0x1758, ändern in 0x2758
  • dazu dieses Kommando benutzen:
nvram set boardflags=0x2758 
nvram commit 
reboot 
  • Diese Einstellung aktiviert ein Feature auf der Empfangsseite des High Power Routers. Die Empfangsempfindichkeit steigt extrem an.
  • Dieses Feature wird nicht zusammen mit dem GUI Backup gespeichert. Es muss nach jedem Reset-to-Default neu eingestellt werden.

Wiederbeleben

Verschiedene Methoden zum Wiederbeleben eines kaputt geflashten WRT findet ihr hier:
Wiki Sektion Wiederbeleben

Das Web-Interface

Das aktuelle Standard-Interface von DD-WRT v23/v24
Das aktuelle Standard-Interface von DD-WRT v23/v24

DD-WRT hebt sich gegenüber anderen Projekten wie zum Beispiel OpenWRT dadurch heraus, dass es eine GUI besitzt, die eine einfache Konfiguration der manigfaltigen Optionen erlaubt. So lassen sich alle Standardfunktionen von DD-WRT leicht über das Webinterface erreichen, ohne auf die Konsole zurückgreifen zu müssen (was natürlich weiterhin möglich ist). Auch wenn sich noch immer nicht alles über das web interface machen lässt, ist die komplett redesignte Variante für die DD-WRT Versionen v23/v24 ein weiterer Schritt in diese Richtung. Es unterstützt sowohl mehrere Sprachen als auch verschiedene Designs.


Man kann sich durch die verschiedenen Interfaces der verschiedenen Versionen unter folgenden Links durchklicken:

Alchemy 5a: (fast identisch mit dem Interface der DD-WRT-v22-Version):
http://www.0711-stuttgart.de/192.168.1.23
(Auch wenn es nicht mehr taufrisch ist, kann man durchaus Parallelen zwischen den Benutzeroberflächen ziehen.)

DD-WRT V22finalR2: (Sorry wegen des Popups, der Webspace ist dafür kostenlos)
http://www.informatione.gmxhome.de/DDWRT/Standard/V22R2/index.html
(dort dann unten rechts "GUI Setup" auswählen)

Version DD-WRT V23final: (Sorry wegen des Popups, der Webspace ist dafür kostenlos)
http://www.informatione.gmxhome.de/DDWRT/Standard/V23final/index.html

Bei diesen Versionen kann man direkt auf die Links klicken. Die Passwortabfrage ist beim Original natürlich vorhanden.


Beschreibung der einzelnen Einstellungen

Hier findet man eine Beschreibung der einzelnen Einstellungen

Konfigurationsbeispiele

Hier eine Musterkonfiguration (leider noch auf Basis Alchemy pre5.3) für den Betrieb des WRT54G im Client-Modus an einem Access-Point.

Linux inside

Bekanntlich ist die DD-WRT-Firmware ein Mini-Linux, d. h. neben allem was man mit der Web-Oberfläche mittels Browser einstellen kann gibts auch noch eine Linux-Shell mit noch mehr Möglichkeiten und Befehlen. Zugriff darauf bekommt man (auch unter Windows) nachdem man unter administration -> management enabled, mittels telnet oder SSH, also z. B. in die Eingabeaufforderung

telnet 192.168.1.1 (richtige IP-Adresse des Routers einsetzen)

eingeben. Login/Passwort sind standardmäßig root/admin oder je nachdem was man sonst vorher eingestellt hat. Für SSH muss man unter Windows ein SSH-Programm verwenden, z. B. Putty, Terraterm usw. nach dem gleichen Muster.


Momentan läuft die Firmware mit Kernel 2.4.20. Das kann man sich in einer Telnet-Sitzung ausgeben lassen mit dem Befehl 'cat /proc/version'.

Linux version 2.4.20 (root@colinux) (gcc version 3.3.5) #766 Thu Jun 23 16:30:31 UTC 2005

Unter der Shell befindet sich auch noch eine komplette Verzeichnisstruktur mit einzelnen Ordner und Dateien.

Wichtige Linuxbefehle der Shell

Grundsätzlich gibt die Eingabe von 'help' die eingebauten, also von der Shell selbst bereitgestellten Befehle aus, zusätzlich kann man sich noch mittels zweimaligen Drückens der Tab-Taste eine Vielzahl weiterer Befehle ausgeben lassen.

Traffic control (traffic shaping) mit tc

Manchmal möchte man den Verkehr auf bestimmten Ports (z. B. FTP-Port 21 oder P2P-Ports) drosseln, damit diese zwar laufen, aber noch ausreichend Bandbreite für andere Zwecke übrig bleibt. Da der WRT54G unter Linux läuft, kann man auch Standard-Linux-Traffic-Shaping-Tools wie tc (traffic control) einsetzen. Leider ist die Bedienung mit den vielen Parametern sehr kryptisch. Das Samba-Share-Laufwerk der DD-WRT-Firmware kann dabei das Laden des Shell-Skripts vereinfachen. Im Berliner Quake-Forum gab es folgendes Beispiel, welches Port 1234 auf 8 kBit/s begrenzt und einen Eindruck der tc-Parameter gibt:

tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 10mbit
tc class add dev eth0 parent 1: classid 1:1 cbq rate 8kbit allot 1500 prio 5 bounded isolated
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip sport 1234 0xffff flowid 1:1
tc qdisc add dev eth0 parent 1:1 sfq perturb 10
Weiterführende Links:

selber compilieren

DD-WRT compilieren

Skript-Schnipsel

Eine kleine Sammlung von nützlichen Shell-Skripten

Antennen ausrichten

Client-Modus

Um die Antennen Richtung Access-Point genau auszurichten, kann man sich die Signalstärke seines AP kontinuierlich ausgeben lassen. RSSI sollte möglichst hoch sein (-63 dB ist besser als -86 dB), Noise möglichst gering (-91 dB ist besser als -81 dB), die Differenz zwischen beiden (Signal-Noise-Ratio (SNR)) sollte mindestens 10 dB betragen.

Man startet eine Telnet-Sitzung zum Router und fügt das folgende Skript mit Cut & Paste ein:

while [ 1 ]; 
do CH=`wl channel|grep target|cut -c16-`; 
MAC=`wl assoclist|cut -d' ' -f2`; 
RA=`wl rate|cut -d' ' -f3`;
RSSI=`wl rssi|cut -d' ' -f3`;
NOISE=`wl noise|cut -d' ' -f3`;
let SNR="$RSSI- $NOISE";
echo "MAC=$MAC Kanal $CH: Rate=$RA RSSI=$RSSI Noise=$NOISE SNR=$SNR"; 
sleep 1; 
done

Das Skript führt in einer Endlosschleife nacheinander die Befehle wl channel, wl assoclist, wl rate, wl rssi, wl noise aus, formatiert das Ergebnis mittel grep und cut zu der Ausgabezeile und wartet dann 1 s bis zur nächsten Wiederholung. Da die Formatierungsbefehle auf die Firmware abgestimmt sind, funktioniert das Skript nicht mit x-beliebigen Firmwares (hier getestet mit DD-WRT#22pre5). Das Ergebnis sieht dann beispielsweise so aus (knapp eine Zeile pro Sekunde):

MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-63 Noise=-91 SNR=28
MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-64 Noise=-91 SNR=27
MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-64 Noise=-90 SNR=26

Anstelle der MAC kann man sich auch die SSID ausgeben lassen, mit folgendem Skript:

while [ 1 ]; 
do CH=`wl channel|grep target|cut -c16-`; 
SID=`wl ssid|cut -c15-`; 
RA=`wl rate|cut -d' ' -f3`;
RSSI=`wl rssi|cut -d' ' -f3`;
NOISE=`wl noise|cut -d' ' -f3`;
let SNR="$RSSI- $NOISE";
echo "SSID=$SID Ch $CH: Rate=$RA RSSI=$RSSI Noise=$NOISE SNR=$SNR"; 
sleep 1; 
done
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-63 Noise=-90 SNR=27
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-64 Noise=-91 SNR=27
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-63 Noise=-90 SNR=27
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-62 Noise=-91 SNR=29
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-63 Noise=-91 SNR=28

AP-Modus

Um das Skript im AP-Modus zu nutzen, um die Antenne Richtung Client auszurichten, muß man beim "wl rssi"-Befehl die MAC-Adresse eines Clients angeben und den Befehl "wl assoclist" und die MAC-Ausgabe entfernen.

while [ 1 ];
do MAC=00:0B:6B:32:A7:83;
CH=`wl channel|grep target|cut -c16-`;
RA=`wl rate|cut -d' ' -f3`;
RSSI=`wl rssi $MAC|cut -d' ' -f3`;
NOISE=`wl noise|cut -d' ' -f3`;
let SNR="$RSSI- $NOISE";
echo "MAC=$MAC Kanal $CH: Rate=$RA RSSI=$RSSI Noise=$NOISE SNR=$SNR";
sleep 1;
done

Wenn die MAC-Adresse eines bekannten Clienten bei 00:0B:6B:32:A7:83 eingesetzt wird, ergibt sich folgendes:

MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-63 Noise=-91 SNR=28
MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-64 Noise=-91 SNR=27
MAC=00:0B:6B:32:A7:83 Kanal 10: Rate=11 RSSI=-64 Noise=-90 SNR=26

das 2. Beispiel umgeschrieben, auch wieder mit einer bekannten MAC-Adresse eines Clienten (hier: 00:0B:6B:32:A7:83)

while [ 1 ]; 
do MAC=00:0B:6B:32:A7:83;
CH=`wl channel|grep target|cut -c16-`; 
SID=`wl ssid|cut -c15-`; 
RA=`wl rate|cut -d' ' -f3`;
RSSI=`wl rssi $MAC|cut -d' ' -f3`;
NOISE=`wl noise|cut -d' ' -f3`;
let SNR="$RSSI- $NOISE";
echo "SSID=$SID Ch $CH: Rate=$RA RSSI=$RSSI Noise=$NOISE SNR=$SNR"; 
sleep 1; 
done
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-63 Noise=-90 SNR=27
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-64 Noise=-91 SNR=27
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-63 Noise=-90 SNR=27
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-62 Noise=-91 SNR=29
SSID="SiROTTER" Ch 10: Rate=11 RSSI=-63 Noise=-91 SNR=28

die beiden letzten Skripte funktionierten bei mir (2 x WRT54GSv4) im WDS-Betrieb.

Software installieren mit ipkg

IPKG ist eine Debian-ähnliche Paketarchitektur, die die Installation von Software sehr vereinfacht.

Port-Knocking

Dieser Abschnitt stellt ein kleines How-To zur Installation und Konfiguration des OpenWRT-Paketes knockd dar. Der Autor erhebt keinen Anspruch auf Vollständigkeit oder Perfektion, aber da es sich sowieso um ein Wiki handelt lasst eurer Kritik freien Lauf und ändert was ihr für nötig haltet ;-) by Age_M

Was ist Port-Knocking?

Port-Knocking hat, wie der Name bereits impliziert, etwas mit Klopfzeichen zu tun. Die meisten kennen sicherlich den berühmten Ausruf "Sesam, öffne dich!" aus 'Ali Baba und die 40 Räuber', mit dem sich Ali Baba den Zutritt zur Höhle der 40 Räuber verschafft hat. Ähnlich funktioniert auch das Port-Knocking, allerdings nicht durch Sprache, sondern durch eine vorher definierte Sequenz aus TCP- und UDP-Paketen. Ein Daemon, der 'knockd', überwacht den eingehenden Netzwerkverkehr einer Schnittstelle und überprüft diesen auf die in der Konfigurationsdatei festgelegten Sequenzen. Wird eine Sequenz erkannt, zum Beispiel ein TCP-Paket auf Port 6666, dann ein UDP-Paket auf Port 4444 und schließlich wieder ein TCP-Paket auf Port 6666, so wird der in der Konfigurationsdatei festgelegte Befehl ausgeführt. Die Befehle sind dabei vom Benutzer frei wählbar.

Wozu braucht man Port-Knocking?

Port-Knocking kann in vielerlei Hinsicht eingesetzt werden. Eine Anwendungsmöglichkeit ist zum Beispiel die Abwehr von Portscans. Da Portscanner häufig einen Port nach dem anderen durchprobieren, können diese erkannt und wirksam durch das dynamische Anpassen der Firewallkonfiguration oder durch eine Trennung der Internetverbindung vereitelt werden. Eine weitere Anwendungsmöglichkeit ist die Fernadministration. Der Systemadministrator ist mit Port-Knocking in der Lage einzelne Befehle oder Skripte auszuführen ohne das ein direkter Zugriff auf den Host benötigt wird. Am häufigsten jedoch wird Port-Knocking dazu verwendet, Dienste wie zum Beispiel SSH, HTTP oder FTP zu verstecken und so das Angriffsrisiko zu minimieren. Dafür wird ebenso wie bei der Abwehr von Portscans das dynamische Anpassen der Firewallkonfiguration verwendet.

Voraussetzungen

-WRT54G/GS oder DD-WRT-kompatibles Gerät (Autor verwendet: WRT54GS_v1.1)
-DD-WRT_Firmware (Autor verwendet: DD-WRT_v23_alpha_VoIP_2005-08-22)
-JFFS muss aktiviert sein und noch über mindestens 700 kB Speicher verfügen

Installation der benötigten Pakete

Zunächst muss eine Remote-Shell via SSH oder Telnet auf dem Router geöffnet und die Paketdatenbank von 'ipkg' aktualisiert werden. Dies geht mit dem Befehl:

~# ipkg update

Das benötigte Paket 'knockd' findet man über den OpenWRT-Package-Tracker. Alternativer Download über: http://voidmain.is-a-geek.net/files/ipkg/. Installiert wird es mit dem Befehl:

~# ipkg install http://openwrt.alphacore.net/knockd_0.4_mipsel.ipk

Nach der installation von 'knockd' fehlt nun noch das Paket 'libpcap' welches mit dem Befehl

~# ipkg install libpcap

installiert wird. Alle installierten Dateien liegen nun unterhalb von /jffs/ und die Konfigurationsdatei 'knockd.conf' befindet sich in /jffs/etc/. Als nächstes sollte die Funktion von 'knockd' mit dem Befehl

~# knockd --help

überprüft werden. Sollte es hierbei zu der Fehlermeldung "knockd: can't load library 'libpcap.so.0.8'" kommen, müssen lediglich die Pfade für die Librarys erneut exportiert werden. Dies geht mit dem Befehl:

~# export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib

Sollte einen neuere Version von libpcap.so installiert sein, so hilft ein symbolischer Link darauf:

ln -s libpcap.so.0.9 libpcap.so.0.8

Dies sollte natürlich im entsprechenden Verzeichnis /jffs/usr/lib ausgeführt werden. Nun sollte eine erneute Funktionsüberprüfung von knockd zum Erfolg führen.

Startskripte erstellen

Zunächst sei gesagt, das die ersten zwei Schritte nicht zwingend notwendig, jedoch der Übersichtlichkeit dienlich sind.

Erstellen eines Ordners für Skripte

In diesem Fall /jffs/scripts.

~# mkdir /jffs/scripts

Erstellen eines allgemeinen Startup-Skripts

Dieses kann wiederum weitere Skripte starten.

~# echo "#!/bin/sh" > /jffs/scripts/startup.sh
~# echo "# Insert startup-scripts here" >> /jffs/scripts/startup.sh

Erstellen eines Skriptes für den Start von knockd

Als nächstes wird das Skript für den Start von knockd erstellt.

~# echo "#!/bin/sh" > /jffs/scripts/start_knockd.sh
~# echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/jffs/usr/lib" >> /jffs/scripts/start_knockd.sh
~# echo "knockd -d -i ppp0 -c /jffs/etc/knockd.conf" >> /jffs/scripts/start_knockd.sh

Die Verwendung des Parameters '-i' ist von der zu verwendenden Schnittstelle abhängig. Bei einer DSL-Verbindung mit PPPoE lautet diese Schnittstelle 'ppp0'. Wird der Parameter weggeleassen, wird die Schnittstelle 'eth0' verwendet.
Da die Skripte bisher nur reguläre Dateien sind, müssen diese noch ausführbar gemacht werden.

~# chmod 755 /jffs/scripts/*

Automatischen Start einrichten

Damit 'knockd' automatisch beim Bootvorgang des Routers ausgeführt wird, muss die variable rc_startup des NVRAM noch überarbeitet werden. Wenn die Schritte 5.1 und 5.2 übersprungen wurden lautet der Befehl:

~# nvram set rc_startup="/jffs/scripts/start_knockd.sh"
~# nvram commit

Bei der Verwendung des allgemeinen Startskriptes müssen folgende Befehle verwendet werden:

~# nvram set rc_startup="/jffs/scripts/startup.sh"
~# nvram commit
~# echo "/jffs/scripts/start_knockd &" >> /jffs/scripts/startup.sh

knockd.conf anpassen

Das Anpassen der knockd.conf ist schnell erledigt. Hierfür verwendet man am besten den Editor 'vi', da dieser Bestandteil der DD-WRT-Firmware ist. Also:

~# vi /jffs/etc/knockd.conf

Unter [options] braucht man lediglich die vorhandenen Optionen löschen und folgendes eintragen:

[options]
 UseSyslog

Damit ist die allgemeine Konfiguration des Dienstes abgeschlossen, jedoch fehlen nun noch die Anwendungen.

Anwendungsbeispiele

Da es sich hier um ein Wiki handelt, hoffe ich, das jeder, der interessante Anwendungsbeispiele für das Port-Knocking findet, diese hier mit kurzer Beschreibung aufführt. Informationen zur Konfiguration der Anwendungsmöglichkeiten gibts HIER. Viel Spass beim "Klopfen" ;)

Beispiel 1: Hiermit könnt ihr den SSH-Port zum Router öffnen. Der Verbindungsaufbau zum Port 22 wird nur für die IP-Adresse des anklopfenden Host (dafür ist die Variable %IP% zuständig) akzeptiert und nach 30 Sekunden. wieder verweigert. Da SSH allerdings das verbindungsorientierte Protokoll TCP verwendet, wird die bereits aufgebaute Verbindung nicht geschlossen, es können lediglich keine weiteren Verbindungen aufgebaut werden.

[opencloseSSH]
 sequence = 33333:udp,22222:tcp,33333:udp
 seq_timeout = 5
 tcpflags = SYN
 start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
 cmd_timeout = 30
 stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT


Beispiel 2: Im Prinzip das gleiche wie Beispiel 1, aber anstelle des SSH-Ports wird der HTTPS-Port geöffnet.

[opencloseWEB]
 sequence = 44444:udp,33333:tcp,44444:udp
 seq_timeout = 5
 tcpflags = SYN
 start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 443 -j ACCEPT
 cmd_timeout = 30
 stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 443 -j ACCEPT


Hinweis zu beiden Beispielen:

/usr/sbin/iptables -A ...

setzt eine Filterregel ans Ende der iptables. Wenn zuvor eine DROP-Regel für den eingefügten Dienst steht, so geht diese nachgelagerte ACCEPT-Regel verloren! Um dies zu umgehen sollten die Befehle mit

/usr/sbin/iptables -I ...

an den Anfang der iptables eingefügt werden.

Die Client-Tools

Die Verwendung von 'knockd' alleine reicht natürlich nicht aus. Die Client-Seite muss ja schließlich irgendwie anklopfen können. HIER bekommt man die nötigen Tools um erfolgreich Klopfzeichen senden zu können. Wer wie der Autor 'Gentoo-Linux' auf der Clientseite verwendet, kann einfach

emerge knock

verwenden, um das benötigte Paket zu installieren. Um anschliessend eine Verbindung aufbauen zu können braucht man einfach nur folgende Befehle ausführen

knock <router-wan-ip> -u 44444
knock <router-wan-ip> 33333
knock <router-wan-ip> -u 44444

um die Sequenz von Beispiel 2 zu generieren. Der Parameter '-u' generiert dabei UDP-Pakete, wenn dieser weggelassen wird, werden TCP-Pakete generiert. Ein erfolgreiches Anklopfen stellt sich im Router-Log folgendermaßen dar:

knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 1
knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 2
knockd: 70.240.252.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: Stage 3
knockd: 70.240.222.241 (p642CFCF4.dip.t-dialin.net): opencloseWEB: OPEN SESAME


Zumindest für die Windows-Version des knock-clients funktioniert auch die folgende Semantik:

knock <router-wan-ip> 44444:udp 33333:tcp 44444:udp

Quellen

http://wrt-wiki.bsr-clan.de/index.php?title=Knockd
http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki
http://www.portknocking.org/

Bootvorgang

Viele interessante Details zum Bootvorgang eines WRT54G v2.2

Hardware

Autopsy: Linksys WRT54G/GS Hardware Versions Under the Knife (auf englisch) gibt ein detaillierten Überblick über die Hardware und das Innenleben der einzelnen Versionen der WRT54G und GS Router einschließlich Bilder.

Modifikationen

Dual Serial Port

Einbau eines Dual-Serial-Ports in Linksys WRT54G/WRT54GS. Es gibt verschiedene Realisierungen des Vorhabens:

SD-Card Reader

Den Router mit einem SD-Card Reader ausstatten:

In der V23 SP1 von DD-WRT ist kein zusätzliches manuelles Aktivieren des MMC-Treibers notwendig. Einfach unter Administration - Management - MMC/SD Card Support - Enable MMC Device

JTAG-Adapter

Anleitung für einen JTAG-Adapter zum Wiederbeleben eines kaputt geflashten WRT.

Version herausfinden

Die ersten vier Stellen der Seriennummer (zu finden auf der Unterseite des Routers) repräsentieren die Hardware-Version:

CDF0 = WRT54G v1.0
CDF1 = WRT54G v1.0
CDF2 = WRT54G v1.1
CDF3 = WRT54G v1.1
CDF5 = WRT54G v2.0
CDF7 = WRT54G v2.2
CDF8 = WRT54G v3.0
CDF9 = WRT54G v3.1
CDFA = WRT54G v4.0
CDFB = WRT54G v5.0
CDFC = WRT54G v5.1

CGN0 = WRT54GS v1.0
CGN1 = WRT54GS v1.0
CGN2 = WRT54GS v1.1
CGN3 = WRT54GS v2.0
CGN4 = WRT54GS v2.1
CGN5 = WRT54GS v3.0
CGN6 = WRT54GS v4.0
CGN7 = WRT54GS v5.0
CGN8 = WRT54GS v5.1

CL7A = WRT54GL v1.0
CL7B = WRT54GL v1.1

Informationen über Hardware

Infos über die Hardware erhaltet ihr auf folgenden Seiten:

NVRAM

NVRAM steht für non volatile random access memory (nichtflüchtiger Speicher) und ist sozusagen der Arbeitsspeicher des WRT. Hier werden sämtliche Parameter und gesetzte Optionen gespeichert. Die Shell stellt dazu den Befehl nvram bereit. Mit
nvram show
kann man sich den gesamten Inhalt auflisten. Mittels grep kann man die Ausgabe auf die Variablen einzelner Bereiche eingrenzen und übersichtlicher darstellen, z.B.
nvram show | grep jffs2
. Mit nvram get und nvram set kann man Parameter auslesen bzw. ändern. nvram commit führt die Anderungen dann aus.
C:\WRTJTAG>wrt54g -erase:nvram

Mit erase kann man NVRAM Löschen

Overclocking der CPU

Mit folgendem Befehl wird die CPU übertaktet (hier auf 240 MHz):

nvram set clkfreq=240
nvram commit
reboot

Um die aktuelle MHz-Einstellung zu erhalten folgenden Befehl eingeben:

nvram get clkfreq

oder

cat /proc/cpuinfo

Übertakten ist insbesondere eine Lösung, wenn es bei Netzwerklast zwischen WLAN<=>LAN plötzlich zu Reboots, WLAN-Disconnects usw. kommt. Betroffen sind besonders die Modelle WRT54G v2.2, v3 und GS v.1, v2.0 bei denen meistens nach ein paar Sekunden, einer halben Stunde oder auch mehreren Stunden bei durchgängiger Last (~30 kB/s) diese Probleme auftreten.

JFFS2

Journaling Dateisystem
Journaled File System (JFS)
Journaling Flash File System (mtd-jffs-HOWTO).

Erweiterungen

FTP-Server

von: Helmutoh

Um einen FTP-Server auf dem Router laufen zu lassen sind die folgenden Schritte notwendig:

Zunächst sollte sichergestellt sein, dass genügend Speicherplatz im JFFS-Verzeichnis vorhanden ist, um die notwendigen Pakete zu installieren. Sollte dies nicht der Fall sein (vor allem wenn man auch noch Daten per FTP irgendwo speichern möchte) empfiehlt sich das Einbinden einer SMB-Windows-Freigabe oder gar der Einbau einer SD-Karte. Um diese Erklärung einfach zu halten verwende ich bei allen Pfadangaben hier nur den zur SD-Karte. Zudem zeige ich die Installation der Zusatzpakete auch auf der SD-Karte.

Vorbereitungen:

Da die Pakete nicht im Standard-JFFS installiert werden benötigen wir die entsprechenden Verzeichnisse (wer im JFFS genügend Platz hat, braucht diesen Schritt natürlich nicht!):

  mkdir /mmc/jffs
  mkdir /mmc/jffs/tmp
  mkdir /mmc/jffs/tmp/ipkg

Schritt 1:

Installation des vsftpd-Server Packages von downloads.openwrt.org

  ipkg -d /mmc/jffs install http://URL_2_vsftpd

Achtung hier bitte jeweils die URL der aktuellsten Version des vsftpd-Paketes einsetzen! Bei der Installation mit ipkg ggf. die Warnmeldungen ignorieren!

Schritt 2:

Installation der zusätzlichen Library

Da der FTP-Server leider nicht mit den Standard-Libs in DD-WRT startet benötigen wir ein zusätzliches Paket (uclibc):

  ipkg -d /mmc/jffs install http://URL_2_uclibc

Auch hier wieder die Version beachten und richtige URL zum uclibc-Paket einsetzen!

Schritt 3:

Start-Skript für den FTP-Server

Zum Start des FTP-Server gehört nun ein Start-Skript, welches kurzzeitig die Lib aktiviert und den Server damit startet.

  export LD_PRELOAD='/mmc/jffs/lib/libuClibc-0.9.27.so'
  /mmc/jffs/usr/sbin/vsftpd /mmc/jffs/etc/vsftpd.conf
  unset LD_PRELOAD
  env > /dev/null

In der zweiten Zeile wird der FTP-Server mit seiner Config-Datei gestartet. Hier sollte unbedingt festgelegt werden, welcher USER was darf! Die Optionen dieser Config finden sich am besten hier: vsftpd manpage.

Dieses Skript an beliebiger Stelle speichern (hier: /mmc/progs/ftpserver/start).

Schritt 4:

Das erstellte Start-Skript kann nun nach erfolgreichem Test auch im Startup-Bereich des Router eingetragen werden:

Im Bereich Administration - Diagnostics der Router-Konfiguration

  cd /mmc/progs/ftpserver
  ./start

mit Save Startup abspeichern.

Schritt 5:

Soll der FTP-Server nun auch noch im WAN (Internet) sichtbar sein, so muss der Port 21 für passive FTP-Verbindungen noch in der Firewall geöffnet werden:

Im Bereich Administration - Diagnostics

  /usr/sbin/iptables -I INPUT 1 -p tcp --dport 21 -j logaccept

mit Save Firewall abspeichern.

RFlow Collector

Mit diesem Programm kann man die Aktivität des Routers überwachen. Es gibt Auskunft über verbundene Clients und zeigt auch die Empfangsstärke an.

Trouble Shooting

Der WRT54-g(s) macht kaum Probleme

Ich möchte mitmachen

Ganz einfach: Den "edit"-Button drücken, editieren, speichern und uns erfreuen. ;)

Alphabetischer Index

Hier sind alle projektbezogenen Artikel alphabetisch gelistet. DD-WRT Doku(DE) Index

Anpassen der Ports des Switches auf Halbduplex und Einstellung von Geschwindigkeiten.