Hallo,

nachdem viele Sysops schon die Hardware von Ubiquiti angeschafft haben, habe ich die Software bzgl. der Routingfunktionalitaet genauer unter die Lupe genommen. Als Hardwareplattform standen drei Ubiquiti NanoStation M5 zurVerfuegung. Innerhalb des AS 64635 mit den Netzen BB 44.130.239.0/24 und USER-/SERVICE 44.130.196.0/23 sollte ein Standort mit 2 NanoStations und eine Nanostation als Gegenstation implementiert werden (Linkstrecke).

Zunaechst wurde eine neue Firmware auf die Nanostations aufgespielt, da im Urzustand kein Routingdaemon fuer BGP4 implementiert ist. Ein neues Firmwareimage nach http://dren.dk/airos-plus.html (incl. BIRD) wurde erstellt und geflasht.

Die Wirelesstrecke wurde mit 10MHz Bandbreite und als Accesspoint mit WDS konfiguriert. Als WDS-Partner wurde nur die Partnerstation eingetragen. Es ist noch zu klaeren, ob der Zugriff tatsaechlich nur durch die eingetragenen WDS-Partner erfolgen kann. Evtl. muss hier zusaetzlich mit der ACL (Access Control List) gearbeitet werden.

Die Weboberflaeche reicht aus, um die Wireless-Strecke zu konfigurieren. Das Netzwerksetup hingegen ist nur rudimentaer konfigurierbar. Zunaechst wurde ueber die Oberflaeche die Bridge getrennt und “Router” aktiviert. Dies trennt zwar WLAN und LAN, aber die beiden Ethernetports konnten dennoch nicht einzeln angesprochen werden (Trennung von User-/Service- und Backbonenetz!).

Ueber SSH kann man auf die Oberflaeche des OpenWRT-basierten Betriebsystems AirOS. Auf das Filesystem kann nicht geschrieben werden. Lediglich das Verzeichnis /etc/persistent kann fuer Konfigurationsdateien genutzt werden. Wir haben die notwendigen Befehle zur Konfiguration in die Datei /etc/persistent/rc.poststart geschrieben und mit “cfgmtd -w -p /etc/” in das Flash geschrieben.

Die Hardwareverkabelung sieht so aus:

 D-Star-GW
   |
   |
--------------
| eth0  eth1 |
| STATION 3  | STANDORT 2
|    ath0    |
--------------
      ^
     Funk
      | 
--------------            -------------
|    ath0    |            |   ath0    |
| STATION 1  | STANDORT 1 | STATION 2 |
| eth0  eth1 |            | eth1 eth0 |
--------------            -------------
   |     |                    |   |
   |     ^--------------------^   |
   |                              |
Internet                        Server

Subnetting des zugewiesenen Bereichs fuer AS 64635:

User-/Servicenetz STANDORT 1: 44.130.196.0/28
User-/Servicenetz STANDORT 2: 44.130.196.128/28
Backbonenetz STANDORT 1 & 2: 44.130.239.0/28

STATION 1 (USER/SERVICE: 44.130.196.1 BACKBONE: 44.130.239.1)

eth0: IP-Konfiguration des Internetproviders
eth1: User-/Servicenetz und Backbonenetz muss anliegen! Konflikt!
ath0: Backbonenetz muss anliegen

STATION 2 (USER/SERVICE: 44.130.196.2 BACKBONE: 44.130.239.2)

eth0: User-/Servicenetz muss anliegen
eth1: User-/Servicenetz und Backbonenetz muss anliegen! Konflikt!
ath0: Backbonenetz muss anliegen

STATION 3 (USER/SERVICE: 44.130.196.129 BACKBONE: 44.130.239.3)

eth0: User-/Servicenetz muss anliegen
eth1: Backbonenetz muss anliegen
ath0: Backbonenetz muss anliegen

SERVER (USER/SERVICE: 44.130.196.3)

eth0: User-/Servicenetz muss anliegen

In /etc/persistent/rc.poststart koennen nun die notwendigen Befehle zur Konfiguration eingepflegt werden:

STATION 1:
# "eth0_real" und "eth1_real" sind in der Bridge "eth0" zusammengefasst
# Zunaechst das Interface herunterfahren
ifconfig eth0 down
# Die Bridge loeschen
brctl delbr eth0
# Daten vom Internetserviceprovider fuer "eth0_real" eintragen und
# Defaultgateway setzen
ifconfig eth0_real 192.168.0.221 netmask 255.255.255.0 broadcast 192.168.0.255
route add default gw 192.168.0.254
# Usernetz auf "eth1_real" setzen
ifconfig eth1_real 44.130.196.1 netmask 255.255.255.240 broadcast 44.130.196.15

# Konfliktloesung: Trennung von USER/SERVICE und BACKBONE auf "eth1_real"
# durch Einsatz von VLAN-Technik (virtual LAN)
# IP-Adresse von "ath0" loeschen
ifconfig ath0 0.0.0.0
# "ath0" zur neuen Bridge "br0" fuer das Backbonenetz hinzufuegen
brctl addbr br0
brctl addif br0 ath0
# Virtuelles LAN mit der VLAN-ID 1 auf "eth1_real" erstellen
vconfig add eth1_real 1
ifconfig eth1_real.1 up
# Virtuelles LAN der Bridge "br0" hinzufuegen
brctl addif br0 eth1_real.1
# Backbonenetzwerk auf der Bridge "br0" aktivieren
ifconfig br0 44.130.239.1 netmask 255.255.255.240 broadcast 44.130.239.15
STATION 2:
# "eth0_real" und "eth1_real" sind in der Bridge "eth0" zusammengefasst
# Zunaechst das Interface herunterfahren
ifconfig eth0 down
# Die Bridge loeschen
brctl delbr eth0
# "eth0_real" und "eth1_real" zur neuen Bridge "br1" fuer das
# User-/Servicenetz hinzufuegen
brctl addbr br1
brctl addif br1 eth0_real
brctl addif br1 eth1_real
# User-/Servicenetz auf der Bridge "br1" aktivieren
ifconfig br1 44.130.196.2 netmask 255.255.255.240 broadcast 44.130.196.15

# Konfliktloesung: Trennung von USER/SERVICE und BACKBONE auf "br1" durch
# Einsatz von VLAN-Technik (virtual LAN)
# IP-Adresse von "ath0" loeschen
ifconfig ath0 0.0.0.0
# "ath0" zur neuen Bridge "br0" fuer das Backbonenetz hinzufuegen
brctl addbr br0
brctl addif br0 ath0
# Achtung: "eth1_real" kann nicht direkt angesprochen werden, da
# das Interface bereits an die Bridge "br1" gebunden ist. Daher:
# Virtuelles LAN mit der VLAN-ID 1 auf "br1" erstellen
vconfig add br1 1
ifconfig br1.1 up
# Virtuelles LAN der Bridge "br0" hinzufuegen
brctl addif br0 br1.1
# Backbonenetzwerk auf der Bridge "br0" aktivieren
ifconfig br0 44.130.239.2 netmask 255.255.255.240 broadcast 44.130.239.15
# Defaultroute zum Internet setzen
route add default gw 44.130.239.1
STATION 3:
# "eth0_real" und "eth1_real" sind in der Bridge "eth0" zusammengefasst
# Zunaechst das Interface herunterfahren
ifconfig eth0 down
# Die Bridge loeschen
brctl delbr eth0
# User-/Servicenetz auf "eth0_real" aktivieren
ifconfig eth0_real 44.130.196.129 netmask 255.255.255.240 broadcast 44.130.196.143
# Defaultroute zum Internet setzen
route add default gw 44.130.239.1

# IP-Adresse von "ath0" loeschen
ifconfig ath0 0.0.0.0
# "ath0" und "eth1_real" zur neuen Bridge "br0" fuer das Backbonenetz
# hinzufuegen
brctl addbr br0
brctl addif br0 ath0
brctl addif br0 eth1_real
# Backbonenetzwerk auf der Bridge "br0" aktivieren
ifconfig br0 44.130.239.3 netmask 255.255.255.240 broadcast 44.130.239.15

Leider konnten wir aufgrund von Terminproblemen das Testsetup nicht abschliessen. Mindestens folgende Puntke sind noch offen:

  1. BGP4-Konfiguration (bisheriger Workaround: statische Routen)
  2. NAT-Konfiguration zum Internet und Portmapping fuer interne Dienste
  3. Absicherung der Funkstrecke durch Freigabe der Partner-MAC-Adresse (Kontrolle)
  4. DHCP-Daemon fuer User und DHCP-Client fuer LAN (Internet provider)

Leider kann man sich durch Falscheingaben im “rc.poststart”-Skript sehr schnell selber aus dem System aussperren. Ein Fail-Safe-Modus kann durch druecken eine Knopfes an der Hardware erledigt werden (schlecht, wenn das Ding irgendwo am Mast haengt).

Wie auf der IPRT 2010 bereits angesprochen empfehle ich fuer den Einstieg die Mikrotik-Hardware als Router. An manchen Standorten wird bereits eine Mischkonfiguration gefahren. Dabei kommt ein reines Routerboard ohne WLAN-Ports von Mikrotik zum Einsatz und mehrere Ubiquiti-WLAN-Geraete fuer die HF-Strecken, welche an das Routerboard angeschlossen werden (z.B. Bullet).

73, Jann