AirOS-opennet
Inhaltsverzeichnis |
AirOS Opennet-Anpassung
AirOS ist das Betriebssystem der Ubiquiti-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 wurde basierend auf SDK.UBNT.v5.2.1.tar.bz2, SDK.UBNT.v5.3.3.tar.bz2 und SDK.UBNT.v5.5.tar.bz2 gebaut. Die Anpassungen für Opennet sind bei allen drei Versionen gleich, diese unterscheiden sich nur in den zugrunde liegenden Firmware-Versionen von Ubiquity.
Die Opennet-Versionen enthalten folgende Erweiterungen:
- olsr v 0.6.3 (+httpinfo, +txtinfo, +nameservice, +ondataservice) - aktueller uci - openvpn (+openssl) - tcpdump - arp - mtr - bwm
Download
Datum | Software | buildfiles | Anmerkungen |
---|---|---|---|
11.01.2013 | XM.v5.5_opennet0.6 | opennet_0.6.tgz | Version basierend auf AirOS SDK 5.5, mit User-OpenVPN und Usergateway-Funktion |
10.01.2013 | XM.v5.3.3_opennet0.6 | opennet_0.6.tgz | Version basierend auf AirOS SDK 5.3.3, mit User-OpenVPN und Usergateway-Funktion |
10.01.2013 | XM.v5.2.1_opennet0.6 | opennet_0.6.tgz | Version basierend auf AirOS SDK 5.2.1, mit User-OpenVPN und Usergateway-Funktion |
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. Ubiquiti-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
- firmware-image runterladen
- reset-Button drücken und gedrückt halten, dann mit Strom versorgen
- reset-Button gedrückt halten, ca. 10 Sekunden warten bis signal-LEDs rot, orange, grün1, grün2 nacheinander aufleuchten, dann reset loslassen (wenn es geht, weil du noch keinen krampf in der hand hast ;)
- jetzt sollten rot+grün1 und orange+grün2 abwechselnd aufleuchten
- gib der Netzwerkkarte, an dem die station hängt eine neue IP-Adresse
#> ifconfig eth0 192.168.1.22
- firmware aufspielen:
#> atftp 192.168.1.20 tftp> binary tftp> trace tftp> put XM.v5.2.1_opennet0.4.sdk.6359.110713.1704.bin tftp> quit #>
- bei der Nanostation M5 dauert das kopieren ca. 5 Sekunden, daraufhin leuchten rot und grün2 knappe 20 Sekunden, danach startet sie neu und ist einsatzbereit
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
Update von Versionen vor XX_opennet0.3
Am besten vor dem Update auf dem Accesspoint per ssh verbinden und die Dateien unter /etc/persistent entfernen (ACHTUNG: dort liegen auch die OpenVPN-keys, also vorher sichern)
- per ssh mit dem Router verbinden, dann
#> cd /usr/etc/persistent #> rm -rf * #> cfgmtd -p /etc -w
- nun NICHT NEU STARTEN
- über das Webfrontend neue AirOS-Opennet-Anpassung einspielen
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 Adressierungsschema)
- 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)
Client-Isolation
Standardmäßig ist die "Client-Isolation" abgeschaltet, d.h. dass der Router jedes eingehende Paket unbesehen an alle anderen Wireless-Teilnehmer weiterverteilt. Dies führt im Allgemeinen zu einer Halbierung der Bandbreite. Insofern: einfach im Fenster Advanced den Haken bei Enable Client Isolation setzen. Dies ist nur beim Master einer Verbindung notwendig bzw. möglich.
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) und OpenVPN
- 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 oder #> /etc/init.d/openvpn start
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) und Usergateways
- 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
# das entsprechende SDK von Ubiquity besorgen und entpacken. tar xfj SDK.UBNT.v5.2.1.tar.bz2 # ins build-Verzeichnis wechseln und die entsprechenden buildfiles (siehe Tabelle oben) direkt im build-Verzeichnis entpacken cd SDK.UBNT.v5.2.1/openwrt tar xfz Downloads/opennet_0.6.tgz # Umgebung vorbereiten: ./opennet_0.6/prepare.sh # firmware bauen make V=99
Wenn alles gut geht liegt das fertige Image im Verzeichnis bin
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.