home
erste Version am 10.02.2014
letzte Änderung am 18.02.2014

WDR4300 mit OpenWrt


Weil mein WR1043ND bereits gleich nach dem Einschalten am Limit seines freien RAM-Speichers (32MB) läuft, habe ich mich unter
http://wiki.openwrt.org/toh/start#tp-link nach einem Modell mit deutlich mehr RAM umgesehen und bin beim WDR4300 gelandet.

Da das Ding ja nicht sonderlich teuer ist, habe ich gleich einen bestellt.

Erst als die Bestellung schon raus war, habe ich mir seine spezielle Seite angesehen und mich geärgert, dort nicht schon vorher nachgesehen zu haben. Die Version 1.7 scheint Probleme mit Attitude Adjustment zu haben.
Aber glücklicherweise wurde zwei Tage später eine v1.6 geliefert.

Im folgenden habe ich mal meinen Schmierzettel, der bei der Einrichtung des TL-WDR4300 entstanden ist, etwas leserlicher aufbereitet.



Erstmal wird der Router mit dem Switch und mit Strom verbunden.
Nach etwa einer Minute hat die Fritzbox ihm dann auch eine IP zugewiesen.
Also per SeaMonkey auf diese IP und.....nix.
Das Ding antwortet auf ping, aber bringt kein WebGUI.

Dann ist mir eingefallen, dass ja auch der alte Router das WebGUI per Default nur auf den LAN-Ports öffnet.
Also habe ich schnell einen anderen Rechner an einen der LAN-Ports des Routers angeschlossen, ihn hochgefahren und geschaut, welche IP er vom Router bekommen hat.
Von dieser IP habe ich dann das letzte Oktett durch eine 1 ersetzt und mit SeaMonkey die 192.168.0.1 geöffnet.
Für die Passwort-Abfrage musste ich in die mitgelieferte Router-Doku schauen: admin / admin

Nachdem ich mir das Werks-WebGUI des Routers etwas angesehen hatte, habe ich mir (über den Router) das OpenWrt-Firmware-File besorgt.
Quelle: http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin
Das habe ich dann über die Funktion zum Firmware-Update in den Router geladen und etwas gewartet.

Während des Updates habe ich mir überlegt, dass der Router, wenn er jetzt mit OpenWrt hochkommt, ja eher das 192.168.1'er Netz verwenden wird.
Daher habe ich den Rechner sich nach etwa fünf Minuten eine neue IP holen lassen. Und zwar mit:
ifdown eth0
ifup eth0

Siehe da, der Rechner hatte eine Adresse im 192.168.1'er Netz.
Nun also mit SeaMonkey auf 192.168.1.1 und erstmal ein Passwort einstellen.
Dann unter System/System die Zeitzone einstellen und NTP aktivieren.

Jetzt wollte ich endlich wieder an meinem Hauptrechner (der mit dem WAN-Port des Routers verbunden ist) weitermachen.
Also musste erstmal die Router-Firewall entsprechend aufgemacht werden:
ssh root@192.168.1.1
Dort dann:
vi /etc/config/firewall
und anhängen von:
config rule
        option src              wan
        option dest_port        22
        option target           ACCEPT
        option proto            tcp

config rule
        option src              wan
        option dest_port        80
        option target           ACCEPT
        option proto            tcp

Aktivieren mit:
/etc/init.d/firewall stop
/etc/init.d/firewall start

Nun ist das WebGUI auch über den WAN-Port des Routers erreichbar (die Fritzbox sorgt dafür, dass ssh- oder http-Zugriffe aus dem Internet nicht beim Router ankommen).
Somit kann ich wieder auf meinen Hauptrechner wechseln.

Erstmal die IP des Routers am DHCP-Server (bzw. der Fritzbox) raussuchen.
Der Router hat die 192.168.178.42 bekommen.
Diese IP dann mit dem Browser öffnen und gleich unter System/Administration/SSH Access das Interface auf WAN umstellen.
Und wo ich schon auf der Seite bin, kann ich auch noch den SSH-Key meines Hauptrechners unter SSH-Keys reinpasten.

Test mit:
ssh root@192.168.178.42
Klappt ohne Passwort.

Dann noch:
vi /etc/banner
und die Meldung anpassen.



Bevor ich nun irgendwas installiere, will ich erstmal extroot einrichten.
Siehe: http://wiki.openwrt.org/doc/howto/extroot

Also:
opkg update
opkg install kmod-usb-storage
opkg install kmod-fs-ext4 block-mount

Dann einen uralten, mit ext4 formatierten USB-Stick (256MB) in den Router stecken und:
mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1
mkdir -p /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf -
umount /tmp/cproot
umount /mnt/sda1


Dauerhaft einstellen mit:
vi /etc/config/fstab
und darin ändern unter "config mount" von
  option target  /home
  option enabled 0
nach
  option target  /
  option enabled 1


Jetzt ein finaler:
reboot


Als der Router wieder hoch war, habe ich erstmal Screenshots als zukünftige Referenz gezogen.
Siehe: OpenWrtSim



Und nun noch ein paar Install-Befehle mit ihren jeweiligen Abhängigkeiten:

root@FreifunkWees01:~# opkg install wshaper luci-app-wshaper
Installing wshaper (0.2-2) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/wshaper_0.2-2_all.ipk.
Installing kmod-sched (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-sched_3.3.8-1_ar71xx.ipk.
Installing kmod-sched-core (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-sched-core_3.3.8-1_ar71xx.ipk.
Installing tc (3.3.0-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/tc_3.3.0-1_ar71xx.ipk.
Installing luci-app-wshaper (0.11.1-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/luci-app-wshaper_0.11.1-1_ar71xx.ipk.
Configuring kmod-sched-core.
Configuring kmod-sched.
Configuring tc.
Configuring wshaper.
Configuring luci-app-wshaper.


root@FreifunkWees01:~# opkg install nano
Installing nano (2.2.6-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/nano_2.2.6-1_ar71xx.ipk.
Installing libncurses (5.7-5) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libncurses_5.7-5_ar71xx.ipk.
Installing terminfo (5.7-5) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/terminfo_5.7-5_ar71xx.ipk.
Configuring terminfo.
Configuring libncurses.
Configuring nano.


root@FreifunkWees01:~# opkg install python
Installing python (2.7.3-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/python_2.7.3-1_ar71xx.ipk.
Installing libpthread (0.9.33.2-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libpthread_0.9.33.2-1_ar71xx.ipk.
Installing zlib (1.2.7-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/zlib_1.2.7-1_ar71xx.ipk.
Installing libffi (3.0.10-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libffi_3.0.10-1_ar71xx.ipk.
Installing python-mini (2.7.3-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/python-mini_2.7.3-1_ar71xx.ipk.
Configuring libpthread.
Configuring zlib.
Configuring libffi.
Configuring python-mini.
Configuring python.


root@FreifunkWees01:~# opkg install iftop
Installing iftop (0.17-2) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/iftop_0.17-2_ar71xx.ipk.
Installing libpcap (1.1.1-2) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libpcap_1.1.1-2_ar71xx.ipk.
Configuring libpcap.
Configuring iftop.


root@FreifunkWees01:~# opkg install nodogsplash
Installing nodogsplash (0.9_beta9.9.6-3) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/nodogsplash_0.9_beta9.9.6-3_ar71xx.ipk.
Installing iptables-mod-ipopt (1.4.10-4) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/iptables-mod-ipopt_1.4.10-4_ar71xx.ipk.
Installing kmod-ipt-ipopt (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-ipt-ipopt_3.3.8-1_ar71xx.ipk.
Configuring kmod-ipt-ipopt.
Configuring iptables-mod-ipopt.
Configuring nodogsplash.


root@FreifunkWees01:~# opkg install ip
Installing ip (3.3.0-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ip_3.3.0-1_ar71xx.ipk.
Configuring ip.


root@FreifunkWees01:~# opkg install ifstat
Installing ifstat (1.1-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/ifstat_1.1-1_ar71xx.ipk.
Configuring ifstat.


root@FreifunkWees01:~# opkg install openvpn
Installing openvpn (2.2.2-2) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/openvpn_2.2.2-2_ar71xx.ipk.
Installing kmod-tun (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/kmod-tun_3.3.8-1_ar71xx.ipk.
Installing libopenssl (1.0.1e-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/libopenssl_1.0.1e-1_ar71xx.ipk.
Installing liblzo (2.06-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/liblzo_2.06-1_ar71xx.ipk.
Configuring kmod-tun.
Configuring libopenssl.
Configuring liblzo.
Configuring openvpn.


root@FreifunkWees01:~# opkg install whob
Installing whob (3.32-1) to root...
Downloading http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/whob_3.32-1_ar71xx.ipk.
Configuring whob.