Opennet Firmware: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(opennet-firmware Version 0.4)
K (Ergänzte Dateien: korrigiert)
Zeile 225: Zeile 225:
 
eval $(/usr/bin/netparam)
 
eval $(/usr/bin/netparam)
 
iptables -t nat -D POSTROUTING -o $dev -s $LANNET/$LANPRE -j SNAT --to-source $ifconfig_local</pre>
 
iptables -t nat -D POSTROUTING -o $dev -s $LANNET/$LANPRE -j SNAT --to-source $ifconfig_local</pre>
 +
rm -f /tmp/openvpn_msg.txt # remove running message
 
|-
 
|-
 
|/etc/openvpn/opennet_up.sh
 
|/etc/openvpn/opennet_up.sh
Zeile 234: Zeile 235:
 
ip route add default via $route_vpn_gateway 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</pre>
 
iptables -t nat -A POSTROUTING -o $dev -s $LANNET/$LANPRE -j SNAT --to-source $ifconfig_local</pre>
 +
echo "vpn-tunnel active" >/tmp/openvpn_msg.txt # a short message for the web frontend
 
|-
 
|-
 
|/etc/openvpn/opennet-ca.crt
 
|/etc/openvpn/opennet-ca.crt

Version vom 15. August 2005, 00: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.

Inhaltsverzeichnis

Download

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.4.trx Datei auf den router kopieren:

rene@local ~ $ scp opennet-openwrt-brcm-2.4-squashfs_0.4.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.4.trx linux
Writing opennet-openwrt-brcm-2.4-squashfs_0.4.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 (das kann durchaus etwas dauern). Nun sollte der Router über das Webinterface zu erreichen sein (http://172.16.0.1).

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

zur Zeit keine bekannten

History

  • 14.8.2005 Version 0.4
    • olsrd-httpinfo ergänzt
    • cron-minutely ergänzt (olsrd wird jetzt neu gestartet, wenn er abstürzen sollte)
    • Adaption von firstrun aus Freifunk beseitig Passwort-Probleme
    • S60ntpclient wartet nun eine kurze Weile, bovor die Zeit gesetzt wird
  • 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
  • netfilter raw und NOTRACK ergänzen

Anpassungen an OpenWRT Whiterussian

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.

dumps

Konfiguration

zusätzlich zur Standardkonfiguration wurden folgende Module ausgewählt:

  • iproute2 routing control (ip)
  • openvpn - Open source VPN solution using SSL
  • olsrd-mod-httpinfo - Small informative web server plugin

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.

Ergänzte Dateien

Die folgenden Dateien wurden in Version 0.4 zusätzlich zu OpenWRT whiterussian hizugefügt:

Datei Quelle / Anmerkung
/www/... freifunk-webadmin-de_1.0.2_mipsel.ipk / angepasst
/usr/sbin/ntpclient whiterussian paket ntpclient_2003_194-1_mipsel.ipk
/usr/sbin/wl freifunk-openwrt-kit-1.0.2-de
/usr/sbin/cron.daily freifunk-openwrt-kit-1.0.2-de
/usr/sbin/cron.hourly freifunk-openwrt-kit-1.0.2-de
/usr/sbin/cron.minutely freifunk-openwrt-kit-1.0.2-de / angepasst
/usr/sbin/wlconf freifunk-openwrt-kit-1.0.2-de
/usr/sbin/olsrd-clearroutes freifunk-openwrt-kit-1.0.2-de
/usr/bin/netparam freifunk-openwrt-kit-1.0.2-de / Angepasst da /proc/net/wireless in whiterussian nicht unterstützt wird
/etc/init.d/S60ntpclient ntpclient_2003_194-1_mipsel.ipk / Angepasst auf titan.on
/etc/init.d/S53olsrd freifunk-openwrt-kit-1.0.2-de / Angepasst da /proc/net/wireless in whiterussian nicht unterstützt wird
/etc/init.d/S80openvpn freifunk-openwrt-kit-1.0.2-de
/etc/init.d/S45firewall freifunk-openwrt-kit-1.0.2-de / Angepasst da /proc/net/wireless in whiterussian nicht unterstützt wird
/etc/init.d/51crond freifunk-openwrt-kit-1.0.2-de
/etc/olsrd.conf symbolischer Link nach /var/etc/olsrd.conf
/etc/banner angepasst
/etc/openvpn/opennet.conf OpenVPN_Konfiguration
/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

rm -f /tmp/openvpn_msg.txt # remove running message

/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

echo "vpn-tunnel active" >/tmp/openvpn_msg.txt # a short message for the web frontend

/etc/openvpn/opennet-ca.crt Zertifikat von opennet
/etc/local.fw Firewall - MASQUERADING entfernt (siehe up/down -scripte)
/tmp/run Verzeichnis angelegt, wird bspw. für cron.minutely beötigt
/bin/firstboot Passwort-Code von Freifunk in whiterussian firstboot übernommen

Entfernte Dateien

Die folgenden Dateien wurden in Version 0.4 aus OpenWRT whiterussian entfernt:

Datei Quelle / Anmerkung
/etc/firewall.user wird jetzt in local.fw gesetzt
/etc/init.d/olsrd durch S53olsrd aus Freifunk ersetzt
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge