AirOS-opennet
Inhaltsverzeichnis |
AirOS Opennet-Anpassung
AirOS ist das Betriebssystem der Ubiquity-Geräte, welches auf OpenWRT basiert. Für einen Einsatz im Opennet fehlt etwas Software, darum wurde AirOS für opennet um einige Pakete erweitert.
aktuelle Version
Die aktuelle Version basiert auf dem Software-Development-Kit für AirOS 5.3 und enthält forgende Erweiterungen:
- olsr v 0.6.1-git_-hash_f4ef98a77b9c81dc2b11dde3e622ffaa (+httpinfo, +txtinfo, +nameservice) - openvpn (+openssl) - tcpdump - arp - mtr
Download
Datum | Software | Größe | Anmerkungen |
---|---|---|---|
04.06.2011 | XM.v5.3_opennet0.3 | 6,9M | aktuelle Version mit User-OpenVPN und Usergateway-Funktion |
21.04.2011 | XM.v5.3_opennet0.2 | 6,8M | Version ohne OpenVPN und Usergateway-Funktion, weiterhin stabil für Opennet-Router |
8.09.2010 | XM.v5.2_opennet0.1 | 6MB | obsolet wegen Ubiquity-Basis 5.2, läuft aber stabil |
Firmware-Update per Webfrontend
Die Opennet-Anpassung kann ganz normal über das Webfrontend der Original-Firmware eingespielt werden. Einfach im System-Tab, "Update" ganz unten im Device-Management Bereich wählen. Ubiquity-Geräte mit AirOS sind per default unter der addresse http://192.168.1.20 erreichbar, der default username ist 'ubnt', das passwort ebenso.
Firmware-Update per tftp
- reset-Button drücken, Router mit Strom versorgen
- reset-Button gedrückt halten, bis signal-LEDs abwechselnd blinken
- firmware aufspielen:
#> ifconfig eth0 192.168.1.22 #> atftp 192.168.1.20 tftp> put XM.v5.3_opennet0.3.sdk.7782.110604.0652.bin tftp> quit #>
Zugriff auf Router
- nach Neustart evtl Netzwerk erneut konfigurieren
#> ifconfig eth0 192.168.1.22
- Router ist auf 192.168.1.20 erreichbar, alle Interfaces arbeiten mit OLSR
- OLSR-Info unter RouterAdresse Port 8080, also 192.168.1.20:8080
Konfiguration als Opennet-Router
Netzwerk-Konfiguration
ein Opennet-Router hat alle Interfaces im Opennet und vermittelt Pakete zwischen diesen Interfaces. Auf allen Interfaces läuft OLSR, lokale Interfaces oder WAN-Interfaces existieren nicht.
- (ID = IP-Adresse reservieren, bspw. ID 1.42, IP 192.168.1.42)
- "Network-Mode: Router" auswählen
- "WLAN IP Address: static" auswählen
- Adresse: 192.168.1.42
- Netmask: 255.255.0.0
- Gateway IP: 192.168.0.254 (ohne will AirOS nicht)
- Primary DNS IP: 192.168.0.254 (ohne will AirOS nicht)
- "LAN IP Address: static" auswählen
- Adresse: 192.168.11.42 (WLAN-IP + 10.0 nach Opennet-Schema)
- Netmask: 255.255.0.0
- Enable NAT: deaktiviert
- Auto IP Aliasing: deaktiviert
Einstellungen übernehmen, der Router ist nun über die neue IP erreichbar.
Wireless-Konfiguration
- Wireless-Mode auf Access Point oder Station, je nach setup
- SSID anpassen
- Country Code auf Germany stellen
- DFS deaktivieren
- bei Access Point-Modus Channel Width auf "20 MHz"
- Frequenz festlegen
Einstellungen übernehmen
Nutzer-Konfiguration
System-TAB auswählen
- "Administrator Username" ändern in 'root', passwort ändern (auf Lupe klicken)
OLSR-Konfiguration
Eigentlich ist die Konfiguration nun bereits abgeschlossen. Dennoch kann es sein, das der Access-Point nun im Opennet mit der falschen Main-IP unterwegs ist. Also hier bspw. mit 192.168.11.42 statt mit 192.168.1.42. Im Ergebnis wird der Access-Point bspw. nicht richtig auf Opennet-Karten dargestellt. Die Zuordnung der Main-IP erfolgt dynamisch, kann aber abhängig von den Verzögerungen beim WLAN-Aufbau nicht direkt auf ein Interface festgelegt werden. Darum am besten wie folgt vorgehen:
- per ssh mit dem Router verbinden, dann
#> cd /etc/persistent #> vi olsrd.conf
- nun die Datei ändern und die gewünschte MainIP eintragen (am Anfang der Zeile das # entfernen)
- drücke 'i' zum editieren
- danach 'Esc' um edit-Modus zu verlassen, ':x' um zu sichern und den Editor zu verlassen
- Konfiguration permanent sichern:
#> cfgmtd -p /etc -w
- neu starten
OpenVPN-Konfiguration
(vergleiche auch /etc/persistent/readme.txt auf dem Router)
- Netzwerkschnittstellen konfigurieren, LAN natürlich nicht als Teil von Opennet
- bspw. LAN-IP 172.16.0.1, LAN-NETMASK 255.255.255.0
- olsr.conf anpassen
- per ssh mit Router verbinden
- im Verzeichnis /etc/persistent die Datei olsrd.conf editieren
- LAN-device aus der Liste der OLSR-Interfaces nehmen
- MainIP anpassen
- OpenVPN-Schlüssel und OpenVPN-Zertifikat nach /etc/persistent/opennet_user/ kopieren
- /etc/persistent/lan.conf anpassen
- Konfiguration speichern
- #> cfgmtd -p /etc -w
- Neustart des Routers
Konfiguration und Auswahl der Gateways
- per ssh mit dem Router verbinden
- Befehl zur VPN-Verwaltung: #> vpn_status
- Achtung: vpn_status ist nicht robust gegen Fehleingaben
Usergateway-Konfiguration
(vergleiche auch /etc/persistent/readme.txt auf dem Router)
- Netzwerkschnittstellen konfigurieren, WAN natürlich nicht als Teil von Opennet
- bspw. WAN-IP per DHCP
- olsr.conf anpassen
- per ssh mit Router verbinden
- im Verzeichnis /etc/persistent die Datei olsrd.conf editieren
- WAN-device aus der Liste der OLSR-Interfaces nehmen
- Interfaces "tap0" and "tap1" hinzufügen
- MainIP anpassen
- OpenVPN-Usergateway-Schlüssel und OpenVPN-Usergateway-Zertifikat nach /etc/persistent/opennet_ugw/ kopieren
- /etc/persistent/wan.conf anpassen
- Konfiguration speichern
- #> cfgmtd -p /etc -w
- Neustart des Routers
Konfiguration der Internet-Freigabe
- per ssh mit dem Router verbinden
- Befehl zur ugw-Verwaltung: #> ugw_status
- Achtung: ugw_status ist nicht robust gegen Fehleingaben
- "ugw_status checkWAN" und "ugw_status checkMTU" müssen vor Nutzung des Usergateways ausgeführt werden
- "ugw_status checkWAN" wird automatisch alle 5 Minuten ausgeführt
- "ugw_status checkMTU" wird automatisch jede Stunde ausgeführt
- soll Aktivierung und Status (WAN, MTU) über Neustart gesichert werden, wieder Konfiguration speichern
- #> cfgmtd -p /etc -w
Eigenbau AirOS Opennet-Anpassung
dieser Teil ist nicht aktuell, wird noch aktualisiert wenn Rene wieder in Rostock ist
Software-Development-Kit für AirOS 5.2 herunterladen und entpacken.
In den Ordner openwrt wechseln und die Konfiguration der feeds bearbeiten (diese ist im SDK fehlerhaft), bspw.
cat "src-svn packages svn://svn.openwrt.org/openwrt/branches/packages_8.09 svn://svn.openwrt.org/openwrt/packages" > feeds.conf.default
Feeds aktualisieren und Software installieren...
./scripts/feeds update ./scripts/feeds install olsrd ./scripts/feeds install bwm ./scripts/feeds install tcpdump
OpenWRT / AirOS per "make menuconfig" configurieren (vgl. .config) Zusätzliche Dateien im Verzeichnis files hinterlegen (vgl. files.tgz). Alles per make bauen, fertig.
AirOS von Drittanbietern
Unter Ninux.org findet sich eine AirOS-Anpassung mit integriertem olsrd 0.6.0, welche übers Webinterface konfiguriert werden kann. Auch wenn ein Einsatz dieser Software prinzipiell möglich ist, sollte sichergestellt werden, dass nach einer Installation das httpinfo-Interface auf port 8080 erreichbar ist, damit olsr-Daten auch ohne login in das Webinterface abgefragt werden können.