DD-WRT auf einer Nokia IP130 installieren
Image auf HDD oder CompactFlash Card flashen
Als erstes wird das richtige Image benötigt, welches ihr hier bekommt:
Einfach nach der richtigen Box suchen und das "DD-WRT X86 Public Serial: Console image dd-wrt_public_serial.image" herunterladen.
Hier der Link:
So nun wird ein USB to IDE Adapter benötigt um die 2,5" HDD oder wahlweise eine CF Card mit IDE Adapter, an den PC anzuschließen.
Linux/OSx
Unter Linux oder OSx kann das Image mittels dd
übertragen werden:
dd if=dd-wrt_public_serial.image of=/dev/usbdisk
Achtung!!! bei falsch Angabe des richtigen of Devices kann es zu Datenverlust kommen. Bitte wirklich das richtige Device auswählen!!!
Windows
Unter Windows wird das kleine Tool "physdiskwrite" benötigt, dies bekommt ihr hier:
Einfach das Tool herunterladen und ausführen. Es sollten nun alle verfügbaren Laufwerke angezeigt werden. Hier bitte mit der Rechte Maustaste das gewünschte Device auswählen und Image laden anklicken, dann das Image File auswählen und fertig.
Das ganze geht auch unter Windows per Kommandozeile:
Dazu einfach das Image File in den selben Ordner legen wie die physdiskwrite.exe, via Start --> Ausführen cmd
in die Konsole gehen und in das richtige Verzeichnis (in dem die Dateien liegen) wechseln:
cd PATHTOFILES
physdiskwrite -u dd-wrt_public_serial.image
Einbau der HDD/CF Card und Booten
Nachdem die Karte oder die HDD geflasht wurde einfach wieder einbauen und die Box booten. Dabei sollte ein Netzwerkkabel mit eth1 (LAN II) verbunden sein. Die Festplatte sollte hörbar booten und bei meinem CF Card Adapter veriet eine LED das die Karte bootet.
Erster Zugriff
Nach kurzer Zeit (ca. 20s) sollte die Box via Ping erreichbar sein. Der Rechner von dem aus die Box konfiguriert wird, muss sich natürlich im selben Subnetz wie die Box befinden, also im 192.168.1.0/24
Netz. Die Box selbst ist dann via:
- http://192.168.1.1
erreichbar.
Die Login Standard Daten lauten:
Benutzer: root
Passwort: admin
Nun kann die Box nach belieben konfiguriert werden.
Festplatte voll ausnutzen
Will man die Volle Festplattengröße der Box ausnutzen um zum Beispiel Backups via Rsync darauf zulegen, muss die 3te Partition vergrößert werden. Leider ist das Image, welches man auf die Platte bzw. CF-Card einspielt, mit 4 primären Platte ausgestattet, bei denen nur die 1ste und die 3te Partition überhaupt ein lesbares Filesystem haben. Das Ziel ist es die 3te Partition zu vergrößern, da diese als /usr/local automatisch gemountet wird und somit ohne weiteres als Speicherplatz nutzbar ist.
Um die Festplatte zu vergrößern nutzt am besten eine Ubuntu Installation oder die Ubuntu Live CD. Hier sollte dann das kleine Tool gparted nachinstalliert werden. nun geht wie folgt vor:
- Booten des Ubuntu Linux (geht auch in einer VM)
- Anschließen der HDD oder CF-Card (in der VM dann durchreichen)
- Backup der 4ten Partition im Terminal:
sudo dd if=/dev/sdb4 of=sdb4.image
- Öffnen von GParted (System-->Systemverwaltung-->Gparted Festplattenpartitionierung)
- Löschen der 4ten Partition (/dev/sdb4)
- Vergrößern der 3ten Partition (es müssen mindestens 2MB frei bleiben für die 4te Partition)
- Anlegen der 4ten Partition (hier kann der Rest verwendet werden, nicht formatieren auswählen)
- Änderungen Anwenden (APPLY oder Alle Operationen ausführen)
- Backup Image der 4ten Partition zurückspielen
sudo if=sdb4.image of=/dev/sdb4
- Dann die Platte aushängen, in die Box einbauen und booten.
- Nun sollte /usr/local vergrößert sein
df -h
Rsync für Backups einrichten
Will man auf den DD-WRT Router Backups von Dateien speichern, kann man dies mittels Rsync machen. Dies muss natürlich erst installiert werden. Ich habe einiges auprobiert und auch versucht direkt rsync zu mit dem ipkg online zu installieren, leider stürzte die Rsync Version ständig mit folgender Fehlermeldung ab:
rsync: line 1: syntax error: "(" unexpected
Hier meine Lösung:
Ich nutze die Pakete von
diese Funktionieren auf der Nokia Box. Als Vorbereitung hierfür muss folgender Befehl via HTTP Gui als Startup Befehl gespeichert und auch gleich ausgeführt werden:
mount -o bind /usr/local/ /jffs/
Nun via Telnet oder SSH auf die Box verbinden, einloggen und die Rsync Pakete herunterladen. Dann einfach mittels ipkg installieren. Folgende Fehler können hierbei ignoriert werden:
RROR: File not found: //usr/local/lib/ipkg/lists/whiterussian You probably want to run `ipkg update' ERROR: File not found: //usr/local/lib/ipkg/lists/non-free You probably want to run `ipkg update' ERROR: File not found: //usr/local/lib/ipkg/lists/backports You probably want to run `ipkg update'
cd /jffs
wget http://downloads.openwrt.org/backfire/10.03/x86/packages/librsync_0.9.7-
4_x86.ipk
wget http://downloads.openwrt.org/backfire/10.03/x86/packages/rsync_3.0.7-1_x
86.ipk
wget http://downloads.openwrt.org/backfire/10.03/x86/packages/libpopt_1.7-5_x
86.ipk
ipkg install rsync_3.0.7-1_x86.ipk
ipkg install libpopt_1.7-5_x86.ipk
ipkg install librsync_0.9.7-4_x86.ipk
Nun sollte ein Aufruf von rsync --help
eine Ausgabe aller Parameter ausgeben.
Was nun beim Rsync Befehl auf der Remoteseite beachtet werden muss, ist das die PATH und LIBRARY Variablen nicht gesetzt werden wenn man sich mittels Rsync verbinden will. Ergebnis ist, das man nach dem Einloggen den folgenden Fehler erhält:
rsync: can't load library 'libpopt.so.0'
um die /etc/profile Datei zu laden muss der Rsync Befehl durch den folgenden Parameter erweitert werden:
--rsync-path='source /etc/profile && rsync'
Beispiel:
rsync -avz --rsync-path='source /etc/profile && rsync' /a hostname:/b
Rsync als Daemon auf dem DD-WRT Router
Um Rsync als Daemon laufen zu lassen ist als erstes eine Konfigurationsdatei mit folgendem Inhalt nötig:
/usr/local/rsync/rsyncd.conf
[Backup] comment = Backup Rsync path = /usr/local/data use chroot = yes read only = no write only = yes list = yes uid = root gid = root strict modes = yes hosts allow = 192.168.1.10 ignore errors = no ignore nonreadable = yes transfer logging = no timeout = 6000 refuse options = checksum dry-run dont compress = *.jpg *.avi *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
Nun kann man das ganze mit folgendem Befehl starten:
rsync --daemon --config=/usr/local/rsync/rsyncd.conf
Will man dies Bootresistent machen, einfach den Befehl in das Startupskript in der Webgui einfügen.
OpenVPN via DD-WRT
Hier die Anleitung für das OpenVPN:
Quellen
- http://www.dd-wrt.com/wiki/index.php/PC-Engines
- http://www.dd-wrt.com/wiki/index.php/X86
- http://www.dd-wrt.com/phpBB2/viewtopic.php?t=11167&highlight=resize+x86
- http://www.dd-wrt.com/wiki/index.php/Rsync_Backup_Server
- http://www.linuxquestions.org/questions/linux-newbie-8/rsync-ssh-how-to-execute-shell-commands-on-server-694776/
- http://www.dd-wrt.com/wiki/index.php/Atheros/ath_wireless_settings