Opennet Firmware: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(opennet-firmware Version 0.4)
K (Korrekt link)
 
(181 dazwischenliegende Versionen von 20 Benutzern werden nicht angezeigt)
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.
+
Unsere Firmware basiert auf OpenWrt und erweitert diese um Opennet-spezifische Funktionen. Unter [[Opennet Hardware]] sind WLAN-Router aufgelistet, auf denen diese Firmware läuft. Unter [[Router-Einrichtung]] ist die grundlegende Konfiguration beschrieben.
  
'''Diese Anleitung ist nagelneu und noch nicht gegengelesen.'''
+
{{team
 +
|description=Pflege und Weiterentwicklung der Firmware für Opennet Accesspoints
 +
|nextMeeting=nach Bedarf
 +
|members=[[Benutzer:Christoph|Christoph K.]], [[Benutzer:Leo|Martin G.]], [[Benutzer:Lars|Lars K.]], [[Benutzer:Kuehro67|Kai-Uwe E.]]
 +
|kontakt=[mailto:dev@opennet-initiative.de dev@opennet-initiative.de]
 +
|logo=Opennet firmware.png
 +
}}
  
== Download ==
+
=== Überblick ===
* aktuelle Version: http://absorb.it/whiterussian/opennet-openwrt-brcm-2.4-squashfs_0.4.trx
+
Die Opennet-Firmware fügt folgende Funktionen zur Distribution [https://openwrt.org OpenWrt] hinzu:
 +
* Festlegung der Accesspoint Nummer
 +
* Internetzugang via Opennet
 +
* Internetzugang bereitstellen und entfernte Opennet-Wolken verbinden
 +
* Offener Zugangspunkt
  
== Installation ==
+
=== Installieren ===
 +
Siehe [[Opennet Firmware/Download]].
  
=== Vorbereitung ===
+
=== Konfiguration ===
'''Wichtig''' falls das Firmware-update fehlschlägt:
+
Eine erste Übersicht über die wichtigsten Konfigurationsmöglichkeiten findest du unter [[Router-Einrichtung]].
* 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>
+
Für Fortgeschrittene und Bastler haben wir ein paar [[Opennet Firmware für Fortgeschrittene|Hinweise zu Spezialthemen zusammengefasst]].
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 ===
+
=== Mitmachen ===
 +
Alle relevanten Informationen für das Entwickeln der Firmware befinden sich in der [http://downloads.opennet-initiative.de/openwrt/stable/latest/doc/md__entwicklung.html Entwicklungsdokumentation] im [https://github.com/opennet-initiative/firmware/ Git-Repository].
  
Wenn auf eurem AccessPoint bereits whiterussian oder eine opennet-firmware läuft könnt ihr diesen Punkt überspringen.
+
Wenn du durch den Quellcode schauen möchtest, dann nutze den [https://github.com/opennet-initiative/firmware/ Repository Browser].
  
Firmware herunterladen:<br>
+
Falls du Änderungen in das Repository einpflegen möchtest, dann melde dich auf der [https://list.opennet-initiative.de/mailman/listinfo/dev Entwicklungs-Mailingliste]. Alternativ lege ein Ticket mit einer Beschreibung und einem beigelegtem Patch im [https://github.com/opennet-initiative/firmware/pulls Bug Tracker] an.
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.
+
Hier findest du Informationen zu weiterführende Details:
  
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...
+
* [http://downloads.opennet-initiative.de/openwrt/stable/latest/doc/md__struktur.html Struktur der Build-Umgebung]
<pre>
+
* [http://downloads.opennet-initiative.de/openwrt/stable/latest/doc/md__entwicklung.html Enwicklungsleitfaden]
rene@local ~ $ telnet 172.16.0.1
+
* [http://downloads.opennet-initiative.de/openwrt/stable/latest/doc/md__funktionsdetails.html Funktionsübersicht der Firmware]
 
+
 
+
=== 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.4.trx
+
Datei auf den router kopieren:
+
<pre>
+
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 ~ $ </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.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 ~ $ </pre>
+
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:
+
<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 ==
+
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 [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.
+
 
+
=== dumps ===
+
* Version 0.4
+
** [http://absorb.it/whiterussian/.config_0.4 config]
+
** [http://absorb.it/whiterussian/opennet_0.4.tgz Modifizierte Dateien]
+
** [http://absorb.it/whiterussian/root_0.4.tgz root dump]
+
* Version 0.3
+
** [http://absorb.it/whiterussian/.config_0.3 config]
+
** [http://absorb.it/whiterussian/opennet_0.3.tgz Modifizierte Dateien]
+
** [http://absorb.it/whiterussian/root_0.3.tgz root dump]
+
 
+
=== 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 [http://absorb.it/whiterussian/.config_0.4 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.
+
Unter [[Opennet_Firmware/Netzstruktur|Netzstruktur]] wird dargestellt, wie die Struktur des Opennet aufgebaut ist. Dort ist auch ersichtlich, welchen Arten von Tunnel es gibt und warum das Netz genau so aufgebaut ist.
  
=== Ergänzte Dateien ===
+
=== Fehler und Wünsche ===
Die folgenden Dateien wurden in Version 0.4 zusätzlich zu OpenWRT whiterussian hizugefügt:
+
Dir ist ein Problem aufgefallen oder du hast einen ausgefallenen Wunsch? Übertrage deine Gedanken in den [https://github.com/opennet-initiative/firmware/issues Bug-Tracker].
  
{|
+
=== Changelog ===
!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
+
|[http://wiki.opennet-initiative.de/index.php/OpenVPN_Konfiguration#OpenWrt_ON_Nodes OpenVPN_Konfiguration]
+
|-
+
|/etc/openvpn/opennet_down.sh
+
| <pre>
+
#!/bin/sh
+
eval $(/usr/bin/netparam)
+
iptables -t nat -D POSTROUTING -o $dev -s $LANNET/$LANPRE -j SNAT --to-source $ifconfig_local</pre>
+
|-
+
|/etc/openvpn/opennet_up.sh
+
| <pre>
+
#!/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</pre>
+
|-
+
|/etc/openvpn/opennet-ca.crt
+
|Zertifikat von opennet
+
|-
+
|/etc/local.fw
+
|[http://wiki.opennet-initiative.de/index.php/OpenVPN_unter_OpenWRT#Firewall 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 ===
+
Änderungen der jeweiligen Versionen incl. bekannten Fehlern finden sich unter [[Opennet Firmware/Versionen]].
Die folgenden Dateien wurden in Version 0.4 aus OpenWRT whiterussian entfernt:
+
  
{|
+
[[Kategorie:Firmware]]
!Datei
+
[[Kategorie:Anleitungen]]
!Quelle / Anmerkung
+
!
+
|-
+
|/etc/firewall.user
+
|wird jetzt in local.fw gesetzt
+
|-
+
|/etc/init.d/olsrd
+
|durch S53olsrd aus Freifunk ersetzt
+
|}
+

Aktuelle Version vom 4. März 2024, 21:24 Uhr

Unsere Firmware basiert auf OpenWrt und erweitert diese um Opennet-spezifische Funktionen. Unter Opennet Hardware sind WLAN-Router aufgelistet, auf denen diese Firmware läuft. Unter Router-Einrichtung ist die grundlegende Konfiguration beschrieben.

Team
Opennet firmware.png
Opennet Firmware
Treffen: nach Bedarf
Pflege und Weiterentwicklung der Firmware für Opennet Accesspoints
Mitglieder:
Christoph K., Martin G., Lars K., Kai-Uwe E.
Kontakt:
dev@opennet-initiative.de


Inhaltsverzeichnis

[Bearbeiten] Überblick

Die Opennet-Firmware fügt folgende Funktionen zur Distribution OpenWrt hinzu:

  • Festlegung der Accesspoint Nummer
  • Internetzugang via Opennet
  • Internetzugang bereitstellen und entfernte Opennet-Wolken verbinden
  • Offener Zugangspunkt

[Bearbeiten] Installieren

Siehe Opennet Firmware/Download.

[Bearbeiten] Konfiguration

Eine erste Übersicht über die wichtigsten Konfigurationsmöglichkeiten findest du unter Router-Einrichtung.

Für Fortgeschrittene und Bastler haben wir ein paar Hinweise zu Spezialthemen zusammengefasst.

[Bearbeiten] Mitmachen

Alle relevanten Informationen für das Entwickeln der Firmware befinden sich in der Entwicklungsdokumentation im Git-Repository.

Wenn du durch den Quellcode schauen möchtest, dann nutze den Repository Browser.

Falls du Änderungen in das Repository einpflegen möchtest, dann melde dich auf der Entwicklungs-Mailingliste. Alternativ lege ein Ticket mit einer Beschreibung und einem beigelegtem Patch im Bug Tracker an.

Hier findest du Informationen zu weiterführende Details:

Unter Netzstruktur wird dargestellt, wie die Struktur des Opennet aufgebaut ist. Dort ist auch ersichtlich, welchen Arten von Tunnel es gibt und warum das Netz genau so aufgebaut ist.

[Bearbeiten] Fehler und Wünsche

Dir ist ein Problem aufgefallen oder du hast einen ausgefallenen Wunsch? Übertrage deine Gedanken in den Bug-Tracker.

[Bearbeiten] Changelog

Änderungen der jeweiligen Versionen incl. bekannten Fehlern finden sich unter Opennet Firmware/Versionen.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge