Opennet Firmware: Unterschied zwischen den Versionen
firmware Version 0.2 (www-frontend added) |
opennet-firmware Version 0.3 (www-frontend added) |
||
| Zeile 1: | Zeile 1: | ||
[[Bild:opennet firmware.gif|right]]Da zur Zeit OpenVPN auf dem ASUS unter der Freifunk-Firmware (1.0.2) nicht läuft, wurde diese opennet.firmware entwickelt. Weil nicht sicher ist, inwieweit wir im OpenNet die Kapazitäten haben, auf Dauer eine eigene Firmware zu unterstützen, sollte diese Firmware als ein '''Versuch''' gewertet werden, der vieleicht wieder beendet wird, wenn andere Software zur Verfügung steht. Die Firmware basiert auf OpenWRT whiterussian rc2 (mit teilen der Freifunk-Software) und läuft auf Linksys und ASUS. |
|||
Dies ist eine '''vorerst stark experimentelle''' Anleitung zur Installation von OpenVPN auf einem ASUS-Router WL500g auf Basis von OpenVPN-whiterussian. Leider ist es bisher nicht gelungen, openvpn unter der Freifunk-Firmware zum laufen zu bekommen. Daher ist für eine Nutzung von openvpn nach dieser Methode ein '''firmware-update nötig'''. Ich übernehm also für nichts eine Garantie ;) |
|||
'''Diese Anleitung ist nagelneu und noch nicht gegengelesen.''' |
|||
== Download == |
|||
* aktuelle Version: http://absorb.it/whiterussian/opennet-openwrt-brcm-2.4-squashfs_0.3.trx |
|||
== Installation == |
|||
=== Vorbereitung === |
|||
'''Wichtig''' falls das Firmware-update fehlschlägt: |
|||
* ASUS: Unbedingt die Adresse des Routers im lokalen Netzwerk merken (meist 172.16.0.1) |
|||
* Linksys: Unbedingt die Option boot_wait setzen |
|||
In der folgenden Beschreibung wird davon ausgegangen, dass auf dem Router bereits eine funtionierende und lauffähige Version der Freifunk-Software installiert war. Dies wird in der Beschreibung als Basis genommen, die Firmware ist selbstverständlich auch ausgehend von anderen Vorraussetzungen installierbar.<br> |
|||
Da sich die Opennet-Firmware nur mit den erweiterten Möglichkeiten von OpenWRT whiterussian installieren lässt, muß dieses zuerst installiert werden. |
|||
=== erster Durchgang: install whiterussian jffs === |
|||
Wenn auf eurem AccessPoint bereits whiterussian oder eine opennet-firmware läuft könnt ihr diesen Punkt überspringen. |
|||
Firmware herunterladen:<br> |
|||
ASUS WL500g: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-brcm-2.4-jffs2-4MB.trx<br> |
|||
Linksys WRT54G: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-wrt54g-jffs2.bin<br> |
|||
Linksys WRT54GS: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-wrt54gs-jffs2.bin<br> |
|||
Firmware über das Webfrontend des Routers aktualisieren. |
|||
Der Router sollte nun neu starten. Er bietet jetzt nur einen telnet-zugang an, also muss das passwort geändert werden. Falls dies fehlschlägt (bei mir immer beim ersten Versuch), nicht verzagen, 'reboot' eingeben , der router startet neu und nochmal versuchen... |
|||
<pre> |
|||
rene@local ~ $ telnet 172.16.0.1 |
|||
=== IMPORTANT ============================ |
|||
Use 'passwd' to set your login password |
|||
this will disable telnet and enable SSH |
|||
------------------------------------------ |
|||
BusyBox v1.00 (2005.08.05-19:08+0000) Built-in shell (ash) |
|||
Enter 'help' for a list of built-in commands. |
|||
_______ ________ __ |
|||
| |.-----.-----.-----.| | | |.----.| |_ |
|||
| - || _ | -__| || | | || _|| _| |
|||
|_______|| __|_____|__|__||________||__| |____| |
|||
|__| W I R E L E S S F R E E D O M |
|||
WHITE RUSSIAN (RC2) ------------------------------- |
|||
* 2 oz Vodka Mix the Vodka and Kahlua together |
|||
* 1 oz Kahlua over ice, then float the cream or |
|||
* 1/2oz cream milk on the top. |
|||
--------------------------------------------------- |
|||
root@OpenWrt:/# passwd |
|||
Changing password for root |
|||
Enter the new password (minimum of 5, maximum of 8 characters) |
|||
Please use a combination of upper and lower case letters and numbers. |
|||
Enter new password: |
|||
Re-enter new password: |
|||
Password changed. |
|||
root@OpenWrt:/# </pre> |
|||
=== zweiter Durchgang: install modified whiterussian sqashfs === |
|||
Jetzt läuft auf dem Router whiterussian, nun kann die opennet-firmware installiert werden. Dies wurde von mir getestet auf ASUS WL500g und Linksys WRT54G, sollte aber auch auf dem WRT54GS funktionieren. |
|||
folgende Datei herunterladen: http://absorb.it/whiterussian/opennet-openwrt-brcm-2.4-squashfs_0.3.trx |
|||
Datei auf den router kopieren: |
|||
<pre> |
|||
rene@local ~ $ scp opennet-openwrt-brcm-2.4-squashfs_0.3.trx root@172.16.0.1:/tmp |
|||
root@172.16.0.1's password: |
|||
openwrt-brcm-2.4-squashfs.trx 100% 2020KB 252.5KB/s 00:08 |
|||
rene@wintermute ~ $ </pre> |
|||
neue Firmware installieren: |
|||
<pre> |
|||
rene@local ~ $ ssh 172.16.0.1 -l root |
|||
root@172.16.0.1's password: |
|||
BusyBox v1.00 (2005.07.18-21:49+0000) Built-in shell (ash) |
|||
Enter 'help' for a list of built-in commands. |
|||
_______ ________ __ |
|||
| |.-----.-----.-----.| | | |.----.| |_ |
|||
| - || _ | -__| || | | || _|| _| |
|||
|_______|| __|_____|__|__||________||__| |____| |
|||
|__| W I R E L E S S F R E E D O M |
|||
WHITE RUSSIAN (RC2) ------------------------------- |
|||
* 2 oz Vodka Mix the Vodka and Kahlua together |
|||
* 1 oz Kahlua over ice, then float the cream or |
|||
* 1/2oz cream milk on the top. |
|||
--------------------------------------------------- |
|||
root@OpenWrt:~# cd /tmp/ |
|||
root@OpenWrt:~# mtd -e linux -r write opennet-openwrt-brcm-2.4-squashfs_0.3.trx linux |
|||
Writing opennet-openwrt-brcm-2.4-squashfs_0.3.trx to linux ... |
|||
Unlocking linux ... |
|||
Erasing linux ... |
|||
Unlocking linux ... |
|||
root@OpenWrt:~# Connection to 172.16.0.1 closed by remote host. |
|||
Connection to 172.16.0.1 closed. |
|||
rene@local ~ $ </pre> |
|||
Der Router sollte nun wieder neu starten. Nun sollte der Router über das Webinterface zu erreichen sein (http://172.16.0.1). '''Zuerst Passwort ändern''' über das Webinterface oder wie oben beschrieben mit telnet. |
|||
=== OpenVPN-Anpassung === |
|||
nun müssen die openvpn-keys noch in das Verzeichnis /etc/openvpn kopiert werden: |
|||
<pre> |
|||
root@local:~# cd /etc/openvpn |
|||
root@local:/etc/openvpn# scp *.key root@172.16.0.1:/etc/openvpn |
|||
root@172.16.0.1's password: |
|||
ap_XX.key 100% 887 0.9KB/s 00:00 |
|||
root@local:/etc/openvpn# scp *.crt root@172.16.0.1:/etc/openvpn |
|||
root@172.16.0.1's password: |
|||
ap_XX.crt 100% 4263 4.2KB/s 00:00 |
|||
opennet-ca.crt 100% 1627 1.6KB/s 00:00 |
|||
wintermute openvpn #</pre> |
|||
Wenn der Key und das Certifikat tatsächlich ap_XX.key bzw ap_XX.crt heissen (mit den zwei großen X), braucht die Konfigurationsdatei nicht verändert werden, sonst muss auf dem Router die Datei /etc/openvpn/openvpn.conf angepasst werden.<br> |
|||
Der Zustand des Tunnels wird nun auf der Status-Seite des Routers angezeigt. |
|||
== Bugs == |
|||
* initiale Paswort-Änderung korrigieren |
|||
== History == |
|||
* 14.8.2005 Version 0.3 |
|||
** Webfronteend um die Optionen, die nicht gingen bereinigt |
|||
** rdate durch ntp ersetzt |
|||
** S53olsrd von Freifunk übernommen - daher läuft die opennet.firmware nun auch unter LinkSys |
|||
** opennet-ca.crt in /etc/openvpn ergänzt |
|||
** Statusinformationen um OpenVPN-Status ergänzt |
|||
* 13.8.2005 Version 0.2 |
|||
** Webfrontend von Freifunk übernommen und angepasst |
|||
* 13.8.2005 Version 0.1 |
|||
** erste Release, Testversion ohne Webfrontend |
|||
== Wünsche für die nächste Version == |
|||
* Ergänzung des Webfrontends um Opennet-Spezifika (WEP-Key, OpenVPN-Keys) |
|||
* OpenVPN-Key generation über Webfrontend |
|||
== Anpassungen an OpenWRT Whiterussian == |
== Anpassungen an OpenWRT Whiterussian == |
||
'''noch nicht aktualisiert''' <br> |
|||
Im folgenden Abschnitt werden die an einem Standardsystem (OpenWRT whiterussian rc2, siehe [http://openwrt.org]) vorgenommenen Änderungen beschrieben. Da OpenWRT-whiterussian für die Nutzung im opennet neu compiliert werden musste, enthält die (später) zu installierende Version diese Anpassungen bereits. Hier sind alle nochmals übersichtlich aufgeführt, damit Kommentare, was gut / schlecht / richtig / falsch ist, leichter fallen. |
Im folgenden Abschnitt werden die an einem Standardsystem (OpenWRT whiterussian rc2, siehe [http://openwrt.org]) vorgenommenen Änderungen beschrieben. Da OpenWRT-whiterussian für die Nutzung im opennet neu compiliert werden musste, enthält die (später) zu installierende Version diese Anpassungen bereits. Hier sind alle nochmals übersichtlich aufgeführt, damit Kommentare, was gut / schlecht / richtig / falsch ist, leichter fallen. |
||
=== Konfiguration === |
=== Konfiguration === |
||
| Zeile 16: | Zeile 151: | ||
* [http://absorb.it/whiterussian/S45firewall /etc/init.d/S45firewall] |
* [http://absorb.it/whiterussian/S45firewall /etc/init.d/S45firewall] |
||
:: Zeile 4 auskommentiert da /proc/net/wireless in whiterussian nicht unterstützt wird |
:: Zeile 4 auskommentiert da /proc/net/wireless in whiterussian nicht unterstützt wird |
||
* [http://absorb.it/whiterussian/ |
* [http://absorb.it/whiterussian/S45firewall /etc/init.d/S45firewall] |
||
:: |
|||
* [http://absorb.it/whiterussian/netparam usr/bin/netparam] |
* [http://absorb.it/whiterussian/netparam usr/bin/netparam] |
||
:: Anpassungen, da /proc/net/wireless in whiterussian nicht unterstützt wird |
:: Anpassungen, da /proc/net/wireless in whiterussian nicht unterstützt wird |
||
| Zeile 109: | Zeile 245: | ||
;; |
;; |
||
esac</pre> |
esac</pre> |
||
== Installation == |
|||
In der folgenden Beschreibung wird davon ausgegangen, dass auf dem Router bereits eine funtionierende und lauffähige Version der Freifunk-Software installiert war. Dies wird als Basis genommen, die Firmware wird selbstverständlich auch ausgehend von anderen Vorraussetzungen installierbar sein... |
|||
<br> |
|||
Erlärung (technix): Die Firware Installation muss (soweit ich das probieren konnte) zweimal durchgeführt werden. Ziel ist eine (veränderbare) squashfs-Installation. Zuerst wird eine neue (beliebige) whiterussian-variante als jffs2-4MB installiert. Erst diese enthält die entsprechend aktuelle Versin von mtd, um die modifizierte whiterussian als squashfs zu installieren. |
|||
=== erster Durchgang: install whiterussian jffs === |
|||
folgende Datei herunterladen: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-brcm-2.4-jffs2-4MB.trx |
|||
beim ASUS-Router Power-Stecker ziehen (und ruhig mal 10 Sekunden Pause machen, der Router mag das auch), Reset-Button drücken , dabei Power-Stecker eintöpseln und während die Power-LED blinkt (Resettaste kann losgelasen werden) folgendes auf einem verbunden lokalen Rechner eingeben:<br /> |
|||
(Technix: die default-route muss dabei zum Router zeigen) |
|||
<pre> |
|||
rene@local ~ $ tftp 172.16.0.1 |
|||
tftp> binary |
|||
tftp> trace |
|||
Packet tracing on. |
|||
tftp> get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null |
|||
sent RRQ <file=ASUSSPACELINK\x01\x01\xa8\xc0, mode=octet> |
|||
received DATA <block=1, 0 bytes> |
|||
tftp> put openwrt-brcm-2.4-jffs2-4MB.trx ASUSSPACELINK |
|||
....ausgeschnitten.... |
|||
sent DATA <block=4225, 0 bytes> |
|||
received ACK <block=4225> |
|||
tftp>quit </pre> |
|||
Der Router sollte nun neu starten. Er bietet jetzt nur einen telnet-zugang an, also muss das passwort geändert werden. Falls dies fehlschlägt (bei mir immer beim ersten Versuch), nicht verzagen, 'reboot' eingeben , der router startet neu und nochmal versuchen... |
|||
<pre> |
|||
rene@local ~ $ telnet 172.16.0.1 |
|||
=== IMPORTANT ============================ |
|||
Use 'passwd' to set your login password |
|||
this will disable telnet and enable SSH |
|||
------------------------------------------ |
|||
BusyBox v1.00 (2005.08.05-19:08+0000) Built-in shell (ash) |
|||
Enter 'help' for a list of built-in commands. |
|||
_______ ________ __ |
|||
| |.-----.-----.-----.| | | |.----.| |_ |
|||
| - || _ | -__| || | | || _|| _| |
|||
|_______|| __|_____|__|__||________||__| |____| |
|||
|__| W I R E L E S S F R E E D O M |
|||
WHITE RUSSIAN (RC2) ------------------------------- |
|||
* 2 oz Vodka Mix the Vodka and Kahlua together |
|||
* 1 oz Kahlua over ice, then float the cream or |
|||
* 1/2oz cream milk on the top. |
|||
--------------------------------------------------- |
|||
root@OpenWrt:/# passwd |
|||
Changing password for root |
|||
Enter the new password (minimum of 5, maximum of 8 characters) |
|||
Please use a combination of upper and lower case letters and numbers. |
|||
Enter new password: |
|||
Re-enter new password: |
|||
Password changed. |
|||
root@OpenWrt:/# </pre> |
|||
=== zweiter Durchgang: install modified whiterussian sqashfs === |
|||
folgende Datei herunterladen: http://absorb.it/whiterussian/opennet-openwrt-brcm-2.4-squashfs_0.2.trx |
|||
Datei auf den router kopieren: |
|||
<pre> |
|||
rene@local ~ $ scp opennet-openwrt-brcm-2.4-squashfs_0.2.trx root@172.16.0.1:/tmp |
|||
root@172.16.0.1's password: |
|||
openwrt-brcm-2.4-squashfs.trx 100% 2020KB 252.5KB/s 00:08 |
|||
rene@wintermute ~ $ </pre> |
|||
neue Firmware installieren: |
|||
<pre> |
|||
rene@local ~ $ ssh 172.16.0.1 -l root |
|||
root@172.16.0.1's password: |
|||
BusyBox v1.00 (2005.07.18-21:49+0000) Built-in shell (ash) |
|||
Enter 'help' for a list of built-in commands. |
|||
_______ ________ __ |
|||
| |.-----.-----.-----.| | | |.----.| |_ |
|||
| - || _ | -__| || | | || _|| _| |
|||
|_______|| __|_____|__|__||________||__| |____| |
|||
|__| W I R E L E S S F R E E D O M |
|||
WHITE RUSSIAN (RC2) ------------------------------- |
|||
* 2 oz Vodka Mix the Vodka and Kahlua together |
|||
* 1 oz Kahlua over ice, then float the cream or |
|||
* 1/2oz cream milk on the top. |
|||
--------------------------------------------------- |
|||
root@OpenWrt:~# cd /tmp/ |
|||
root@OpenWrt:~# mtd -e linux -r write opennet-openwrt-brcm-2.4-squashfs_0.2.trx linux |
|||
Writing opennet-openwrt-brcm-2.4-squashfs_0.2.trx to linux ... |
|||
Unlocking linux ... |
|||
Erasing linux ... |
|||
Unlocking linux ... |
|||
root@OpenWrt:~# Connection to 172.16.0.1 closed by remote host. |
|||
Connection to 172.16.0.1 closed. |
|||
rene@local ~ $ </pre> |
|||
Der Router sollte nun wieder neu starten. Zuerst muss wieder über telnet dass passwort geändert werden... |
|||
<pre> |
|||
rene@local ~ $ telnet 172.16.0.1 |
|||
Use 'passwd' to set your login password |
|||
this will disable telnet and enable SSH |
|||
------------------------------------------ |
|||
BusyBox v1.00 (2005.08.05-19:08+0000) Built-in shell (ash) |
|||
Enter 'help' for a list of built-in commands. |
|||
_______ ________ __ |
|||
| |.-----.-----.-----.| | | |.----.| |_ |
|||
| - || _ | -__| || | | || _|| _| |
|||
|_______|| __|_____|__|__||________||__| |____| |
|||
|__| W I R E L E S S F R E E D O M |
|||
WHITE RUSSIAN (RC2) ------------------------------- |
|||
--- adapted for opennet --- opennet-initiative.de - |
|||
--------------------------------- Version 0.2 ----- |
|||
root@OpenWrt:/# passwd |
|||
Changing password for root |
|||
Enter the new password (minimum of 5, maximum of 8 characters) |
|||
Please use a combination of upper and lower case letters and numbers. |
|||
Enter new password: |
|||
Re-enter new password: |
|||
Password changed. |
|||
root@OpenWrt:/#</pre> |
|||
=== OpenVPN-Anpassung === |
|||
nun müssen die openvpn-keys noch in das Verzeichnis /etc/openvpn kopiert werden: |
|||
<pre> |
|||
root@local:~# cd /etc/openvpn |
|||
root@local:/etc/openvpn# scp *.key root@172.16.0.1:/etc/openvpn |
|||
root@172.16.0.1's password: |
|||
ap_XX.key 100% 887 0.9KB/s 00:00 |
|||
root@local:/etc/openvpn# scp *.crt root@172.16.0.1:/etc/openvpn |
|||
root@172.16.0.1's password: |
|||
ap_XX.crt 100% 4263 4.2KB/s 00:00 |
|||
opennet-ca.crt 100% 1627 1.6KB/s 00:00 |
|||
wintermute openvpn #</pre> |
|||
Wenn der Key und das Certifikat tatsächlich ap_XX.key bzw ap_XX.crt heissen (mit den zwei großen X), braucht die Konfigurationsdatei nicht verändert werden, sonst muss auf dem Router die Datei /etc/openvpn/openvpn.conf angepasstt werden. |
|||
Router neustarten, Geduld haben und 5 Minuten nach einem Neustart (vielleicht etwas unglücklich, die Wartepause) sollte der Tunnel aufgebaut werden. |
|||
<pre> |
|||
rene@wintermute /etc/openvpn $ tracepath www.heise.de |
|||
1: 172.16.0.2 (172.16.0.2) 0.287ms pmtu 1492 |
|||
1: 172.16.0.1 (172.16.0.1) 18.886ms |
|||
2: 192.168.3.46 (192.168.3.46) 19.550ms |
|||
3: 8.aps.on (192.168.1.8) 29.847ms |
|||
4: 15.aps.on (192.168.1.15) 89.338ms |
|||
5: titan.on (192.168.0.254) 411.074ms |
|||
6: 217.0.116.105 (217.0.116.105) asymm 7 114.248ms |
|||
7: 217.0.71.70 (217.0.71.70) 88.572ms |
|||
8: 62.154.32.174 (62.154.32.174) asymm 10 106.498ms |
|||
9: m-ec1.M.DE.net.DTAG.DE (62.154.27.234) asymm 12 143.748ms |
|||
10: c4.m.de.plusline.net (212.19.63.109) asymm 12 130.013ms |
|||
11: heise1.f.de.plusline.net (213.83.57.21) 218.912ms |
|||
12: heise1.f.de.plusline.net (213.83.57.21) asymm 11 138.400ms |
|||
Resume: pmtu 1492 |
|||
rene@wintermute /etc/openvpn $ tracepath www.heise.de |
|||
1: 172.16.0.2 (172.16.0.2) 0.298ms pmtu 1492 |
|||
1: 172.16.0.1 (172.16.0.1) 1.223ms |
|||
2: 10.1.0.1 (10.1.0.1) 73.335ms |
|||
3: 217.0.116.105 (217.0.116.105) asymm 4 162.812ms |
|||
4: 217.0.71.70 (217.0.71.70) 89.402ms |
|||
5: 62.154.32.174 (62.154.32.174) asymm 7 118.480ms |
|||
6: m-ec1.M.DE.net.DTAG.DE (62.154.27.234) asymm 9 154.122ms |
|||
7: c4.m.de.plusline.net (212.19.63.109) asymm 9 165.260ms |
|||
8: heise1.f.de.plusline.net (213.83.57.21) 155.406ms |
|||
9: heise1.f.de.plusline.net (213.83.57.21) asymm 8 309.705ms |
|||
Resume: pmtu 1492 |
|||
rene@wintermute /etc/openvpn $ </pre> |
|||
Version vom 14. August 2005, 15:42 Uhr
Da zur Zeit OpenVPN auf dem ASUS unter der Freifunk-Firmware (1.0.2) nicht läuft, wurde diese opennet.firmware entwickelt. Weil nicht sicher ist, inwieweit wir im OpenNet die Kapazitäten haben, auf Dauer eine eigene Firmware zu unterstützen, sollte diese Firmware als ein Versuch gewertet werden, der vieleicht wieder beendet wird, wenn andere Software zur Verfügung steht. Die Firmware basiert auf OpenWRT whiterussian rc2 (mit teilen der Freifunk-Software) und läuft auf Linksys und ASUS.
Diese Anleitung ist nagelneu und noch nicht gegengelesen.
Download
- aktuelle Version: http://absorb.it/whiterussian/opennet-openwrt-brcm-2.4-squashfs_0.3.trx
Installation
Vorbereitung
Wichtig falls das Firmware-update fehlschlägt:
- ASUS: Unbedingt die Adresse des Routers im lokalen Netzwerk merken (meist 172.16.0.1)
- Linksys: Unbedingt die Option boot_wait setzen
In der folgenden Beschreibung wird davon ausgegangen, dass auf dem Router bereits eine funtionierende und lauffähige Version der Freifunk-Software installiert war. Dies wird in der Beschreibung als Basis genommen, die Firmware ist selbstverständlich auch ausgehend von anderen Vorraussetzungen installierbar.
Da sich die Opennet-Firmware nur mit den erweiterten Möglichkeiten von OpenWRT whiterussian installieren lässt, muß dieses zuerst installiert werden.
erster Durchgang: install whiterussian jffs
Wenn auf eurem AccessPoint bereits whiterussian oder eine opennet-firmware läuft könnt ihr diesen Punkt überspringen.
Firmware herunterladen:
ASUS WL500g: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-brcm-2.4-jffs2-4MB.trx
Linksys WRT54G: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-wrt54g-jffs2.bin
Linksys WRT54GS: http://downloads.openwrt.org/whiterussian/rc2/bin/openwrt-wrt54gs-jffs2.bin
Firmware über das Webfrontend des Routers aktualisieren.
Der Router sollte nun neu starten. Er bietet jetzt nur einen telnet-zugang an, also muss das passwort geändert werden. Falls dies fehlschlägt (bei mir immer beim ersten Versuch), nicht verzagen, 'reboot' eingeben , der router startet neu und nochmal versuchen...
rene@local ~ $ telnet 172.16.0.1
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
------------------------------------------
BusyBox v1.00 (2005.08.05-19:08+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
WHITE RUSSIAN (RC2) -------------------------------
* 2 oz Vodka Mix the Vodka and Kahlua together
* 1 oz Kahlua over ice, then float the cream or
* 1/2oz cream milk on the top.
---------------------------------------------------
root@OpenWrt:/# passwd
Changing password for root
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Re-enter new password:
Password changed.
root@OpenWrt:/#
zweiter Durchgang: install modified whiterussian sqashfs
Jetzt läuft auf dem Router whiterussian, nun kann die opennet-firmware installiert werden. Dies wurde von mir getestet auf ASUS WL500g und Linksys WRT54G, sollte aber auch auf dem WRT54GS funktionieren.
folgende Datei herunterladen: http://absorb.it/whiterussian/opennet-openwrt-brcm-2.4-squashfs_0.3.trx Datei auf den router kopieren:
rene@local ~ $ scp opennet-openwrt-brcm-2.4-squashfs_0.3.trx root@172.16.0.1:/tmp root@172.16.0.1's password: openwrt-brcm-2.4-squashfs.trx 100% 2020KB 252.5KB/s 00:08 rene@wintermute ~ $
neue Firmware installieren:
rene@local ~ $ ssh 172.16.0.1 -l root
root@172.16.0.1's password:
BusyBox v1.00 (2005.07.18-21:49+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
WHITE RUSSIAN (RC2) -------------------------------
* 2 oz Vodka Mix the Vodka and Kahlua together
* 1 oz Kahlua over ice, then float the cream or
* 1/2oz cream milk on the top.
---------------------------------------------------
root@OpenWrt:~# cd /tmp/
root@OpenWrt:~# mtd -e linux -r write opennet-openwrt-brcm-2.4-squashfs_0.3.trx linux
Writing opennet-openwrt-brcm-2.4-squashfs_0.3.trx to linux ...
Unlocking linux ...
Erasing linux ...
Unlocking linux ...
root@OpenWrt:~# Connection to 172.16.0.1 closed by remote host.
Connection to 172.16.0.1 closed.
rene@local ~ $
Der Router sollte nun wieder neu starten. Nun sollte der Router über das Webinterface zu erreichen sein (http://172.16.0.1). Zuerst Passwort ändern über das Webinterface oder wie oben beschrieben mit telnet.
OpenVPN-Anpassung
nun müssen die openvpn-keys noch in das Verzeichnis /etc/openvpn kopiert werden:
root@local:~# cd /etc/openvpn root@local:/etc/openvpn# scp *.key root@172.16.0.1:/etc/openvpn root@172.16.0.1's password: ap_XX.key 100% 887 0.9KB/s 00:00 root@local:/etc/openvpn# scp *.crt root@172.16.0.1:/etc/openvpn root@172.16.0.1's password: ap_XX.crt 100% 4263 4.2KB/s 00:00 opennet-ca.crt 100% 1627 1.6KB/s 00:00 wintermute openvpn #
Wenn der Key und das Certifikat tatsächlich ap_XX.key bzw ap_XX.crt heissen (mit den zwei großen X), braucht die Konfigurationsdatei nicht verändert werden, sonst muss auf dem Router die Datei /etc/openvpn/openvpn.conf angepasst werden.
Der Zustand des Tunnels wird nun auf der Status-Seite des Routers angezeigt.
Bugs
- initiale Paswort-Änderung korrigieren
History
- 14.8.2005 Version 0.3
- Webfronteend um die Optionen, die nicht gingen bereinigt
- rdate durch ntp ersetzt
- S53olsrd von Freifunk übernommen - daher läuft die opennet.firmware nun auch unter LinkSys
- opennet-ca.crt in /etc/openvpn ergänzt
- Statusinformationen um OpenVPN-Status ergänzt
- 13.8.2005 Version 0.2
- Webfrontend von Freifunk übernommen und angepasst
- 13.8.2005 Version 0.1
- erste Release, Testversion ohne Webfrontend
Wünsche für die nächste Version
- Ergänzung des Webfrontends um Opennet-Spezifika (WEP-Key, OpenVPN-Keys)
- OpenVPN-Key generation über Webfrontend
Anpassungen an OpenWRT Whiterussian
noch nicht aktualisiert
Im folgenden Abschnitt werden die an einem Standardsystem (OpenWRT whiterussian rc2, siehe [1]) vorgenommenen Änderungen beschrieben. Da OpenWRT-whiterussian für die Nutzung im opennet neu compiliert werden musste, enthält die (später) zu installierende Version diese Anpassungen bereits. Hier sind alle nochmals übersichtlich aufgeführt, damit Kommentare, was gut / schlecht / richtig / falsch ist, leichter fallen.
Konfiguration
zusätzlich zur Standardkonfiguration wurden folgende Module ausgewählt:
- iproute2 routing control (ip)
- openvpn - Open source VPN solution using SSL
hier die config für Interessierte. Einiges könnte bestimmt noch weggelassen werden, aber da die standard-configuration lief, hab ich mich auf's ergänzen beschränkt.
Aus der Freifunk-Firmware übernommene Dateien
- in Zeile 10 hinzugefügt: sleep 125 (damit rdate hoffentlich die Zeit gesetzt hat)
- Zeile 4 auskommentiert da /proc/net/wireless in whiterussian nicht unterstützt wird
- Anpassungen, da /proc/net/wireless in whiterussian nicht unterstützt wird
rene@wintermute ~ $ diff -Naur netparam ../netparam
--- orig_netparam 2005-08-13 01:35:22.000000000 +0200
+++ netparam 2005-08-12 20:21:39.000000000 +0200
@@ -83,11 +83,8 @@
}
FS = o
- wdev = ""
- while(getline<"/proc/net/wireless") {
- if (/^$/) break
- if (sub(":", "")) wdev = $1
- }
+ wdev = ENVIRON["NVRAM_wl0_ifname"]
+ if ("" == wdev) "nvram get wl0_ifname"|getline wdev
printdev(wdev, wdev, "", "WIFI")
printdev("lo", "lo", "", "LO")
- angepasst auf opennet
Neue Dateien
- /etc/openvpn/opennet.conf
Siehe OpenVPN_Konfiguration
- /etc/openvpn/opennet_up.sh
#!/bin/sh eval $(/usr/bin/netparam) ip route flush table 3 ip route add throw $LANNET/$LANPRE table 3 ip route add default via $route_vpn_gateway table 3 iptables -t nat -A POSTROUTING -o $dev -s $LANNET/$LANPRE -j SNAT --to-source $ifconfig_local
- /etc/openvpn/opennet_down.sh
#!/bin/sh eval $(/usr/bin/netparam) iptables -t nat -D POSTROUTING -o $dev -s $LANNET/$LANPRE -j SNAT --to-source $ifconfig_local
- /etc/local.fw
- MASQUERADING entfernt, da dies im entsprechenden Kernel nicht zu funktionieren scheint, durch SNAT in opennet_up und opennet_down - scripten ersetzt.
# Place your firewall addons here
case $1 in
start)
#variable defintions;
TUNDEV="tun0"
#SNAT in den Tunnel
# MASQUERADING seems not to work well in 2.4.30
# see this news-entry:
# http://groups-beta.google.com/group/lucky.linux.kernel/browse_frm/thread/9631983ea435086c/576b4816db12e2e7
# so SNAT is now done in vpn_up.sh
#iptables -t nat -A POSTROUTING -o $TUNDEV -s $LANNET/$LANPRE -j MASQUERADE
#eingehende frames
iptables -I FORWARD 1 -i $TUNDEV -o $LANDEV -m state --state INVALID -j DROP
iptables -I FORWARD 2 -i $TUNDEV -o $LANDEV -s ! $LANNET/$LANPRE -d $LANNET/$LANPRE -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 3 -i $TUNDEV -o $LANDEV -j LOG --log-prefix "FRAMEDROP-FWIN:"
iptables -I FORWARD 4 -i $TUNDEV -o $LANDEV -j DROP
#ausgehende Verbindungen
iptables -I FORWARD 5 -i $LANDEV -o $TUNDEV -m state --state INVALID -j DROP
iptables -I FORWARD 6 -i $LANDEV -o $TUNDEV -s $LANNET/$LANPRE -d ! $LANNET/$LANPRE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 7 -i $LANDEV -o $TUNDEV -j LOG --log-prefix "FRAMEDROP-FWOUT:"
iptables -I FORWARD 8 -i $LANDEV -o $TUNDEV -j DROP
#local output
iptables -I OUTPUT 1 -o $TUNDEV -j ACCEPT
#local input
iptables -I INPUT 1 -i $TUNDEV -m state --state INVALID -j DROP
iptables -I INPUT 2 -i $TUNDEV -p tcp --dport 22 -j ACCEPT
iptables -I INPUT 3 -i $TUNDEV -p tcp --dport 80 -j ACCEPT
iptables -I INPUT 4 -i $TUNDEV -p icmp -j ACCEPT
iptables -I INPUT 5 -i $TUNDEV -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT 6 -i $TUNDEV -j LOG --log-prefix "FRAMEDROP-IN"
iptables -I INPUT 7 -i $TUNDEV -j DROP
#prepare a table for openvpn policy-routing
ip rule add unicast from $LANNET/$LANPRE table 3
#load tun module
# insmod tun # not needed, loaded by /etc/modules.d
;;
stop)
eval $(/usr/bin/netparam) ### S45firewall setzt beim stoppen die Parameter nicht
echo "local_top $LANNET/$LANPRE"
ip rule del unicast from $LANNET/$LANPRE table 3
echo "local_stop"
;;
esac