Layer3Firmware Config: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
 
(47 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 11: Zeile 11:
Weiterhin wird hier der Hoodname eingetragen, der dann ans Monitoring gesendet wird.
Weiterhin wird hier der Hoodname eingetragen, der dann ans Monitoring gesendet wird.


=== Beispielkonfiguration ===
=== Beispielkonfiguration fff ===
  config fff 'system'
  config fff 'system'
  option hostname 'mein-layer3'
  option hostname 'mein-layer3'
Zeile 17: Zeile 17:
  option latitude '49'   
  option latitude '49'   
  option longitude '11'
  option longitude '11'
# Hoodname muss per ssh eingegeben werden
      # Hoodname muss per ssh eingegeben werden
   option hoodname 'Hoodname'
   option hoodname 'Hoodname'
  option description 'Pinguinsammelstelle'
  option description 'Pinguinsammelstelle'
  option position_comment 'irgendwo'
  option position_comment 'irgendwo'


Die Optionen ''description'' und ''position_comment'' sind freiwillige Angaben. Werden Einträge übers Web-UI geändert, entstehen weitere Blöcke zum Speichern der Zustände dort wählbarer Optionen.
Die Optionen sind alle freiwillige Angaben und zur korrekten Funktion eines Layer 3 Router nicht zwingend nötig. Werden Einträge übers Web-UI geändert, entstehen weitere Blöcke zum Speichern der Zustände dort wählbarer Optionen.


== /etc/config/gateway ==
== /etc/config/gateway ==
Zeile 40: Zeile 40:
Eine Bespielkonfiguration mit einem direkten Peer und einem WireGuardpeer gibt’s hier:
Eine Bespielkonfiguration mit einem direkten Peer und einem WireGuardpeer gibt’s hier:
  config gateway 'meta'
  config gateway 'meta'
  option config_version '1'
  option config_version '3'
   
   
  config vlan '1'
  config vlan '1'
Zeile 57: Zeile 57:
  config client
  config client
  option vlan '1'
  option vlan '1'
  list ip6addr 'fd43:5602:29bd:k7::1/64' #ändern auf eingetragene IPv6-Adresse
  list ip6addr 'fd43:5602:29bd:k7::1/64' # aendern auf eingetragene IPv6-Adresse (nur /64!)
  list ip6addr '2a0b:f4c0:k7:e8::1/48'  #ändern auf vergebenes Subnetz
  list ip6addr '2a0b:f4c0:k7:e8::1/64'  # aendern auf vergebenes Subnetz (nur /64!)
  list ipaddr '10.83.261.1/24'          #ändern auf eingetragene IPv4-Adresse
  list ipaddr '10.83.261.1/24'          # aendern auf eingetragene IPv4-Adresse
  option dhcp_start '10.83.261.50'      #ändern gemäß IPv4-Adresse
  option dhcp_start '10.83.261.50'      # aendern gemäß IPv4-Adresse
  option dhcp_limit '1000'
  option dhcp_limit '1000'
  option essid 'bla.freifunk'
  option essid 'bla.freifunk'
  option chan2ghz '13'
  option chan2ghz '13'
  option chan5ghz '36'
  option chan5ghz '36'
config wan
option vlan '2'
   
   
  config dns
  config dns
  list server 'fd43:5602:29bd:ffff::42'
  list server 'fd43:5602:29bd:ffff:1:1:1:1' # anycast Adresse
  list server 'fd43:5602:29bd:ffff:a:a:a:a'
  list server 'fd43:5602:29bd:ffff:1:1:1:64' # DNS64 anycast Adresse fuer IPv6-only Router
list server 'fd43:5602:29bd:ffff::252'
   
   
  ## Vorsicht: Config-Namen dürfen keine '-' enthalten
  ## Vorsicht: Config-Namen dürfen keine '-' enthalten
Zeile 75: Zeile 77:
  option vlan '10'
  option vlan '10'
  option type 'wired'
  option type 'wired'
  option rxcost '1024'
  option rxcost '8192'
   
   
  config wireguardpeer 'meingateway'
  config wireguardpeer 'meingateway'
Zeile 104: Zeile 106:
|-
|-
| peer_ip6 || IPv6-Adresse || nein || IPv6-Adresse für Peerings
| peer_ip6 || IPv6-Adresse || nein || IPv6-Adresse für Peerings
|-
| router_ip || IPv4-Adresse || nein (bei aktivierten SNAT Pflicht) || IPv4-Adresse für den Router
|-
| router_ip6 || IPv6-Adresse || nein || IPv6-Adresse für den Router
|-
|-
|}
|}
Zeile 116: Zeile 122:
| comment || string || nein ||  
| comment || string || nein ||  
|-
|-
| port || list || nein || Ports auf dem Standard-Switch
| ports || list || nein || Ports auf dem Standard-Switch. Hardwarespezifisch!
|-
|-
|}
|}
Die Liste der Ports ist Hardwarespezifisch. Auf Geräten mit <code>swconfig</code> entspricht dies den Portnummern im swconfig-Treiber. Auf Geräten mit <code>DSA</code> wird hier der Name des Switchport-Interfaces angegeben (e.g. "eth0" oder "lan1").
* '''swconfig:''' <code>1</code> (VLAN auf Portnummer 1 legen, untagged) oder <code>1t</code> (VLAN auf Portnummer 1 legen, tagged)
* '''DSA:''' <code>eth0:*</code> (VLAN auf Port "eth0" legen, untagged) oder <code>eth0:t</code> (VLAN auf Port "eth0" legen, tagged)
Die Namen der Switchport-Interfaces bei DSA können dann mit <code>ip link</code> ermittelt werden.
Ob ein Gerät swconfig oder DSA verwendet, lässt sich mit dem Befehl <code>swconfig dev switch0 show</code> herausfinden. Gibt es hier eine Ausgabe des Tools, müssen die Portnummern entsprechend der swconfig-Syntax angegeben werden. Wird das Tool nicht gefunden, gilt die DSA-Syntax.


==== client ====
==== client ====
Zeile 129: Zeile 145:
| iface || interface || nein || Clientnetz auf Interface legen (z.B. eth0, eth0.1)
| iface || interface || nein || Clientnetz auf Interface legen (z.B. eth0, eth0.1)
|-
|-
| vlan || int || nein || Clientnetz auf VLAN mit angegebener IP auf dem Standard-Switch legen '''(alternativ zu ''iface''!)'''
| vlan || int || nein || Clientnetz auf VLAN mit angegebener ID auf dem Standard-Switch legen '''(alternativ zu ''iface''!)'''
|-
|-
| ipaddr || IPv4-list || nein || Router-IP im Client-Netz (CIDR Notation)
| ipaddr || IPv4-list || nein || Router-IP im Client-Netz (CIDR Notation)
|-
|-
| ip6addr || IPv6-list || nein || Router-IP im Client-Netz (CIDR Notation)**
| ip6addr || IPv6-list || nein || Router-IP im Client-Netz (CIDR Notation)** (Achtung: Hier darf nur ein /64 verwendet werden, solltet ihr ein größeres Subnetz zugewiesen bekommen, müsst ihr dies zerteilen)
|-
|-
| dhcp_start || IPv4-Adresse || nein || DHCP-Startadresse
| dhcp_start || IPv4-Adresse || nein || DHCP-Startadresse
|-
|-
| dhcp_limit || int || nein || Maximale Anzahl an DHCP-Leases (default 150)
| dhcp_limit || int || nein || Maximale Anzahl an DHCP-Leases (default 150, kann auch höher sein als die maximal im Subnetz verfügbaren Adressen)
|-
| snat || bool || nein || Aktiviert SNAT auf dem Clientinterface so das nur noch eine einzelne Freifunkadresse benötigt wird und die IPv4 Adressen der Clients darauf genattet werden. Benötigt wird in gateway 'meta' router_ip
|-
| essid || string || nein || 16byte max. Länge, SSID des WLANs
|-
| chan2ghz || int || nein || 1-13 Frequenz 2,4GHz
|-
| chan5ghz || int || nein || 36-64 & 100-140 Frequenz 5GHz
|-
|-
|}
|}


<nowiki>**</nowiki> Zum Beispiel 2001:db8:aaaa:bbbb::1/64, es dürfen hier nur /64 Netze angegeben werden. Im Monitoring wird die Adresse dann unter 2001:db8:ffff:ffff:ffff:ffff:ffff:ffxx versteckt.
<nowiki>**</nowiki> Zum Beispiel 2001:db8:aaaa:bbbb::1/64, es dürfen hier nur /64 Netze angegeben werden. Im Monitoring wird die Adresse dann unter 2001:db8:ffff:ffff:ffff:ffff:ffff:ffxx versteckt.
==== wan ====
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:80px;text-align:left" | Pflicht
! style="text-align:left" | Beschreibung
|-
| iface || interface || nein || WAN auf ein Interface legen (z.B. eth0, eth0.1)
|-
| vlan || int || nein || WAN auf VLAN mit angegebener ID auf dem Standard-Switch legen '''(alternativ zu ''iface''!)'''
|-
|}


==== dns ====
==== dns ====
Zeile 155: Zeile 192:


<nowiki>*</nowiki> Hinweis: Hier sollten auch IPv6-DNS-Server aufgelistet werden.
<nowiki>*</nowiki> Hinweis: Hier sollten auch IPv6-DNS-Server aufgelistet werden.
Werden keine DNS Server konfiguriert, wird die [https://docs.freifunk-franken.de/services/anycast_dns/ Freifunk Franken Anycast] Adresse <code>fd43:5602:29bd:ffff:1:1:1:1</code> benutzt.
Damit diese zuverlässig funktioniert, muss eine [[Portal:Netz/IPv6|IPv6 ULA]] konfiguriert sein, oder die [https://git.freifunk-franken.de/freifunk-franken/firmware/issues/76#issuecomment-3676 <code>fdff::/64</code> Adressen entfernt werden].
Zusätzlich gibt es auch einen DNS64, unter der Anycast Adresse <code>fd43:5602:29bd:ffff:1:1:1:64</code>. Damit können IPv6-only Router trotzdem, über das im Freifunk Franken Netz verfügbare NAT64, IPv4 Geräte erreichen.


==== babelpeer ====
==== babelpeer ====
Zeile 207: Zeile 250:
! Bemerkung
! Bemerkung
|-
|-
| WAN || - || Abschnitt <code>config vlan '2'</code> entfällt.
| WAN || - || Bezeichnung in der gateway-config: 'eth1'
|-
|-
| LAN || 1 ||
| LAN || - || Bezeichnung in der gateway-config: 'eth0'
|-
|}
 
==== GL-Inet MT-1300 ====
 
{| class="wikitable"
! Port
! Switch Port
! Bemerkung
|-
| WAN || ? || Bezeichnung in der gateway-config: 'wan:*'
|-
| LAN || ? || Bezeichnung in der gateway-config: 'lan2:*'
|-
| LAN || ? || Bezeichnung in der gateway-config: 'lan1:*'
|-
|-
|}
|}


==== TP-Link WDR4900 v1 ====
==== TP-Link WDR4900 v1 ====
{| class="wikitable"
! Switchport-Interface Name (DSA)
|-
| wan
|-
| lan1
|-
| lan2
|-
| lan3
|-
| lan4
|-
|}
==== TP-Link Archer C7 V2 ====


{| class="wikitable"
{| class="wikitable"
! Port
! Port
! Switch Port
! Switch Port
|-
| eth1 || 0
|-
|-
| WAN || 1  
| WAN || 1  
Zeile 228: Zeile 305:
|-
|-
| LAN 4 || 5  
| LAN 4 || 5  
|-
| eth0 || 6
|-
|-
|}
|}
Zeile 292: Zeile 371:


{| class="wikitable"
{| class="wikitable"
! Port (Beschriftung)
! Switchport-Interface Name (DSA)
! Switch Port
! Funktion
! [https://www.ui.com/edgemax/edgerouter-x/ ER-X]
! [https://www.ui.com/edgemax/edgerouter-x/ ER-X]
! [https://www.ui.com/edgemax/edgerouter-x-sfp/ ER-X-SFP]
! [https://www.ui.com/edgemax/edgerouter-x-sfp/ ER-X-SFP]
|-
|-
| eth0     || 0 || WAN    || 24V PoE passiv in          || 24V PoE passiv out
| eth0       || 24V PoE passiv in          || 24V PoE passiv out
|-
| eth1      ||                            || 24V PoE passiv out
|-
| eth2      ||                            || 24V PoE passiv out
|-
|-
| eth1    || 1 || Mesh  ||                            || 24V PoE passiv out
| eth3      ||                            || 24V PoE passiv out
|-
|-
| eth2    || 2 || Mesh  ||                            || 24V PoE passiv out
| eth4      || 24V PoE passiv passthrough || 24V PoE passiv out
|-
|-
| eth3    || 3 || Client ||                            || 24V PoE passiv out
| eth5      || nicht vorhanden            ||  
|-
|-
| eth4    || 4 || Client || 24V PoE passiv passthrough || 24V PoE passiv out
|}
 
==== Xiaomi Mi Router 4A (Gigabit) ====
 
{| class="wikitable"
! Switchport-Interface Name (DSA)
|-
|-
| eth5/SFP || 5 || -      || nicht vorhanden            || kein Support! (stand Nov. 2019)
| wan
|-
|-
|         || 6 || CPU    ||                            ||
| lan1
|-
| lan2
|-
|-
|}
|}
==== Ubiquiti Edgerouter 4 ====
{| class="wikitable"
! Switchport-Interface Name (DSA)
|-
| eth0
|-
| eth1
|-
| eth2
|-
| eth3
|-
|}
==== Ubiquiti Unifi AC-Mesh ====
Der Router hat nur einen Ethernetport, die Abschnitte mit den VLAN-Einstellungen entfallen.
'''WAN:''' Im <code>config wan</code> Abschnitt muss <code>option iface 'eth0'</code> verwendet werden. Im <code>config client</code> Abschnitt muss <code>option iface 'eth1'</code> verwendet werden.<br>
'''LAN:''' Vermutlich gibt es für diese Konfiguration mangels Kontakt zu einem Peering-Partner keine sinnvolle Anwendung. Im <code>config client</code> Abschnitt muss <code>option iface 'eth0'</code> verwendet werden, <code>config wan</code> und <code>config wireguardpeer</code> entfallen.

Aktuelle Version vom 18. April 2024, 16:06 Uhr

Vorwort

An dieser Stelle sollen nur Beispielkonfigurationen hinterlegt werden.

Die Anleitung zu Layer3Firmware gibts hier:

https://wiki.freifunk-franken.de/w/Layer3Firmware

/etc/config/fff

Hier werden - wie in der Nodefirmware - Koordinaten und Kontakt-Mail eingetragen. Weiterhin wird hier der Hoodname eingetragen, der dann ans Monitoring gesendet wird.

Beispielkonfiguration fff

config fff 'system'
	option hostname 'mein-layer3'
	option contact 'email@example.com'
	option latitude '49'  
	option longitude '11'
     # Hoodname muss per ssh eingegeben werden
 	option hoodname 'Hoodname'
	option description 'Pinguinsammelstelle'
	option position_comment 'irgendwo'

Die Optionen sind alle freiwillige Angaben und zur korrekten Funktion eines Layer 3 Router nicht zwingend nötig. Werden Einträge übers Web-UI geändert, entstehen weitere Blöcke zum Speichern der Zustände dort wählbarer Optionen.

/etc/config/gateway

Benutzte IP-Adressbereiche eintragen:

IPv4: Portal:Netz

IPv6: Portal:Netz/IPv6

Public IPv6 Adressen:

Im Freifunk Franken Netz bieten mehrere Provider unabhängig voneinander IPv6 Adressen an welche zumeist ohne jegliche Regeln frei verwendet werden können. Eine Liste der Provider ist hier zu finden: https://wiki.freifunk-franken.de/w/IPv6

Beispielkonfiguration

Eine Bespielkonfiguration mit einem direkten Peer und einem WireGuardpeer gibt’s hier:

config gateway 'meta'
	option config_version '3'

config vlan '1'
	option comment 'client'
	## t: tagged. CPU-Port wird automatisch hinzugefügt.
	option ports '2 3 4 5t'

config vlan '2'
	option comment 'wan'
	option ports '1'

config vlan '10'
	option comment 'nachbar-hochhaus'
	option ports '5t'

config client
	option vlan '1'
	list ip6addr 'fd43:5602:29bd:k7::1/64' # aendern auf eingetragene IPv6-Adresse (nur /64!)
	list ip6addr '2a0b:f4c0:k7:e8::1/64'   # aendern auf vergebenes Subnetz (nur /64!)
	list ipaddr '10.83.261.1/24'           # aendern auf eingetragene IPv4-Adresse
	option dhcp_start '10.83.261.50'       # aendern gemäß IPv4-Adresse
	option dhcp_limit '1000'
	option essid 'bla.freifunk'
	option chan2ghz '13'
	option chan5ghz '36'

config wan
	option vlan '2'

config dns
	list server 'fd43:5602:29bd:ffff:1:1:1:1'  # anycast Adresse
	list server 'fd43:5602:29bd:ffff:1:1:1:64' # DNS64 anycast Adresse fuer IPv6-only Router

## Vorsicht: Config-Namen dürfen keine '-' enthalten
config babelpeer 'hochhaus'
	option vlan '10'
	option type 'wired'
	option rxcost '8192'

config wireguardpeer 'meingateway'
	option endpoint_host '<ip oder dns>'
	option endpoint_port '12345'
	option persistent_keepalive '25'
	option remote_public_key '<wg pubkey vom server>'
	## Angeben eines private_key ist optional. Wird automatisch generiert, wenn nicht vorhanden.
	option local_private_key '<wg privkey für gwfirmware>'
	option rxcost '16384'
	option mtu '1420'


Achtung: Die VLAN-Einstellungen hier sind für den TL-WDR4900, für andere Geräte muss z.B. geprüft werden auf welchen Port der WAN liegt. Eine Liste ist ganz unten zu finden oder in der offiziellen Firmware: https://github.com/FreifunkFranken/firmware/tree/master/src/packages/fff/fff-network/ar71xx

Parameter-Übersicht

gateway

Name Typ Pflicht Beschreibung
name string nein
peer_ip IPv4-Adresse nein IPv4-Adresse für Peerings
peer_ip6 IPv6-Adresse nein IPv6-Adresse für Peerings
router_ip IPv4-Adresse nein (bei aktivierten SNAT Pflicht) IPv4-Adresse für den Router
router_ip6 IPv6-Adresse nein IPv6-Adresse für den Router

vlan

Name Typ Pflicht Beschreibung
comment string nein
ports list nein Ports auf dem Standard-Switch. Hardwarespezifisch!

Die Liste der Ports ist Hardwarespezifisch. Auf Geräten mit swconfig entspricht dies den Portnummern im swconfig-Treiber. Auf Geräten mit DSA wird hier der Name des Switchport-Interfaces angegeben (e.g. "eth0" oder "lan1").

  • swconfig: 1 (VLAN auf Portnummer 1 legen, untagged) oder 1t (VLAN auf Portnummer 1 legen, tagged)
  • DSA: eth0:* (VLAN auf Port "eth0" legen, untagged) oder eth0:t (VLAN auf Port "eth0" legen, tagged)


Die Namen der Switchport-Interfaces bei DSA können dann mit ip link ermittelt werden.

Ob ein Gerät swconfig oder DSA verwendet, lässt sich mit dem Befehl swconfig dev switch0 show herausfinden. Gibt es hier eine Ausgabe des Tools, müssen die Portnummern entsprechend der swconfig-Syntax angegeben werden. Wird das Tool nicht gefunden, gilt die DSA-Syntax.

client

Name Typ Pflicht Beschreibung
iface interface nein Clientnetz auf Interface legen (z.B. eth0, eth0.1)
vlan int nein Clientnetz auf VLAN mit angegebener ID auf dem Standard-Switch legen (alternativ zu iface!)
ipaddr IPv4-list nein Router-IP im Client-Netz (CIDR Notation)
ip6addr IPv6-list nein Router-IP im Client-Netz (CIDR Notation)** (Achtung: Hier darf nur ein /64 verwendet werden, solltet ihr ein größeres Subnetz zugewiesen bekommen, müsst ihr dies zerteilen)
dhcp_start IPv4-Adresse nein DHCP-Startadresse
dhcp_limit int nein Maximale Anzahl an DHCP-Leases (default 150, kann auch höher sein als die maximal im Subnetz verfügbaren Adressen)
snat bool nein Aktiviert SNAT auf dem Clientinterface so das nur noch eine einzelne Freifunkadresse benötigt wird und die IPv4 Adressen der Clients darauf genattet werden. Benötigt wird in gateway 'meta' router_ip
essid string nein 16byte max. Länge, SSID des WLANs
chan2ghz int nein 1-13 Frequenz 2,4GHz
chan5ghz int nein 36-64 & 100-140 Frequenz 5GHz

** Zum Beispiel 2001:db8:aaaa:bbbb::1/64, es dürfen hier nur /64 Netze angegeben werden. Im Monitoring wird die Adresse dann unter 2001:db8:ffff:ffff:ffff:ffff:ffff:ffxx versteckt.

wan

Name Typ Pflicht Beschreibung
iface interface nein WAN auf ein Interface legen (z.B. eth0, eth0.1)
vlan int nein WAN auf VLAN mit angegebener ID auf dem Standard-Switch legen (alternativ zu iface!)

dns

Name Typ Pflicht Beschreibung
server list nein DNS-Server, auf den geforwarded wird*

* Hinweis: Hier sollten auch IPv6-DNS-Server aufgelistet werden.

Werden keine DNS Server konfiguriert, wird die Freifunk Franken Anycast Adresse fd43:5602:29bd:ffff:1:1:1:1 benutzt.

Damit diese zuverlässig funktioniert, muss eine IPv6 ULA konfiguriert sein, oder die fdff::/64 Adressen entfernt werden.

Zusätzlich gibt es auch einen DNS64, unter der Anycast Adresse fd43:5602:29bd:ffff:1:1:1:64. Damit können IPv6-only Router trotzdem, über das im Freifunk Franken Netz verfügbare NAT64, IPv4 Geräte erreichen.

babelpeer

Name Typ Pflicht Beschreibung
iface interface nein Babel auf physikalisches Interface legen
vlan number nein Babel auf VLAN mit angegebener IP auf dem Standard-Switch legen (alternativ zu iface!)
type babel-type nein Babel-Verbindungstyp (z. B. wired, wireless, tunnel, ...)
rxcost int nein Babel rxcost

wireguardpeer

Name Typ Pflicht Beschreibung
endpoint_host host oder ip ja Hostname oder IP-Adresse der Gegenstelle
endpoint_port port ja Port der Gegenstelle
persistent_keepalive seconds nein
remote_public_key wireguard pubkey ja Öffentlicher Schlüssel des Peering-Partners
local_private_key wireguard privkey nein Eigener privater Schlüssel (automatisch generiert wenn nicht angegeben)
rxcost int nein Babel rxcost
mtu int nein MTU des Babel Interfaces. WICHTIG bei DSL Anschlüssen, siehe TODO.

Hardware-Port-Belegungen

Die Switch-Port-Belegung für die gängigen und genutzten Router für die VLAN-Konfiguration.

GL-Inet AR-150

Port Switch Port Bemerkung
WAN - Bezeichnung in der gateway-config: 'eth1'
LAN - Bezeichnung in der gateway-config: 'eth0'

GL-Inet MT-1300

Port Switch Port Bemerkung
WAN ? Bezeichnung in der gateway-config: 'wan:*'
LAN ? Bezeichnung in der gateway-config: 'lan2:*'
LAN ? Bezeichnung in der gateway-config: 'lan1:*'

TP-Link WDR4900 v1

Switchport-Interface Name (DSA)
wan
lan1
lan2
lan3
lan4

TP-Link Archer C7 V2

Port Switch Port
eth1 0
WAN 1
LAN 1 2
LAN 2 3
LAN 3 4
LAN 4 5
eth0 6

TP-Link Archer C7 V5

Port Switch Port
WAN 1
LAN 1 2
LAN 2 3
LAN 3 4
LAN 4 5

TP-Link WR1043ND v1

Port Switch Port
WAN 0
LAN 1 1
LAN 2 2
LAN 3 3
LAN 4 4

TP-Link WR1043N(D) v2, v3, v4, v5

Port Switch Port
WAN 5
LAN 1 4
LAN 2 3
LAN 3 2
LAN 4 1
CPU 0

Ubiquiti EdgeRouter ER-X / ER-X-SFP

https://openwrt.org/toh/ubiquiti/ubiquiti_edgerouter_x_er-x_ka

Switchport-Interface Name (DSA) ER-X ER-X-SFP
eth0 24V PoE passiv in 24V PoE passiv out
eth1 24V PoE passiv out
eth2 24V PoE passiv out
eth3 24V PoE passiv out
eth4 24V PoE passiv passthrough 24V PoE passiv out
eth5 nicht vorhanden

Xiaomi Mi Router 4A (Gigabit)

Switchport-Interface Name (DSA)
wan
lan1
lan2

Ubiquiti Edgerouter 4

Switchport-Interface Name (DSA)
eth0
eth1
eth2
eth3

Ubiquiti Unifi AC-Mesh

Der Router hat nur einen Ethernetport, die Abschnitte mit den VLAN-Einstellungen entfallen.

WAN: Im config wan Abschnitt muss option iface 'eth0' verwendet werden. Im config client Abschnitt muss option iface 'eth1' verwendet werden.
LAN: Vermutlich gibt es für diese Konfiguration mangels Kontakt zu einem Peering-Partner keine sinnvolle Anwendung. Im config client Abschnitt muss option iface 'eth0' verwendet werden, config wan und config wireguardpeer entfallen.