Hardware/Router/EdgeRouter X-SFP: Unterschied zwischen den Versionen

Aus FunkFeuer Wiki
Zur Navigation springen Zur Suche springen
K (Damadmai verschob die Seite Hardware/EdgeRouter X-SFP nach Hardware/Router/EdgeRouter X-SFP, ohne dabei eine Weiterleitung anzulegen: Aufteilung Router / Antenne)
(59 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 14: Zeile 14:
|switch=Ja
|switch=Ja
|wifi=Nein
|wifi=Nein
|firmware=Original, [https://downloads.lede-project.org/releases/17.01.0/targets/ramips/mt7621/lede-17.01.0-r3205-59508e3-ramips-mt7621-ubnt-erx-squashfs-sysupgrade.tar LEDE 17.01]
|firmware=Original, OpenWrt 21.02.1]
|flashmethod=Web
|flashmethod=Web
|flashguide=[https://dl.ubnt.com/guides/edgemax/EdgeOS_UG.pdf Beschreibung Original-FW]
|flashguide=[https://dl.ubnt.com/guides/edgemax/EdgeOS_UG.pdf Beschreibung Original-FW]
|configguide=[https://github.com/pocki80/ER-wizard-Setup0xFF/releases Setup0xFF-Wizard], [http://srv1.duer9.wien.funkfeuer.at/files/dokumente/anleitungen/Funkfeuer-EdgeRouterEdgePointSetup.pdf Konfiguration Original-FW]
|configguide=[https://github.com/pocki80/ER-wizard-Setup0xFF/releases Setup0xFF-Wizard], [[:Datei:Funkfeuer_-_EdgeRouter_Setup_Konfiguration.pdf|manuelle Konfiguration]]
|antenna=Nein
|antenna=Nein
|OlsrCapable=v1&v2
}}
}}


== Allgemeines zum Gerät ==
== Allgemeines zum Gerät ==


Die SFP-Version des EdgeRouter X bietet auf allen fünf Ethernet-Ports PoE (passiv, 24 V, Gigabit). Das ermöglicht den Betrieb aktiver Antennen ohne zusätzliche Spannungsversorgung. Wichtig ist hierbei nur, vorher die PoE-Kompatibilität zu testen: Im Gegensatz zu älteren 100 Mbit/s-Ports, wo die ungenutzten Adernpaare für PoE verwendet wurden, wird bei Gigabit-Ethernet Phantomspeisung verwendet, da alle vier Adernpaare für Datenübertragung genutzt werden. Das Netzteil leistet ca. 60 W, davon muss der Eigenbedarf des Routers subtrahiert werden, um auf das verfügbare Power-Budget zu kommen.
Die [https://de.wikipedia.org/wiki/Small_Form-factor_Pluggable SFP]-Version des [[Hardware/EdgeRouter_X|EdgeRouter X]] bietet auf allen fünf Gigabit-Ethernet-Ports [[Hardware/PoE#passive_PoE|passive PoE]]. Das ermöglicht den Betrieb aktiver Antennen ohne zusätzliche Spannungsversorgung. Das mitgelieferte Netzteil mit Hohlstecker liefert 24V 2,5A, der Router benötigt etwa. 80mA. Entgegen der Produktbeschreibung kann er auch über passive PoE am ersten Ethernet-Port versorgt werden.
Für Einsatz im Freien gibt es die [[Hardware/EdgePoint_R6|EdgePoint R6]] Variante. Achtung: Der Router akzeptiert auch wirklich '''NUR 24V passiv''' über PoE-In ([https://dl.ubnt.com/datasheets/edgemax/EdgeRouter_X_DS.pdf Quelle1] bzw. [https://dl.ubnt.com/qsg/ER-X-SFP/ER-X-SFP_DE.html Quelle2])


== Betrieb mit Original-Firmware==
== Betrieb mit Original-Firmware==
Zeile 31: Zeile 33:


=== Initiales Konfigurieren ===
=== Initiales Konfigurieren ===
Eine [http://srv1.duer9.wien.funkfeuer.at/files/dokumente/anleitungen/Funkfeuer-EdgeRouterEdgePointSetup.pdf detailierte Beschreibung] findet sich im PDF (siehe Seitenblock). (bzw. [https://docs.google.com/document/d/1y7KcfKrEYzSZuzNBfZSpbTo9SWL0msXNPH45qkIlsfo Google Docs])
Grob zusammengefasst ist folgendes zu tun:
; Schritte zur Konfiguration der Original-Firmware
; Schritte zur Konfiguration der Original-Firmware
* [https://community.ubnt.com/t5/EdgeMAX-Updates-Blog/EdgeMAX-EdgeRouter-X-X-SFP-bootloader-update/ba-p/1472216 Bootloaderupdate] [https://community.ubnt.com/t5/EdgeMAX/EdgeRouter-X-X-SFP-check-bootloader-version/td-p/1617287 prüfen]. Nur auf ER-X / ER-X-SFP aktualisieren (NICHT EdgePoint EP-R6!!!)
* Aktuellstes [https://help.ubnt.com/hc/en-us/articles/205146110-EdgeRouter-How-to-Upgrade-the-EdgeOS-Firmware Firmware Upgrade einspielen] und danach auf Werkseinstellungen reseten ([https://help.ubnt.com/hc/en-us/articles/205202620-EdgeRouter-Reset-to-Factory-Defaults Hardware Reset] mit Reset-Taster am Router! Bei Software Reset per CLI/GUI wird nur die Startup-Config zurück gesetzt. Ab EdgeOS 2.0.6 mit aktuellem Bootloader muss man den Reset Knopf rechtzeitig (nachdem eth4 nach schnellem und dann langsamen Blinken aus geht) loslassen, damit der Reset durchgeführt wird, ansonsten geht der Router in den TFTP flash Modus.)
* [https://community.ubnt.com/t5/EdgeMAX-Updates-Blog/EdgeMAX-EdgeRouter-X-X-SFP-bootloader-update/ba-p/1472216 Bootloaderupdate] [https://community.ubnt.com/t5/EdgeMAX/EdgeRouter-X-X-SFP-check-bootloader-version/td-p/1617287 prüfen]. Nur auf ER-X / ER-X-SFP aktualisieren (NICHT EdgePoint EP-R6!!!) - könnte in einer aktuellen Firmware-Version bereits enthalten sein. Nach dem ersten Reboot mit der neuen Firmware-Version ggf. noch ein zweites Mal rebooten, um das Bootloader-Update wirksam zu machen. Der CLI-Command "show system boot-image" gibt Auskunft über den Zustand.
* Firmwareupdate auf [https://www.ubnt.com/download/edgemax/edgerouter-x aktuelle EdgeOS-Version]
* Firmwareupdate auf [https://www.ubnt.com/download/edgemax/edgerouter-x aktuelle EdgeOS-Version]
* Entweder Simple-Way - Pre-Config-Tool
* Einfache Methode - (falls es Probleme gibt, bitte bei @pocki melden)
** [https://github.com/pocki80/ER-wizard-Setup0xFF/releases Setup0xFF] - Wizard installieren
** [https://github.com/pocki80/ER-wizard-Setup0xFF/releases Setup0xFF] - Wizard installieren
** Die paar Felder ausfüllen und Apply klicken, fertig
** Notwendige Daten eintragen, Apply klicken & warten bis alles automatisch konfiguriert ist.
* ...oder Custom-Way - Schritte zur Konfiguration der Original-Firmware
* ...oder manueller Methode - [[:Datei:Funkfeuer_-_EdgeRouter_Setup_Konfiguration.pdf|Schritte zur Konfiguration]] der Original-Firmware (bzw. [https://docs.google.com/document/d/1y7KcfKrEYzSZuzNBfZSpbTo9SWL0msXNPH45qkIlsfo Google Docs])
** Anlegen Bridge-Interface mit public 0xFF-IPv4-Adresse
** Anlegen Bridge-Interface mit public 0xFF-IPv4-Adresse
** Anlegen Management-VLAN 1100 mit interner 10-er IP, NAT/masquerade (evtl. Portforwarding)
** Anlegen Management-VLAN 1100 mit interner 10-er IP, NAT/masquerade (evtl. Portforwarding)
Zeile 50: Zeile 50:
* [https://github.com/pocki80/ER-wizard-OLSRd_V2/releases OLSRd_V2]
* [https://github.com/pocki80/ER-wizard-OLSRd_V2/releases OLSRd_V2]
* [https://github.com/pocki80/ER-wizard-0xFF-WSLE/releases LetsEncrypt, BMK-Webstatus]
* [https://github.com/pocki80/ER-wizard-0xFF-WSLE/releases LetsEncrypt, BMK-Webstatus]
* [[Benutzer:Pocki#EdgeRouter-Wizards_und_Code|Übersicht & weitere Wizards]]'''
=== Known Issues ===
* In der VLAN-Config scheinen die ID des Eintrags und die VLAN-ID übereinstimmen zu müssen. Außerdem scheint es einen Reboot für das Übernehmen der VLAN zu brauchen.
* Manchmal "verschwinden" Interfaces, ersichtlich an schwarzem Symbol oben in der Mitte auf der Weboberfläche, dies kann behoben werden, indem bei der Config das Interface manuell wieder hinzugefügt wird. VLANs und Bridges müssen ebenso wieder konfiguriert werden.
== Betrieb mit OpenWrt ==
Der Router kann alternativ zur Original-(Ubiquiti-)-Firmware mit [https://openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka OpenWrt] betrieben werden. Ein paar Unterschiede, die die Entscheidung erleichtern können:


== Betrieb mit LEDE ==
* Die Original-FW hat einen Wizard für OLSR, das fehlt in OpenWrt bisher
* Man kann mit der Original-FW PoE ein- und ausschalten, das funktioniert in OpenWrt bisher nur über die Kommandozeile
* Mit OpenWrt sind sämliche OpenWrt-Pakete nutzbar
* OpenWrt ist im Gegensatz zur Original-FW open source, das heißt, die Community kann laufend Verbesserungen vornehmen (und tut das auch)
* Der EdgeRouter X(-SFP) wird offiziell von OpenWrt unterstützt, das heißt, es gibt laufend fertige Firmware zum Download
* [[Projekte/v642/IPv4_Support|4-in-6]] funktioniert momentan mit der Original-FW nicht brauchbar, das Kernel-Modul verpackt die IPv4-Pakete doppelt und fehlerhaft. Wer 4-in-6 nutzen möchte, ist mit OpenWrt besser beraten, oder verwendet zusätzlich OLSRv1 für IPv4 mit der Original-FW.


Der Router kann alternativ zur Original-(Ubiquiti-)-Firmware mit LEDE betrieben werden. Ein paar Unterschiede, die die Entscheidung erleichtern können:
=== Initiales Flashen von OpenWrt ===


* Die Original-FW hat einen Wizard für OLSR, das fehlt in LEDE bisher
Damit es möglich ist bei Problemen mit der Firmware ein [https://help.ubnt.com/hc/en-us/articles/360019289113 TFTP Recovery] durchführen zu können, ist es Empfehlenswert EdgeOS 2.0.6 zu flashen und dann den Bootloader zu aktualisieren, siehe [https://help.ui.com/hc/en-us/articles/360009932554-EdgeRouter-How-to-Update-the-Bootloader How to Update the Bootloader]
* Man kann mit der Original-FW PoE ein- und ausschalten, das funktioniert in LEDE bisher nur über die Kommandozeile
* Mit LEDE sind sämliche OpenWRT/LEDE-Pakete nutzbar
* LEDE ist im Gegensatz zur Original-FW open source, das heißt, die Community kann laufend Verbesserungen vornehmen (und tut das auch)
* Der EdgeRouter X(-SFP) wird offiziell von LEDE unterstützt, das heißt, es gibt laufend fertige Firmware zum Download
* [[Projekte/v642/IPv4_Support|4-in-6]] funktioniert momentan mit der Original-FW nicht brauchbar, das Kernel-Modul verpackt die IPv4-Pakete doppelt und fehlerhaft. Wer 4-in-6 nutzen möchte, ist mit LEDE besser beraten, oder verwendet zusätzlich OLSRv1 für IPv4 mit der Original-FW.
* Das initiale Flashen mit LEDE ist etwas umständlich, es muss dazu das Gehäuse geöffnet werden. Sobald LEDE installiert ist, können neue Versionen per Web-Interface eingespielt werden.


=== Initiales Flashen von LEDE ===
Anschließend kann ganz normal z.B. folgende Firmware installiert werden, die klein genug ist, dass es mit EdgeOS funktioniert: [http://openwrt.jaru.eu.org/openwrt-18.06/targets/ramips/mt7621/openwrt-18.06-snapshot-r7911-f65330d27d-ramips-mt7621-ubnt-erx-sfp-initramfs-factory.tar OpenWrt 18.06 initramfs-factory]


Zum initialen Flashen mit LEDE muss das Gehäuse geöffnet werden. Grund ist, dass die Auswahl im Boot-Menü nur über die serielle Schnittstelle zugänglich ist. Das braucht es, um über TFTP statt vom eingebauten Flash booten zu können. Allen, die sich das nicht selbst zutrauen, helfen wir beim [[Regionen/Wien/MoMo|MoMo]] gerne weiter. Wie schon erwähnt, ist diese Prozedur nur einmalig erforderlich. Sobald LEDE installiert ist, kann via Web-Interface upgedatet werden. '''Wichtig:'''
Unter Linux kann das automatisiert mit einem bash Skript erledigt werden: https://github.com/damadmai/edgemax_openwrt
----
 
Bis jetzt ist kein Weg bekannt, um wieder zur originalen Firmware zurück zu kehren. Testen per TFTP-Boot ist nebenwirkungsfrei, solange man nicht anschließend das Sysupgrade-Image flasht.
=== Upgrade von OpenWrt (bei bereist installiertem OpenWrt) ===
https://community.ubnt.com/t5/EdgeMAX/ERX-ERX-SFP-System-Recovery/td-p/2056921
 
Einfach über CLI oder Web-Interface (LuCI) das neue Sysupgrade-Image flashen.
 
=== Recovery ===
 
Der Weg zurück zu EdgeOS kann über TFTP Recovery gegangen werden, alternativ ist es auch möglich die serielle Konsole dafür zu verwenden.
 
Siehe https://an.undulating.space/post/181228-erx_install_openwrt_recover_edgeos/ bzw. https://community.ubnt.com/t5/EdgeMAX/ERX-ERX-SFP-System-Recovery/td-p/2056921 bzw. [https://help.ui.com/hc/en-us/articles/360018189493 Manual TFTP Recovery]


# Gummi-Stöpsel aus dem SFP-Port entfernen
# Gummi-Stöpsel aus dem SFP-Port entfernen
# Die zwei Schräubchen auf der Rückseite rausdrehen, Gerät öffnen
# Die zwei Schräubchen auf der Rückseite rausdrehen, Gerät öffnen
# TFTP-Server mit LEDE-Image (initramfs) vorbereiten. Das Initramfs entweder selbst kompilieren oder mich (David) anschreiben. Werde ich in Zukunft irgendwo raufladen.
# TFTP-Server mit OpenWrt-Image (initramfs) vorbereiten. Das Initramfs entweder selbst kompilieren oder mich (David) anschreiben. Werde ich in Zukunft irgendwo raufladen.
# Serial-Header identifizieren, das ist der mit den vier Pins, die nach oben wegstehen. Von der Vorderseite (mit den Ports) aus gezählt, sind das +3,3 V, TX, RX, GND.
# Serial-Header identifizieren, das ist der mit den vier Pins, die nach oben wegstehen. Von der Vorderseite (mit den Ports) aus gezählt, sind das +3,3 V, TX, RX, GND.
# USB-TTY-Konverter verbinden (die +3,3 V werden '''nicht''' verbunden), gibt's auch im Automaten im MetaLab. Serielle Konsole öffnen.
# USB-TTY-Konverter verbinden (die +3,3 V werden '''nicht''' verbunden), gibt's auch im Automaten im MetaLab. Serielle Konsole öffnen.
# ER-X booten und beim Erscheinen des Boot-Menüs die entsprechende Option wählen und IP-Konfig eingeben
# ER-X booten und beim Erscheinen des Boot-Menüs die entsprechende Option wählen und IP-Konfig eingeben
# Sobald LEDE gestartet ist, kann man sich via 192.168.1.1 (nicht über die IP, die oben eingegeben wurde!) einloggen. Anschliessend das Sysupgrade-Image wie gewohnt flashen (CLI oder Web-Interface (Luci)).
# Sobald OpenWrt gestartet ist, kann man sich via 192.168.1.1 (nicht über die IP, die oben eingegeben wurde!) einloggen. Anschliessend das Sysupgrade-Image wie gewohnt flashen (CLI oder Web-Interface (Luci)).


=== Upgrade von LEDE (bei bestehendem LEDE) ===
== NAT performance benchmark der unterschiedlichen Betriebssyteme ==


Einfach über CLI oder Web-Interface (Luci) das neue Sysupgrade-Image flashen.
https://an.undulating.space/post/180927-er_alternate_firmware_benchmarks/


=== Known Issues ===
== Experimental /dev/crypto Support unter OpenWRT ==
 
OpenWrt SNAPSHOT r18523-8c501bf9fe + https://github.com/vschagen/mtk-eip93
 
Neue sha1.h und sha2.h Headers aus der Kernel Version 5.14+ nötig. Ein einfaches kopieren der Headerfiles ist aber ausreichend. Build Anleitung / Fertige Images folgen.
 
root@OpenWrt:~# openssl engine -t -c
(dynamic) Dynamic engine loading support
    [ unavailable ]
(devcrypto) /dev/crypto engine
[DES-CBC, DES-EDE3-CBC, AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-CTR, AES-192-CTR, AES-256-CTR, AES-128-ECB, AES-192-ECB, AES-256-ECB]
    [ available ]
 
root@OpenWrt:~# openssl engine -pre DUMP_INFO devcrypto
(devcrypto) /dev/crypto engine
Information about ciphers supported by the /dev/crypto engine:
Cipher DES-CBC, NID=31, /dev/crypto info: id=1, driver=cbc(des-eip93) (hw accelerated)
Cipher DES-EDE3-CBC, NID=44, /dev/crypto info: id=2, driver=cbc(des3_ede-eip93) (hw accelerated)
Cipher BF-CBC, NID=91, /dev/crypto info: id=3, CIOCGSESSION (session open call) failed
Cipher CAST5-CBC, NID=108, /dev/crypto info: id=4, CIOCGSESSION (session open call) failed
Cipher AES-128-CBC, NID=419, /dev/crypto info: id=11, driver=cbc(aes-eip93) (hw accelerated)
Cipher AES-192-CBC, NID=423, /dev/crypto info: id=11, driver=cbc(aes-eip93) (hw accelerated)
Cipher AES-256-CBC, NID=427, /dev/crypto info: id=11, driver=cbc(aes-eip93) (hw accelerated)
Cipher RC4, NID=5, /dev/crypto info: id=12, CIOCGSESSION (session open call) failed
Cipher AES-128-CTR, NID=904, /dev/crypto info: id=21, driver=ctr(aes-eip93) (hw accelerated)
Cipher AES-192-CTR, NID=905, /dev/crypto info: id=21, driver=ctr(aes-eip93) (hw accelerated)
Cipher AES-256-CTR, NID=906, /dev/crypto info: id=21, driver=ctr(aes-eip93) (hw accelerated)
Cipher AES-128-ECB, NID=418, /dev/crypto info: id=23, driver=ecb(aes-eip93) (hw accelerated)
Cipher AES-192-ECB, NID=422, /dev/crypto info: id=23, driver=ecb(aes-eip93) (hw accelerated)
Cipher AES-256-ECB, NID=426, /dev/crypto info: id=23, driver=ecb(aes-eip93) (hw accelerated)
Information about digests supported by the /dev/crypto engine:
Digest MD5, NID=4, /dev/crypto info: id=13, driver=md5-generic (software), CIOCCPHASH capable
Digest SHA1, NID=64, /dev/crypto info: id=14, driver=sha1-generic (software), CIOCCPHASH capable
Digest RIPEMD160, NID=117, /dev/crypto info: id=102, driver=unknown. CIOCGSESSION (session open) failed
Digest SHA224, NID=675, /dev/crypto info: id=103, driver=sha224-generic (software), CIOCCPHASH capable
Digest SHA256, NID=672, /dev/crypto info: id=104, driver=sha256-generic (software), CIOCCPHASH capable
Digest SHA384, NID=673, /dev/crypto info: id=105, driver=sha384-generic (software), CIOCCPHASH capable
Digest SHA512, NID=674, /dev/crypto info: id=106, driver=sha512-generic (software), CIOCCPHASH capable
 
Hier das Snippet für /etc/ssl/openssl.cnf :
 
[default]
openssl_conf=openssl_def
[openssl_def]
# this is the main library configuration section
engines=engine_section
[engine_section]
# this is the engine configuration section, where the engines are listed
devcrypto=devcrypto_section
[devcrypto_section]
# this is the section where the devcrypto engine commands are used
CIPHERS=ALL
DIGESTS=ALL
 
Außerdem muss man die Files /etc/strongswan.d/charon/aes.conf & /etc/strongswan.d/charon/sha* entfernen um das OpenSSL Plugin zu forcen.
 
 
IPSec Performance :
 
MSS 1398 (max MTU, 1438)
 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval          Transfer    Bitrate        Retr
[  5]  0.00-300.02 sec  6.61 GBytes  189 Mbits/sec  13342            sender
[  5]  0.00-300.00 sec  6.60 GBytes  189 Mbits/sec                  receiver
=> ~17000 packets/sec
 
MSS 536 (eq. MTU 576)
 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval          Transfer    Bitrate        Retr
[  5]  0.00-300.01 sec  3.01 GBytes  86.2 Mbits/sec  24328            sender
[  5]  0.00-300.00 sec  3.01 GBytes  86.1 Mbits/sec                  receiver
=> ~19500 packets/sec
 
MSS 90 (eq. MTU 130)
 
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval          Transfer    Bitrate        Retr
[  5]  0.00-300.02 sec  576 MBytes  16.1 Mbits/sec  115389            sender
[  5]  0.00-300.00 sec  573 MBytes  16.0 Mbits/sec                  receiver
=> ~16100 packets/sec
 
Testgerät Gegenseite : Fortigate 100D (via Innonet FTTH)
 
 
IPSec Parameter :
 
 
Auth : Shared PSK
 
Phase 1 : AES128-SHA256 DH14
 
Phase 2 : AES128-SHA256 (ohne PFS)
 
Strongswan forced auf OpenSSL Plugin
 
Routed VPN via xfrm Interface


* In der VLAN-Config scheinen die ID des Eintrags und die VLAN-ID uebereinstimmen zu muessen. Ausserdem scheint es einen Reboot fuer das Uebernehmen der VLAN zu brauchen.


Vielleicht als Alternative zu OpenVPN brauchbar, und ab der Version 2.6/3 von OpenVPN auch für Data Channel Offload verwendbar.
== Bezugsquellen ==
== Bezugsquellen ==


* Vereinsmitglied Alexander B (alexander@biringer.eu) / wenn ihr lieb fragt, wird dieser vermutlich auch gleich vorkonfiguriert? :)
* Vereinsmitglied Alexander B (alexander@biringer.eu) / wenn ihr lieb fragt, wird dieser vermutlich auch gleich vorkonfiguriert? :)
* [https://www.amazon.de/s/ref=nb_sb_noss?__mk_de_DE=ÅMÅŽÕÑ&url=search-alias%3Daps&field-keywords=edgerouter+x-sfp AMAZON]
* [https://www.amazon.de/s/&field-keywords=edgerouter+x-sfp Amazon]
* [https://geizhals.at/ubiquiti-edgerouter-er-x-sfp-a1271802.html Geizhals]
 
Und hier noch zwei "Geheimtipp"-Shops, die nicht zwangsweise über Geizhals auffindbar sind, aber wo der momentan (Stand 2022) schlecht verfügbare Router kurzfristig verfügbar sein kann:
* [https://www.senetic.at/product/ER-X-SFP Senetic]
* [https://www.varia-store.com/de/produkt/395822-er-x-sfp-eu-edgerouter-6-ports.html Varia]

Version vom 25. August 2023, 20:15 Uhr

Ubiquiti EdgeRouter X-SFP
Edgerouter-x-sfp.jpg
Name

EdgeRouter X-SFP

Hersteller

Ubiquiti

Veraltet

Nein

Outdoor

Nein

Antenne

Nein

Funkfeuer
v642

Ja

System
CPU

MediaTek MT7621AT, 880 MHz

RAM

256 MB

Flash

256 MB NAND

PoE

passiv, 5 Ports, Gbit, schaltbar

Netzwerk
LAN-Ports

5

Switch

Ja

WLAN

Nein

Firmware
Firmware

Original, OpenWrt 21.02.1]

Flashmethode

Web

Flashanleitung

Beschreibung Original-FW

Konfiguration

Setup0xFF-Wizard, manuelle Konfiguration

Router



Allgemeines zum Gerät

Die SFP-Version des EdgeRouter X bietet auf allen fünf Gigabit-Ethernet-Ports passive PoE. Das ermöglicht den Betrieb aktiver Antennen ohne zusätzliche Spannungsversorgung. Das mitgelieferte Netzteil mit Hohlstecker liefert 24V 2,5A, der Router benötigt etwa. 80mA. Entgegen der Produktbeschreibung kann er auch über passive PoE am ersten Ethernet-Port versorgt werden. Für Einsatz im Freien gibt es die EdgePoint R6 Variante. Achtung: Der Router akzeptiert auch wirklich NUR 24V passiv über PoE-In (Quelle1 bzw. Quelle2)

Betrieb mit Original-Firmware

Hier eine Übersicht, des derzeit üblichen Setups. Mit diesem Gerät können ein/mehrere Antennen mittels am Router laufenden OLSR daemon (Wizard ermöglicht eine simple Installation und Verwaltung per GUI) im Bridgemodus laufend verwendet werden. Hierbei muss keine Custom Firmware aufgespielt werden, und es kann weiterhin das gewohnte Upgrade vom Hersteller aufgespielt werden.

Initiales Konfigurieren

Schritte zur Konfiguration der Original-Firmware
  • Aktuellstes Firmware Upgrade einspielen und danach auf Werkseinstellungen reseten (Hardware Reset mit Reset-Taster am Router! Bei Software Reset per CLI/GUI wird nur die Startup-Config zurück gesetzt. Ab EdgeOS 2.0.6 mit aktuellem Bootloader muss man den Reset Knopf rechtzeitig (nachdem eth4 nach schnellem und dann langsamen Blinken aus geht) loslassen, damit der Reset durchgeführt wird, ansonsten geht der Router in den TFTP flash Modus.)
  • Bootloaderupdate prüfen. Nur auf ER-X / ER-X-SFP aktualisieren (NICHT EdgePoint EP-R6!!!) - könnte in einer aktuellen Firmware-Version bereits enthalten sein. Nach dem ersten Reboot mit der neuen Firmware-Version ggf. noch ein zweites Mal rebooten, um das Bootloader-Update wirksam zu machen. Der CLI-Command "show system boot-image" gibt Auskunft über den Zustand.
  • Firmwareupdate auf aktuelle EdgeOS-Version
  • Einfache Methode - (falls es Probleme gibt, bitte bei @pocki melden)
    • Setup0xFF - Wizard installieren
    • Notwendige Daten eintragen, Apply klicken & warten bis alles automatisch konfiguriert ist.
  • ...oder manueller Methode - Schritte zur Konfiguration der Original-Firmware (bzw. Google Docs)
    • Anlegen Bridge-Interface mit public 0xFF-IPv4-Adresse
    • Anlegen Management-VLAN 1100 mit interner 10-er IP, NAT/masquerade (evtl. Portforwarding)
    • Installation OLSRd-Wizard (v1 für IPV4, v2 für IPv6)

Links zu Wizards (OLSR,...)

Known Issues

  • In der VLAN-Config scheinen die ID des Eintrags und die VLAN-ID übereinstimmen zu müssen. Außerdem scheint es einen Reboot für das Übernehmen der VLAN zu brauchen.
  • Manchmal "verschwinden" Interfaces, ersichtlich an schwarzem Symbol oben in der Mitte auf der Weboberfläche, dies kann behoben werden, indem bei der Config das Interface manuell wieder hinzugefügt wird. VLANs und Bridges müssen ebenso wieder konfiguriert werden.

Betrieb mit OpenWrt

Der Router kann alternativ zur Original-(Ubiquiti-)-Firmware mit OpenWrt betrieben werden. Ein paar Unterschiede, die die Entscheidung erleichtern können:

  • Die Original-FW hat einen Wizard für OLSR, das fehlt in OpenWrt bisher
  • Man kann mit der Original-FW PoE ein- und ausschalten, das funktioniert in OpenWrt bisher nur über die Kommandozeile
  • Mit OpenWrt sind sämliche OpenWrt-Pakete nutzbar
  • OpenWrt ist im Gegensatz zur Original-FW open source, das heißt, die Community kann laufend Verbesserungen vornehmen (und tut das auch)
  • Der EdgeRouter X(-SFP) wird offiziell von OpenWrt unterstützt, das heißt, es gibt laufend fertige Firmware zum Download
  • 4-in-6 funktioniert momentan mit der Original-FW nicht brauchbar, das Kernel-Modul verpackt die IPv4-Pakete doppelt und fehlerhaft. Wer 4-in-6 nutzen möchte, ist mit OpenWrt besser beraten, oder verwendet zusätzlich OLSRv1 für IPv4 mit der Original-FW.

Initiales Flashen von OpenWrt

Damit es möglich ist bei Problemen mit der Firmware ein TFTP Recovery durchführen zu können, ist es Empfehlenswert EdgeOS 2.0.6 zu flashen und dann den Bootloader zu aktualisieren, siehe How to Update the Bootloader

Anschließend kann ganz normal z.B. folgende Firmware installiert werden, die klein genug ist, dass es mit EdgeOS funktioniert: OpenWrt 18.06 initramfs-factory

Unter Linux kann das automatisiert mit einem bash Skript erledigt werden: https://github.com/damadmai/edgemax_openwrt

Upgrade von OpenWrt (bei bereist installiertem OpenWrt)

Einfach über CLI oder Web-Interface (LuCI) das neue Sysupgrade-Image flashen.

Recovery

Der Weg zurück zu EdgeOS kann über TFTP Recovery gegangen werden, alternativ ist es auch möglich die serielle Konsole dafür zu verwenden.

Siehe https://an.undulating.space/post/181228-erx_install_openwrt_recover_edgeos/ bzw. https://community.ubnt.com/t5/EdgeMAX/ERX-ERX-SFP-System-Recovery/td-p/2056921 bzw. Manual TFTP Recovery

  1. Gummi-Stöpsel aus dem SFP-Port entfernen
  2. Die zwei Schräubchen auf der Rückseite rausdrehen, Gerät öffnen
  3. TFTP-Server mit OpenWrt-Image (initramfs) vorbereiten. Das Initramfs entweder selbst kompilieren oder mich (David) anschreiben. Werde ich in Zukunft irgendwo raufladen.
  4. Serial-Header identifizieren, das ist der mit den vier Pins, die nach oben wegstehen. Von der Vorderseite (mit den Ports) aus gezählt, sind das +3,3 V, TX, RX, GND.
  5. USB-TTY-Konverter verbinden (die +3,3 V werden nicht verbunden), gibt's auch im Automaten im MetaLab. Serielle Konsole öffnen.
  6. ER-X booten und beim Erscheinen des Boot-Menüs die entsprechende Option wählen und IP-Konfig eingeben
  7. Sobald OpenWrt gestartet ist, kann man sich via 192.168.1.1 (nicht über die IP, die oben eingegeben wurde!) einloggen. Anschliessend das Sysupgrade-Image wie gewohnt flashen (CLI oder Web-Interface (Luci)).

NAT performance benchmark der unterschiedlichen Betriebssyteme

https://an.undulating.space/post/180927-er_alternate_firmware_benchmarks/

Experimental /dev/crypto Support unter OpenWRT

OpenWrt SNAPSHOT r18523-8c501bf9fe + https://github.com/vschagen/mtk-eip93

Neue sha1.h und sha2.h Headers aus der Kernel Version 5.14+ nötig. Ein einfaches kopieren der Headerfiles ist aber ausreichend. Build Anleitung / Fertige Images folgen.

root@OpenWrt:~# openssl engine -t -c
(dynamic) Dynamic engine loading support
    [ unavailable ]
(devcrypto) /dev/crypto engine
[DES-CBC, DES-EDE3-CBC, AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-CTR, AES-192-CTR, AES-256-CTR, AES-128-ECB, AES-192-ECB, AES-256-ECB]
    [ available ]
root@OpenWrt:~# openssl engine -pre DUMP_INFO devcrypto
(devcrypto) /dev/crypto engine
Information about ciphers supported by the /dev/crypto engine:
Cipher DES-CBC, NID=31, /dev/crypto info: id=1, driver=cbc(des-eip93) (hw accelerated)
Cipher DES-EDE3-CBC, NID=44, /dev/crypto info: id=2, driver=cbc(des3_ede-eip93) (hw accelerated)
Cipher BF-CBC, NID=91, /dev/crypto info: id=3, CIOCGSESSION (session open call) failed
Cipher CAST5-CBC, NID=108, /dev/crypto info: id=4, CIOCGSESSION (session open call) failed
Cipher AES-128-CBC, NID=419, /dev/crypto info: id=11, driver=cbc(aes-eip93) (hw accelerated)
Cipher AES-192-CBC, NID=423, /dev/crypto info: id=11, driver=cbc(aes-eip93) (hw accelerated)
Cipher AES-256-CBC, NID=427, /dev/crypto info: id=11, driver=cbc(aes-eip93) (hw accelerated)
Cipher RC4, NID=5, /dev/crypto info: id=12, CIOCGSESSION (session open call) failed
Cipher AES-128-CTR, NID=904, /dev/crypto info: id=21, driver=ctr(aes-eip93) (hw accelerated)
Cipher AES-192-CTR, NID=905, /dev/crypto info: id=21, driver=ctr(aes-eip93) (hw accelerated)
Cipher AES-256-CTR, NID=906, /dev/crypto info: id=21, driver=ctr(aes-eip93) (hw accelerated)
Cipher AES-128-ECB, NID=418, /dev/crypto info: id=23, driver=ecb(aes-eip93) (hw accelerated)
Cipher AES-192-ECB, NID=422, /dev/crypto info: id=23, driver=ecb(aes-eip93) (hw accelerated)
Cipher AES-256-ECB, NID=426, /dev/crypto info: id=23, driver=ecb(aes-eip93) (hw accelerated)

Information about digests supported by the /dev/crypto engine:
Digest MD5, NID=4, /dev/crypto info: id=13, driver=md5-generic (software), CIOCCPHASH capable
Digest SHA1, NID=64, /dev/crypto info: id=14, driver=sha1-generic (software), CIOCCPHASH capable
Digest RIPEMD160, NID=117, /dev/crypto info: id=102, driver=unknown. CIOCGSESSION (session open) failed
Digest SHA224, NID=675, /dev/crypto info: id=103, driver=sha224-generic (software), CIOCCPHASH capable
Digest SHA256, NID=672, /dev/crypto info: id=104, driver=sha256-generic (software), CIOCCPHASH capable
Digest SHA384, NID=673, /dev/crypto info: id=105, driver=sha384-generic (software), CIOCCPHASH capable
Digest SHA512, NID=674, /dev/crypto info: id=106, driver=sha512-generic (software), CIOCCPHASH capable

Hier das Snippet für /etc/ssl/openssl.cnf :

[default]
openssl_conf=openssl_def

[openssl_def]
# this is the main library configuration section
engines=engine_section

[engine_section]
# this is the engine configuration section, where the engines are listed
devcrypto=devcrypto_section

[devcrypto_section]
# this is the section where the devcrypto engine commands are used
CIPHERS=ALL
DIGESTS=ALL

Außerdem muss man die Files /etc/strongswan.d/charon/aes.conf & /etc/strongswan.d/charon/sha* entfernen um das OpenSSL Plugin zu forcen.


IPSec Performance :

MSS 1398 (max MTU, 1438)

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.02 sec  6.61 GBytes   189 Mbits/sec  13342             sender
[  5]   0.00-300.00 sec  6.60 GBytes   189 Mbits/sec                  receiver
=> ~17000 packets/sec

MSS 536 (eq. MTU 576)

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.01 sec  3.01 GBytes  86.2 Mbits/sec  24328             sender
[  5]   0.00-300.00 sec  3.01 GBytes  86.1 Mbits/sec                  receiver
=> ~19500 packets/sec

MSS 90 (eq. MTU 130)

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-300.02 sec   576 MBytes  16.1 Mbits/sec  115389             sender
[  5]   0.00-300.00 sec   573 MBytes  16.0 Mbits/sec                  receiver
=> ~16100 packets/sec

Testgerät Gegenseite : Fortigate 100D (via Innonet FTTH)


IPSec Parameter :


Auth : Shared PSK

Phase 1 : AES128-SHA256 DH14

Phase 2 : AES128-SHA256 (ohne PFS)

Strongswan forced auf OpenSSL Plugin

Routed VPN via xfrm Interface


Vielleicht als Alternative zu OpenVPN brauchbar, und ab der Version 2.6/3 von OpenVPN auch für Data Channel Offload verwendbar.

Bezugsquellen

  • Vereinsmitglied Alexander B (alexander@biringer.eu) / wenn ihr lieb fragt, wird dieser vermutlich auch gleich vorkonfiguriert? :)
  • Amazon
  • Geizhals

Und hier noch zwei "Geheimtipp"-Shops, die nicht zwangsweise über Geizhals auffindbar sind, aber wo der momentan (Stand 2022) schlecht verfügbare Router kurzfristig verfügbar sein kann: