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 basiert auf dem Software-Development-Kit für AirOS 5.2.1 (bzw. auf dem SDK für AirOS 5.3.3)
und enthält forgende Erweiterungen:
- olsr v 0.6.2 (+httpinfo, +txtinfo, +nameservice, ondataservice) - openvpn (+openssl) - tcpdump - arp - mtr - bwm
Die Aktualisierung der Opennet-Anpassung auf SDK AirOS 5.3.3 sollte nur erfolgen, wenn das Gerät mit keiner anderen Software läuft. Es gibt bei dieser Version offenbar Probleme mit PoE-Passtrough, die zur Zerstörung des Geräts führen können.
Download
Datum | Software | Größe | Anmerkungen |
---|---|---|---|
2.11.2011 | XM.v5.2.1_opennet0.5 | 6,5M | aktuelle Version mit User-OpenVPN und Usergateway-Funktion |
2.11.2011 | XM.v5.3.3_opennet0.5 | 6,9M | Version basierend auf AirOS 5.3.3, mit User-OpenVPN und Usergateway-Funktion ACHTUNG: PoE kann das device töten! |
13.07.2011 | XM.v5.2.1_opennet0.4 | 6,5M | aktuelle Version mit User-OpenVPN und Usergateway-Funktion |
4.09.2011 | XM.v5.3.3_opennet0.4 | 6,9M | Version basierend auf AirOS 5.3.3, mit User-OpenVPN und Usergateway-Funktion. ACHTUNG: PoE kann das device töten! |
22.06.2011 | XM.v5.2.1_opennet0.3 | 6,5M | funktioniert als Router, nicht als OpenVPN Node |
|
|
|
zurückgezogen wegen PoE-Problemen, vgl. [1]. zusätzlich Routing-Probleme, nicht benutzen und AP aktualisieren |
|
|
|
zurückgezogen wegen PoE-Problemen, vgl. [2]. |
8.09.2010 | XM.v5.2_opennet0.1 | 6MB | obsolet wegen Ubiquiti-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. 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
Software-Development-Kit für AirOS 5.2.1 herunterladen und entpacken.
In den Ordner openwrt wechseln
Feeds aktualisieren und Software installieren...
./scripts/feeds update ./scripts/feeds install olsrd ./scripts/feeds install bwm ./scripts/feeds install mtr ./scripts/feeds install tcpdump ./scripts/feeds install openvpn ./scripts/feeds install ethtool ./scripts/feeds install libsqlite3
OpenWRT / AirOS per "make menuconfig" configurieren (vgl. oder nutze .config) Zusätzliche Dateien im Verzeichnis files hinterlegen (vgl. files.tgz). OLSR mit aktuellster Version ersetzen:
#> cd feeds/packages/net #> rm -rf olsrd #> wget http://www.absorb.it/software/opennet/XM.v5.2.1_opennet0.5/olsrd.tgz #> tar xfz olsrd.tgz #> cd ../../..
Kernel-Config (unter target/linux/ar71xx) durch veränderte mit Policy-Routing ersetzen (vgl. config-2.6.15).
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.