Erweiterte Konfiguration

Hardware-Switch / VLANs

Sobald Ports am Edgerouter "verbunden" werden sollen, also das Gerät teilweise wie ein Switch funktionieren soll, sollte man dazu den "switch0" verwenden/konfigurieren. Auch wenn verschiedene "Portgruppen" gebildet werden sollen oder einer oder mehrere weitere Switches, ggf. mit verschiedenen VLANs, angebunden werden sollen empfiehlt sich der Weg über "switch0". Wie schon unter "Wichtig" erwähnt - bitte nur "switch0" verwenden und keine weiteren Switches/Bridges definieren (außer es lässt sich aus irgend einem Grund wirklich nicht vermeiden).

Ein beliebtes Setup ist zum Beispiel ein "flaches" Funkfeuer-Mesh-Netz auf 2-3 Ports des Edgerouters wo Antennen mit OLSR-Firmware angeschlossen werden während auf anderen Ports der Edgerouter selbst OLSR sprechen soll und dort jeweils nur ein "dummer" Sender angeschlossen wird - siehe entsprechender Abschnitt

Bevor man mit der Konfiguration beginnt sollte man sich den Netzwerkaufbau überlegen. Jedes separate "Netzwerk" bekommt eine eigene VLAN-ID. Die IDs selbst sind beliebige Zahlen im Bereich 0-4094. Will man VLANs geräteübergreifend nutzen (Trunk-Ports) so müssen die IDs entsprechend abgestimmt werden und auf den betroffenen Geräten übereinstimmen (zumindest sofern Trunk-Ports genutzt werden).
VLANs können auch ohne switch0 direkt auf anderen Netzwerkinterfaces definiert werden, sind dann jedoch natürlich nur auf dem jeweiligen Port verfügbar und können nicht mehrere Ports beeinhalten (außer z.B. mittels Bridge aber das will man nicht -> switch0 verwenden).

Wichtig zu wissen: Ein Interface, das Teil eines Switches ist, kann keine IP-Adressen haben und darf auch nicht als DHCP-Client konfiguriert werden. Da standardmäßig eth1 als DHCP-Client konfiguriert ist muss das zuerst über die eth1-Netzwerkkonfiguration abgeschaltet werden sonst lässt sich eth1 nicht dem Switch hinzufügen.
Weiters ist es empfehlenswert das Management-Interface (standardmäßig eth0) nicht gleich am Anfang einem Switch hinzuzufügen sonst sperrt man sich möglicherweise wunderbar selbst aus.

Obwohl man switch0 auch ohne VLAN-Unterstützung betreiben kann ist das nicht empfehlenswert - man nimmt sich sehr viel Flexibilität und wenn man das später ändern möchte muss man einiges umstellen.

Über "Actions" - "Config" bei "switch0" konfiguriert man nun switch0. Dem Switch selbst gibt man keine IP-Adresse, dafür aktiviert man unter "Vlan" "Vlan Aware - Enabled".
Für jedes notwendige VLAN fügt man nun im Dashboard mittels "Add Interface" - "Add VLAN" ein VLAN hinzu. Bei "Interface" ist switch0 zu wählen. Fügt man z.B. ein VLAN mit der ID 5 hinzu so wird ein virtuelles Netzwerkinterface mit dem Namen "switch0.5" erzeugt wo die weitere Konfiguration vorgenommen werden kann.

Hat man alle VLANs angelegt so kann man diese den jeweiligen Ports zuordnen. Dazu konfiguriert man bei switch0 unter VLAN die betreffenden Ports in den Switch.
"pvid" ist die VLAN-ID deren Pakete "nativ" (ohne VLAN-Tag) am jeweiligen Port auftauchen sollen und gleichzeitig die VLAN-ID, mit der eingehende Pakete getagged werden - quasi ein "Accessport" auf einem gewöhnlichen VLAN-fähigen Switch. Wird kein natives VLAN benötigt so kann das Feld leergelassen werden.
Unter "vid" kann eine Liste von auf dem jeweiligen Port "getaggten" VLANs angegeben werden (vergleichbar: Trunk-Port). Diese Liste ist mit einem Komma zu trennen.
So können nun einzelne Ports Switch-VLANs zugeordnet werden.

Am Ende könnte das folgendermaßen aussehen:
edgerouter-switch-vlans.png
Hier sind die Ports eth0, eth3 und eth4 als normale Access-Ports im VLAN mit der ID 1, d.h. der Edgerouter verhält sich auf diesen Ports wie ein normaler Switch und verwendet die IP-/Routingkonfiguration vom VLAN-Interface "switch0.1".
Am Port eth1 ist zusätzlich das VLAN 256 "getagged" verfügbar. An diesem Port ist ein Switch angeschlossen wo das VLAN 256 auf weiteren Ports verwendet wird.
Am Port eth2 ist ebenfalls ein Switch angeschlossen - dieser bekommt das VLAN 1 nicht, hat kein natives VLAN ("pvid" leer) sondern bekommt die VLANs 255-258 getagged übergeben.

OLSR für "dumme" Sender

Ein beliebter Anwendungsfall für EdgeRouter ist die Verbindung mit "dummen" Sendern für die der EdgeRouter OLSR sprechen soll. Das ermöglicht die Verwendung von Standard-Firmware auf den Sendern ohne dass hier herumgebastelt werden muss um einen Sender bzw. Link OLSR-fähig zu machen was speziell bei neueren Geräten (60GHz und Co) sehr interessant ist.
Dabei wird pro EdgeRouter-Netzwerksegment (Netzwerkport oder VLAN) nur ein Sender/Link angeschlossen. Dadurch wird verhindert dass Netzwerktraffic eines Links direkt in einem anderen Link landet und so OLSR nicht vorhanden Verbindungen sieht.
Um die Sender warten zu können (und OLSR über den Link zu kriegen) wird ein Management-Netz zwischen EdgeRouter und Sender eingezogen und per HNA announciert. In Graz haben wir dafür den IP-Bereich 10.12.210.0/23 (10.12.210.0-10.12.211.255) reserviert aus dem /30 Netze via ManMan für diese Verbindungen - pro Sender ein /30 Netz - vergeben werden.
Hier bietet es sich an die erste IP des Subnets dem EdgeRouter und die zweite (und letzte) IP-Adresse dem Sender zu geben. Empfohlen wird in ManMan das EdgeRouter-Interface nach dem Link zu benennen und das Interface des Senders "mgmt".
Am EdgeRouter muss am jeweiligen Netzwerk-Port bzw. VLAN die EdgeRouter-seitige IP konfiguriert werden. Am Sender die andere IP-Adresse, Gateway am Sender ist dann die IP-Adresse des EdgeRouters.
Danach muss dieses kleine Subnet als HNA im OLSRd am EdgeRouter eingetragen werden. Bitte beachten dass dazu die Netzwerkadresse mit der Prefixlänge als HNA einzutragen ist und nicht die IP-Adresse des EdgeRouters o.ä.
Nicht vergessen auch OLSR auf diesem Netzwerkinterface zu aktivieren (Interface-Checkbox auf der OLSRd-Wizard-Seite).

DHCP-Server

Unter "Services" - "DHCP Server" kann man den EdgeRouter als DHCP-Server für ein oder mehrere angeschlossene Netze konfigurieren.
Dazu über "Add DHCP Server" eine neue Serverkonfiguration anlegen.
Der Name kann frei vergeben werden. Beim Subnet ist die Netzadresse zusammen mit der Prefixlänge des jeweiligen Subnetzes anzugeben (z.B. "192.168.10.0/24"). Unter "Range Start" ist die erste zu vergebene IP Adresse und unter "Range Stop" die letzte zu vergebene IP-Adresse einzutragen. Werden diese Bereiche nicht eingetragen so vergibt der EdgeRouter nur statisch eingetragene DHCP-Leases. Unter "Router" wird die Gateway-IP-Adresse eingetragen - in den meisten Fällen sollte dies die IP-Adresse des EdgeRouters im jeweiligen Subnet sein. Bei DNS ist ein DNS-Server einzutragen - für Funkfeuer Graz z.B. "10.12.0.10".
Nach Speichern der neuen DHCP-Server-Konfiguration kann über "Actions" - "View Details" die Lease-Time verändert werden. Standardmäßig beträgt die Lease-Time 24 Stunden (86400 Sekunden). Unter "Static MAC/IP Mapping" können statische Mappings eingetragen werden.

LAN-Anbindung

Natürlich kann man den EdgeRouter auch an ein vorhandenes LAN anschließen. Wenn man schon ein vorhandenes Netzwerk mit Internetzugang hat ist zu beachten dass der EdgeRouter eine statische IP-Adresse und kein Gateway im LAN bekommt und der DHCP-Client nicht verwendet wird - sonst kann es sein dass die Defaultroute am Edgerouter auf den eigenen Internetzugang zeigt und Traffic aus dem Funkfeuer dorthin abbiegt. Das könnte man zwar über spezielle Routingregeln verhindern - aber einfacher ist eine statische IP-Konfiguration ohne lokalem Gateway.
Damit das lokale Netzwerk nicht für Funkfeuer erreichbar ist, ist das Einrichten von Firewallregeln stark zu empfehlen. Hierzu ist über "Firewall/NAT" - "Firewall Policies" - "Add Ruleset" ein neues Ruleset mit einer Standard-Accept-Policy anzulegen. Danach wird eine Drop-Regel für "All protocols" mit den States "Invalid" und "New" mit Destination des LAN-Netzwerks (z.B. "192.168.0.0/16") angelegt. Bei "Interfaces" wird diese Regel am LAN-Netzwerkinterface des EdgeRouters in der "out" Direction angewandt - schon können keine unerwünschten Pakete aus dem Funkfeuer mehr Richtung LAN abbiegen.
Um IPs im Funkfeuer aus dem LAN zu erreichen müssen die entsprechenden Netze auf die LAN-IP des EdgeRouters geroutet werden. Zusätzlich müssen am EdgeRouter unter "Firewall/NAT" - "NAT" entsprechende NAT-Regeln angelegt werden damit der Verkehr aus dem LAN auf eine gültige Funkfeuer-IP übersetzt wird. Das kann z.B. über eine NAT-Regel am Mesh-Interface mit Translation "Use Masquerade", "All protocols" und "Src Address" dem LAN-Netzwerk erfolgen.
Zu beachten ist dass je nach Konfiguration für jedes Funkfeuer-Interface am EdgeRouter eine eigene NAT-Regel angelegt werden muss.

Natürlich gibt es noch unzählige weitere Varianten ein lokales Netzwerk an die EdgeRouter-Lösung anzubinden und so den EdgeRouter z.B. als LAN-Gateway mit gleichzeitiger Funkfeuer-Anbindung zu verwenden. Das kann bis hin zu einem automatischen Failover zwischen einer kommerziellen Internetverbindung und Funkfeuer gehen.. und weiter.

UNMS

Über UNMS - "Ubiquiti Network Management System" - kann der EdgeRouter zentral verwaltet, überwacht und gesichert werden.
Dazu ist unter "System" - "UNMS Connection" die Funktion zu aktivieren und bei "UNMS key" der Connection-Key einzutragen - danach sollte sich der EdgeRouter beim UNMS melden und entsprechend administrierbar sein.