- Mitglied seit
- 28 Jul 2005
- Beiträge
- 451
- Punkte für Reaktionen
- 0
- Punkte
- 0
VORWORT:
Um der vernachlässigten Fritzbox SL ein wenig per PEP einzuhauchen, hatte ich mir vor einiger Zeit überlegt, wie man die Kiste ein wenig tunen kann und hab einen Weg über einen TFTP-Server genommen. (Anleitung hier: http://www.xobztirf.de/selfsite.php?aktion=Fritzbox SL Tuning)
Danach hab ich versucht die abgespeckte busybox aus der Firmware zu entfernen und durch eine leistungsfähigere zu ersetzen.
Und ausserdem wollte ich noch mehr rausholen und vor allem Dropbear auf die Box kriegen.
Hier findet ihr die Ergebnisse meiner Arbeit.
Hauptfunktionen im sl-mod:
- tftp (put/get)
- wget
- vi
- nvi
- sed
- telnetd (inkl. start/stop skript)
- ether-wake
- crond/crontab
- Virtual-IP
- rule (Portfreigaben per Commandline)
- dropbear (SSH-Server ohne scp, client und dropbearkey)
EDIT: 15.09.2007
Neue Version 1.3 mit dropbear Librarys.
Die benötigte Library libutil-0.9.26.so ist jetzt im Filesystem enthalten.
Dafür hab ich das Keyfile für matrixtunnel und die slmod-info.html rausgeworfen.
Dropbear läuft jetzt also noch stabiler.
Ausserdem hab ich das "rule" Skript gefixt, sodaß beim Entfernen einer Regel keine Leerzeile mehr in der ar7.cfg zurück bleibt.
EDIT: 13.09.2007
Jetzt endlich auch mit dropbear.
EDIT: 11.09.2007
Neue Version 1.2 mit folgenden Zusätzlichen Features
- Crontab im Flash-Speicher (bleibt bei reboot erhalten /var/flash/crontab.cfg)
- /etc/init.d/rc.cron (ein Crontab Deamon, welcher alle 60 Sekunden die crontab erneuert)
- /bin/telnetd.sh (eine kleines Skript, welches den telnetd starten und stoppen kann)
- /bin/rule (Abgewandelte Kurzform von setforw.sh für die SL zum setzen von Portfreigaben per Commandline)
- /sbin/reboot (Pseudo reboot, da das busybox reboot nicht mehr in den Speicher passte)
EDIT: 09.09.2007
Mittlerweile hab ich den slmod verbessert (Version 1.1).
busybox Befehle:
Currently defined functions:
[, [[, ash, basename, busybox, cat, chmod, cp, crond, crontab, date, dirname, dmesg, echo, env, ether-wake,
false, find, free, grep, ifconfig, init, insmod, kill, ln, ls, lsmod, mkdir, mknod, modprobe, more,
mount, mv, netstat, nslookup, pidof, ping, ps, pwd, realpath, rm, rmmod, route, sed, sh, sleep, stty,
sync, tar, telnetd, test, tftp, top, tr, traceroute, true, umount, uname, uptime, vi, wget
Zusätzliches:
/etc/init.d/rc.cron
/bin/rule
/bin/telnetd.sh
/sbin/reboot
/sbin/ar7login
/sbin/dropbear_dss_host_key
/sbin/dropbear_rsa_host_key
/lib/libcrypt-0.9.26.so
Link: libcrypt.so -> libcrypt-0.9.26.so
Link: libcrypt.so.0 -> libcrypt-0.9.26.so
Link: libgcc_s.so.1 -> libcrypt-0.9.26.so
/lib/libutil-0.9.26.so
Link: libutil.so.0 -> libutil-0.9.26.so
Was wurde entfernt:
Webmenü: Hilfe
Webmenü: Assistent
Driver: USB
busybox: killall
Damit man auch dropbear ordentlich laufen lassen kann hab ich die benötigten Librarys, Zertifikate und Keyfiles ins Filesystem eingebaut.
Leider hat die SL zu wenig Speicher für die benötigten Librarys zum lokalen Erzeugen der keys auf der Box. Somit muss man fertige Keys benutzen.
Wenn euch meine Keys zu unsicher sind, dann könnt ihr diese auch gerne selbst erzeugen und im Verzeichnis "tools" vor dem "make" ersetzen.
********* DEBUG.CFG *********
Zusätzliche Features bekommt ihr durch das Erstellen einer debug.cfg (/var/flash/debug.cfg).
Ihr könnt leider nicht alle Module gleichzeitig verwenden. Dies belastet die Box zu sehr.
Bei mir läuft aber dropbear, ether-wake und crontab wunderbar zusammen (telnetd weglassen).
Grunkonfiguration der debug.cfg:
Hier für WOL (Wake on Lan) mittels ether-wake:
Hier für die Aktivierung von TELNET ohne Passwort
.. mit Passwort:
Hier für die Aktivierung von SSH (dropbear nachladen) für PASSWD='rercTwQv2k1ML' müsst ihr einen eigenen Passwort HASH einsetzen:
Hier zur Verwendung von crontab:
ACHTUNG: Eure cronjobs müsst ihr mit nvi in die /var/flash/crontab.cfg eintragen. Dann bleiben sie fest im Flash-Speicher.
Und hier die Anleitung zum Erstellen des sl-mod:
Downloaden und unter Linux oder cygwin entpacken und starten.
Das Skript holt sich die Firmware von AVM und modifiziert sie.
ANLEITUNG:
Im Verzeichnis /slmod findet ihr dann die fertige Firmware: fritz.box_sl.10.03.94.image_slmod1.3
So, also dann mal viel Spaß mit dem sl-mod.
Gruß
Han-Solo
Um der vernachlässigten Fritzbox SL ein wenig per PEP einzuhauchen, hatte ich mir vor einiger Zeit überlegt, wie man die Kiste ein wenig tunen kann und hab einen Weg über einen TFTP-Server genommen. (Anleitung hier: http://www.xobztirf.de/selfsite.php?aktion=Fritzbox SL Tuning)
Danach hab ich versucht die abgespeckte busybox aus der Firmware zu entfernen und durch eine leistungsfähigere zu ersetzen.
Und ausserdem wollte ich noch mehr rausholen und vor allem Dropbear auf die Box kriegen.
Hier findet ihr die Ergebnisse meiner Arbeit.
Hauptfunktionen im sl-mod:
- tftp (put/get)
- wget
- vi
- nvi
- sed
- telnetd (inkl. start/stop skript)
- ether-wake
- crond/crontab
- Virtual-IP
- rule (Portfreigaben per Commandline)
- dropbear (SSH-Server ohne scp, client und dropbearkey)
EDIT: 15.09.2007
Neue Version 1.3 mit dropbear Librarys.
Die benötigte Library libutil-0.9.26.so ist jetzt im Filesystem enthalten.
Dafür hab ich das Keyfile für matrixtunnel und die slmod-info.html rausgeworfen.
Dropbear läuft jetzt also noch stabiler.
Ausserdem hab ich das "rule" Skript gefixt, sodaß beim Entfernen einer Regel keine Leerzeile mehr in der ar7.cfg zurück bleibt.
EDIT: 13.09.2007
Jetzt endlich auch mit dropbear.
EDIT: 11.09.2007
Neue Version 1.2 mit folgenden Zusätzlichen Features
- Crontab im Flash-Speicher (bleibt bei reboot erhalten /var/flash/crontab.cfg)
- /etc/init.d/rc.cron (ein Crontab Deamon, welcher alle 60 Sekunden die crontab erneuert)
- /bin/telnetd.sh (eine kleines Skript, welches den telnetd starten und stoppen kann)
- /bin/rule (Abgewandelte Kurzform von setforw.sh für die SL zum setzen von Portfreigaben per Commandline)
- /sbin/reboot (Pseudo reboot, da das busybox reboot nicht mehr in den Speicher passte)
EDIT: 09.09.2007
Mittlerweile hab ich den slmod verbessert (Version 1.1).
busybox Befehle:
Currently defined functions:
[, [[, ash, basename, busybox, cat, chmod, cp, crond, crontab, date, dirname, dmesg, echo, env, ether-wake,
false, find, free, grep, ifconfig, init, insmod, kill, ln, ls, lsmod, mkdir, mknod, modprobe, more,
mount, mv, netstat, nslookup, pidof, ping, ps, pwd, realpath, rm, rmmod, route, sed, sh, sleep, stty,
sync, tar, telnetd, test, tftp, top, tr, traceroute, true, umount, uname, uptime, vi, wget
Zusätzliches:
/etc/init.d/rc.cron
/bin/rule
/bin/telnetd.sh
/sbin/reboot
/sbin/ar7login
/sbin/dropbear_dss_host_key
/sbin/dropbear_rsa_host_key
/lib/libcrypt-0.9.26.so
Link: libcrypt.so -> libcrypt-0.9.26.so
Link: libcrypt.so.0 -> libcrypt-0.9.26.so
Link: libgcc_s.so.1 -> libcrypt-0.9.26.so
/lib/libutil-0.9.26.so
Link: libutil.so.0 -> libutil-0.9.26.so
Was wurde entfernt:
Webmenü: Hilfe
Webmenü: Assistent
Driver: USB
busybox: killall
Damit man auch dropbear ordentlich laufen lassen kann hab ich die benötigten Librarys, Zertifikate und Keyfiles ins Filesystem eingebaut.
Leider hat die SL zu wenig Speicher für die benötigten Librarys zum lokalen Erzeugen der keys auf der Box. Somit muss man fertige Keys benutzen.
Wenn euch meine Keys zu unsicher sind, dann könnt ihr diese auch gerne selbst erzeugen und im Verzeichnis "tools" vor dem "make" ersetzen.
********* DEBUG.CFG *********
Zusätzliche Features bekommt ihr durch das Erstellen einer debug.cfg (/var/flash/debug.cfg).
Ihr könnt leider nicht alle Module gleichzeitig verwenden. Dies belastet die Box zu sehr.
Bei mir läuft aber dropbear, ether-wake und crontab wunderbar zusammen (telnetd weglassen).
Grunkonfiguration der debug.cfg:
Code:
#!/bin/sh
# Virtuelle Ip-Adresse fuer Portfreigaben setzen
ifconfig lan:1 192.168.178.253 netmask 255.255.255.0 broadcast 192.168.178.255 up
sleep 3
# Hauptpfade anpassen
export PATH=$PATH:/var/tmp
export LD_LIBRARY_PATH=/var/tmp
cd /var/tmp
Hier für WOL (Wake on Lan) mittels ether-wake:
Code:
# MAC address fuer ether-wake
wolmac="01:23:45:67:89:AB"
# interface to use for WOL
# intf = std - ata
# eth0 = LAN1 - WAN
# eth1 = LAN2 - LAN1
wolinterface="eth0"
# einfaches WOL script erzeugen
echo "ether-wake -i ${wolinterface} ${wolmac}" > /var/tmp/startpc
chmod +x startpc
Hier für die Aktivierung von TELNET ohne Passwort
Code:
# Telnet und Cron Daemon starten
telnetd
.. mit Passwort:
Code:
# Telnet und Cron Daemon starten
telnetd -l /sbin/ar7login
Hier für die Aktivierung von SSH (dropbear nachladen) für PASSWD='rercTwQv2k1ML' müsst ihr einen eigenen Passwort HASH einsetzen:
Code:
# Passwort für SSH setzen
cp -p /var/tmp/shadow /var/tmp/shadow.old
PASSWD='rercTwQv2k1ML'
sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" /var/tmp/shadow.old > /var/tmp/shadow
rm /var/tmp/shadow.old
# dropbear nachladen
serverurl="mydomain.de"
serverdir="/fritzbox"
# Warten bis die FritzBox den Server erreichen kann
while !(ping $serverurl); do
sleep 5
done
wget http://$serverurl$serverdir/dropbear
chmod +x dropbear
dropbear -p 22 -r /sbin/dropbear_rsa_host_key -d /sbin/dropbear_dss_host_key
Hier zur Verwendung von crontab:
ACHTUNG: Eure cronjobs müsst ihr mit nvi in die /var/flash/crontab.cfg eintragen. Dann bleiben sie fest im Flash-Speicher.
Code:
mkdir -p /var/spool/cron/crontabs
mknod /var/flash/crontab.cfg c 252 129
cat /var/flash/crontab.cfg > /var/spool/cron/crontabs/root
/usr/sbin/crond
/etc/init.d/rc.cron &
Und hier die Anleitung zum Erstellen des sl-mod:
Downloaden und unter Linux oder cygwin entpacken und starten.
Das Skript holt sich die Firmware von AVM und modifiziert sie.
ANLEITUNG:
Code:
cd /
mkdir slmod
cd slmod
tar -xvf slmod_1.1.tar
make
.
.
make clean
make
Im Verzeichnis /slmod findet ihr dann die fertige Firmware: fritz.box_sl.10.03.94.image_slmod1.3
So, also dann mal viel Spaß mit dem sl-mod.
Gruß
Han-Solo
Anhänge
Zuletzt bearbeitet: