Gatewayfirmware Adrian: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
(Die Seite wurde neu angelegt: „= /etc/config/gateway = Die folgenden Unterkapitel erläutern die verschiedenen Konfigurationseinheiten in der Datei /etc/config/gateway Gültig ab gw_201905…“)
 
KKeine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
Gültig ab gw_20190527
Gültig ab gw_20190527


''Ältere Versionen aus 2019 sind nicht stabil und sollten aktualisiert werden. Für Versionen aus dem Jahr 2018 kann ist eine ANDERE Konfiguration notwendig.''
''Ältere Versionen aus 2019 sind nicht stabil und sollten aktualisiert werden. Für Versionen aus dem Jahr 2018 ist eine ANDERE Konfiguration notwendig.''


== VLAN-/Port-Konfiguration ==
== VLAN-/Port-Konfiguration ==
Zeile 11: Zeile 11:
Zur Konfiguration der Ports existieren grundsätzlich drei Möglichkeiten.
Zur Konfiguration der Ports existieren grundsätzlich drei Möglichkeiten.


=== /etc/firstbootfff ===
=== 1. /etc/firstbootfff ===


Die Datei /etc/firstbootfff wird nach jedem Upgrade ausgeführt und kann beliebige uci commands enthalten. Ports können dort entsprechend updatesicher gesetzt werden, z.B.
Die Datei /etc/firstbootfff wird nach jedem Upgrade ausgeführt und kann beliebige uci commands enthalten. Ports können dort entsprechend updatesicher gesetzt werden, z. B.


<pre>
<pre>
Zeile 41: Zeile 41:
</pre>
</pre>


=== WebUI ===
=== 2. WebUI ===


Das WebUI verfügt nun über einen primitiven Modus, um Ports in einem Switch zu konfigurieren. Dabei können die Ports für bestehende VLANs verändert werden, das Anlegen neuer VLANs oder Löschen bestehender ist (noch) nicht möglich.
Das WebUI verfügt nun über einen primitiven Modus, um Ports in einem Switch zu konfigurieren. Dabei können die Ports für bestehende VLANs verändert werden, das Anlegen neuer VLANs oder Löschen bestehender ist (noch) nicht möglich.


Wurde ein VLAN jedoch in der /etc/config/network angelegt, ist es danach auch im WebUI konfigurierbar.
Wurde ein VLAN jedoch in der /etc/config/network angelegt, ist es danach auch im WebUI konfigurierbar. (''Namensschema vlanX beachten!'')


Alle Änderungen per WebUI werden automatisch in die /etc/firstbootfff eingetragen, wodurch sie updatesicher werden.
Alle Änderungen per WebUI werden automatisch in die /etc/firstbootfff eingetragen, wodurch sie updatesicher werden.


=== /etc/config/gateway ===
=== 3. /etc/config/gateway ===


Die beiden zuvor genannten Möglichkeiten sind unabhängig von der gewählten Firmware-Variante (Knoten vs. Gateway).
Die beiden zuvor genannten Möglichkeiten sind unabhängig von der gewählten Firmware-Variante (Knoten vs. Gateway).
Zeile 75: Zeile 75:


''Nochmals: Möchte man die Standardkonfiguration verwenden, ist hier keine Angabe nötig. Gleiches gilt für Two-Port-Geräte ohne konfigurierbares Switch.''
''Nochmals: Möchte man die Standardkonfiguration verwenden, ist hier keine Angabe nötig. Gleiches gilt für Two-Port-Geräte ohne konfigurierbares Switch.''


== Netzwerk-Konfiguration ==
== Netzwerk-Konfiguration ==


Nach der Konfiguration der VLANs muss jedes VLAN oder Ethernet-Interface nun den entsprechenden Funktionen zugewiesen werden:
Nach der Konfiguration der VLANs muss jedes VLAN oder Ethernet-Interface nun den entsprechenden Funktionen (client, batman, babel, ...) zugewiesen werden, z.&nbsp;B.:


Client-Funktion an VLAN-ID 1 binden (typische Geräte mit Switch):
Client-Funktion an VLAN-ID 1 binden (typische Geräte mit Switch):
Zeile 88: Zeile 87:
</pre>
</pre>


ODER Client-Funktion an eth0 binden (z.B. FritzBox 4040 mit Switch für Clients):
ODER Client-Funktion an eth0 binden (z.&nbsp;B. FritzBox 4040 mit Switch für Clients):


<pre>
<pre>
Zeile 102: Zeile 101:
</pre>
</pre>


''Eine Übersicht von Beispielkonfigurationen findet sich ganz unten.''
''Eine Übersicht von [[#Beispiele für Geräte mit Mixed-Switch|Beispielkonfigurationen]] findet sich ganz unten.''


Entsprechend dem obigen Prinzip erfolgt dann auch die Definition von 'config batman' und 'config wan'.
Entsprechend dem obigen Prinzip erfolgt dann auch die Definition von 'config batman' und 'config wan'.


'''Achtung:''' ''client'' und ''batman'' sind Pflichtangaben. ''wan'' hingegen ist optional, erfolgt keine Angabe bleibt die bestehende Konfiguration erhalten.
'''Achtung:''' ''client'' und ''batman'' sind Pflichtangaben. ''wan'' hingegen ist optional, erfolgt keine Angabe bleibt die bestehende Konfiguration erhalten.


== Weitere Optionen ==
== Weitere Optionen ==
Zeile 113: Zeile 111:
Die folgenden Tabellen geben eine Übersicht über weitere Config-Blöcke und Optionen.
Die folgenden Tabellen geben eine Übersicht über weitere Config-Blöcke und Optionen.


'''Bitte benutzte IP-Adressbereiche eintragen:'''
'''Bitte benutzte IP-Adressbereiche im Wiki eintragen:'''


IPv4: [[Portal:Netz]]
IPv4: [[Portal:Netz]]


IPv6: [[Portal:Netz/IPv6]]
IPv6: [[Portal:Netz/IPv6]]


==== gateway ====
==== gateway ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 134: Zeile 131:


==== client ====
==== client ====
{|
 
Die folgenden Optionen müssen zusätzlich zur 'option vlan' bzw. 'option iface' im Block 'config client' angegeben werden. ''Es darf nicht mehr als einen Block 'config client' in der /etc/config/gateway geben!''
 
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 140: Zeile 140:
! style="text-align:left" | Beschreibung
! style="text-align:left" | Beschreibung
|-
|-
| iface || interface || nein || Clientnetz auf Interface legen (z.B. eth0, eth0.1)
| ipaddr || IPv4-Adresse || nein || Router-IP im Client-Netz (CIDR-Notation)
|-
| vlan || int || nein || Clientnetz auf VLAN mit angegebener IP auf dem Standard-Switch* legen '''(alternativ zu ''iface''!)'''
|-
| ipaddr || IPv4-Adresse || nein || Router-IP im Client-Netz (CIDR Notation)
|-
|-
| ip6addr || IPv6-Adresse || nein || Router-IP im Client-Netz (CIDR Notation)**
| ip6addr || IPv6-Adresse || nein || Router-IP im Client-Netz (CIDR-Notation)**
|-
|-
| dhcp_start || IPv4-Adresse || nein || DHCP-Startadresse
| dhcp_start || IPv4-Adresse || nein || DHCP-Startadresse
Zeile 154: Zeile 150:
|}
|}


<nowiki>*</nowiki> Bei Adrian: Nur verwenden, wenn maximal EIN ethX mit tagged VLANs vorhanden ist!
<nowiki>**</nowiki> Zum Beispiel 2001:db8:aaaa:bbbb::1/64, wobei 2001:db8 dem Provider zugewiesen ist und aaaa, den du beim Reservieren erhältst, und bbbb, der selbst festgelegte Teil (damit es zu einem /64-Netz wird), mit dem du die jeweiligen Netze der dezentralen Gateways unterscheidest. Im Monitoring wird die Adresse dann unter 2001:db8:ffff:ffff:ffff:ffff:ffff:ff01 maskiert.
 
<nowiki>**</nowiki> Zum Beispiel 2001:DB8:aaaa:bbbb::1/64, wobei 2001:DB8: und aaaa den du beim reservieren erhältst und bbbb der selbst festgelegte Teil (damit es zu einen /64 wird), mit dem Du die jeweiligen Netze der dezentralen Gateways unterscheidest. Im Monitoring wird die Adresse dann unter 2001:DB8:ffff:ffff:ffff:ffff:ffff:ff01 versteckt.


==== dns ====
==== dns ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 170: Zeile 164:


<nowiki>*</nowiki> Hinweis: Hier sollten auch IPv6-DNS-Server aufgelistet werden.
<nowiki>*</nowiki> Hinweis: Hier sollten auch IPv6-DNS-Server aufgelistet werden.
==== batman ====
{|
! 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 || [[B.A.T.M.A.N.]] auf physikalisches auf Interface legen
|-
| vlan || int || nein || B.A.T.M.A.N. auf VLAN mit angegebener IP auf dem Standard-Switch* legen '''(alternativ zu ''iface''!)'''
|-
|}
<nowiki>*</nowiki> Bei Adrian: Nur verwenden, wenn maximal EIN ethX mit tagged VLANs vorhanden ist!
==== wan ====
{|
! 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 physikalisches auf Interface legen
|-
| vlan || int || nein || WAN auf VLAN mit angegebener IP auf dem Standard-Switch* legen '''(alternativ zu ''iface''!)'''
|-
|}
<nowiki>*</nowiki> Bei Adrian: Nur verwenden, wenn maximal EIN ethX mit tagged VLANs vorhanden ist!


==== babelpeer ====
==== babelpeer ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 208: Zeile 172:
! style="text-align:left" | Beschreibung
! style="text-align:left" | Beschreibung
|-
|-
| iface || interface || nein || Babel auf physikalisches Interface legen
| 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''!)'''
| vlan* || number || nein || Babel auf VLAN mit angegebener IP auf dem Standard-Switch legen '''(alternativ zu ''iface''!)'''
|-
|-
| type || babel-type || nein || Babel-Verbindungstyp (z.&nbsp;B. ''wired'', ''wireless'', ''tunnel'', ...)
| type || babel-type || nein || Babel-Verbindungstyp (z.&nbsp;B. ''wired'', ''wireless'', ''tunnel'', ...)
Zeile 224: Zeile 188:
|}
|}


<nowiki>*</nowiki> Bei Adrian: Nur verwenden, wenn maximal EIN ethX mit tagged VLANs vorhanden ist!
<nowiki>*</nowiki> Die Verwendung dieser Optionen erfolgt analog zur Definition in client, batman, usw.


==== wireguardpeer ====
==== wireguardpeer ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 239: Zeile 203:
| persistent_keepalive || seconds || nein ||  
| persistent_keepalive || seconds || nein ||  
|-
|-
| public_key || wireguard pubkey || ja || Öffentlicher Schlüssel des Peering-Partners
| local_private_key || wireguard privkey || nein || Eigener privater Schlüssel ab 201908 (''automatisch generiert wenn nicht angegeben'')
|-
| private_key || wireguard privkey || nein || Eigener privater Schlüssel bis 201907 (''automatisch generiert wenn nicht angegeben'')
|-
| remote_public_key || wireguard pubkey || ja || Öffentlicher Schlüssel des Peering-Partners ab 201908
|-
|-
| private_key || wireguard privkey || nein || Eigener privater Schlüssel (''automatisch generiert wenn nicht angegeben'')
| public_key || wireguard pubkey || ja || Öffentlicher Schlüssel des Peering-Partners bis 201907
|-
|-
| rxcost || int || nein || Babel rxcost
| rxcost || int || nein || Babel rxcost
Zeile 254: Zeile 222:


==== babelfilter '<name>' ====
==== babelfilter '<name>' ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
! style="width:80px;text-align:left" | Pflicht
! style="width:80px;text-align:left" | Pflicht
! style="width:80px;text-align:left" | Variante
! style="width:80px;text-align:left" | Beschreibung
! style="text-align:left" | Beschreibung
|-
|-
| &lt;name&gt; || string || ja || Name des generierten uci Eintrags
| &lt;name&gt; || string || ja || Name des generierten uci-Eintrags
|-
|-
| net || IPv6 network || ja || IPv6 Netzwerk (z.b. aaaa:bbbb:cccc::/48)
| net || IPv6 network || ja || IPv6-Netzwerk (z.&nbsp;B. 2001:db8::/48)
|-
|-
| type || string || ja || z. Zt. nur 'redist'
| type || string || ja || z.&nbsp;Zt. nur 'redist'
|-
|-
|}
|}


==== monitoring 'gwinfo' ====
==== monitoring 'gwinfo' ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 278: Zeile 245:
| admin || list || nein || Admin-Namen für Monitoring
| admin || list || nein || Admin-Namen für Monitoring
|-
|-
| statslink || URL || nein || Web-Adresse für Statistik-Seite des GW
| statslink || URL || nein || Webadresse für Statistik-Seite des GW
|-
|-
| urls || list || nein || Zieladressen für gwinfo-Skript*
| urls || list || nein || Zieladressen für gwinfo-Skript*
Zeile 287: Zeile 254:


==== monitoring 'alfred' ====
==== monitoring 'alfred' ====
{|
{| class="wikitable"
! style="width:80px;text-align:left" | Name
! style="width:80px;text-align:left" | Name
! style="width:120px;text-align:left" | Typ
! style="width:120px;text-align:left" | Typ
Zeile 299: Zeile 266:
<nowiki>*</nowiki> Wird 'urls' nicht angegeben, wird die Standard-Adresse verwendet. Verwendet man die option, fällt der default weg, und alle Zieladressen müssen hier genannt werden.
<nowiki>*</nowiki> Wird 'urls' nicht angegeben, wird die Standard-Adresse verwendet. Verwendet man die option, fällt der default weg, und alle Zieladressen müssen hier genannt werden.


== Beispiele für Geräte mit Mixed-Switch ==
== Beispielkonfigurationen (nur Ethernet) ==
 
=== Beispiele für Standard-Geräte mit Switch ===
 
==== TL-WDR4300 v1/TL-WDR4900 v1 ====
 
<pre>
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1'
        option ports '0t 4 5'
 
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2'
        option ports '0t 1'
 
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3'
        option ports '0t 2 3'
 
config client
        option vlan '1'
        ...
 
config batman
        option vlan '3'
 
config wan # Nicht notwendig, nur zur Erläuterung
        option vlan '2'
</pre>


=== Archer C7 v2 ===
==== TL-WR1043ND v4 ====


<pre>
<pre>
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1'
        option ports '0t 2 1'
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2'
        option ports '0t 5'
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3'
        option ports '0t 4 3'
config client
        option vlan '1'
        ...
config batman
        option vlan '3'
config wan # Nicht notwendig, nur zur Erläuterung
        option vlan '2'
</pre>
=== Beispiele für Geräte ohne vollwertiges/konfigurierbares Switch ===
==== Fritzbox 4040 (Switch-Modus Client) ====
<pre>
# Keine VLAN-Definitionen nötig
config client
        option iface 'eth0'
        ...
config batman
        # Kein option iface, da nur WAN und CLIENT konfiguriert
config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth1'
</pre>
==== Fritzbox 4040 (Switch-Modus Batman) ====
<pre>
# Keine VLAN-Definitionen nötig
config client
        # Kein option iface, da nur WAN und BATMAN konfiguriert
        ...
config batman
        option iface 'eth0'
config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth1'
</pre>
==== GL-AR150 (LAN-Port-Modus Client) ====
<pre>
# Keine VLAN-Definitionen nötig
config client
        option iface 'eth1'
        ...
config batman
        # Kein option iface, da nur WAN und CLIENT konfiguriert
config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth0'
</pre>
=== Beispiele für Geräte mit Mixed-Switch ===
==== Archer C7 v2 ====
<pre>
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1'
        option ports '0t 4 5'
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2'
        option ports '6t 1'
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3'
        option ports '0t 2 3'
config client
config client
         option iface 'eth1.1'  
         option iface 'eth1.1'  
Zeile 317: Zeile 402:
</pre>
</pre>


=== TL-WR1043ND v2/v3 ===
==== TL-WR1043ND v2/v3 ====
 
<pre>
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1'
        option ports '0t 1 2'


TBD
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2'
        option ports '6t 5'


=== C2600 ===
config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3'
        option ports '0t 3 4'
 
config client
        option iface 'eth1.1'
        ...
 
config batman
        option iface 'eth1.3'
 
config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth0.2'
</pre>
 
==== C2600 ====


<pre>
<pre>
config add_vlan  
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
         option vlan '1'  
         option vlan '1'  
         option ports '1 2 6t'  
         option ports '1 2 6t'  


config add_vlan  
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
         option vlan '2'  
         option vlan '2'  
         option ports '5 0t'  
         option ports '5 0t'  


config add_vlan  
config add_vlan # Nur angeben, wenn Ports geändert werden sollen
         option vlan '3'  
         option vlan '3'  
         option ports '3 4 6t'  
         option ports '3 4 6t'  
Zeile 343: Zeile 450:
         option iface 'eth1.3'  
         option iface 'eth1.3'  


# Nicht notwendig, nur zur Erläuterung
config wan # Nicht notwendig, nur zur Erläuterung
config wan
         option iface 'eth0.2'  
         option iface 'eth0.2'  
</pre>
</pre>
=== Parameter-Übersicht ===
==== Varianten: ====
O = offiziell; F = Fabian; A = Adrian

Aktuelle Version vom 10. März 2020, 14:08 Uhr

/etc/config/gateway

Die folgenden Unterkapitel erläutern die verschiedenen Konfigurationseinheiten in der Datei /etc/config/gateway

Gültig ab gw_20190527

Ältere Versionen aus 2019 sind nicht stabil und sollten aktualisiert werden. Für Versionen aus dem Jahr 2018 ist eine ANDERE Konfiguration notwendig.

VLAN-/Port-Konfiguration

Zur Konfiguration der Ports existieren grundsätzlich drei Möglichkeiten.

1. /etc/firstbootfff

Die Datei /etc/firstbootfff wird nach jedem Upgrade ausgeführt und kann beliebige uci commands enthalten. Ports können dort entsprechend updatesicher gesetzt werden, z. B.

uci set network.vlan1.ports='0t 1 2' # Set client ports
uci set network.vlan2.ports='0t 5' # Set wan port (if wan is in switch)
uci set network.vlan3.ports='0t 3 4' # Set batman ports
uci commit network

Im Normalbetrieb kann man dann entweder dieselben Änderungen manuell in /etc/config/network vornehmen oder

sh /etc/firstbootfff

aufrufen.

Hier können auch komplexere Änderungen vorgenommen werden:

Neues VLAN anlegen:

. /lib/functions/fff/networksetup
addVLAN '5' '0t 6' # Add VLAN with ID 5 and use ports 0t and 6

VLAN löschen:

uci del network.vlan2 # Delete VLAN with ID 2 (default WAN)

2. WebUI

Das WebUI verfügt nun über einen primitiven Modus, um Ports in einem Switch zu konfigurieren. Dabei können die Ports für bestehende VLANs verändert werden, das Anlegen neuer VLANs oder Löschen bestehender ist (noch) nicht möglich.

Wurde ein VLAN jedoch in der /etc/config/network angelegt, ist es danach auch im WebUI konfigurierbar. (Namensschema vlanX beachten!)

Alle Änderungen per WebUI werden automatisch in die /etc/firstbootfff eingetragen, wodurch sie updatesicher werden.

3. /etc/config/gateway

Die beiden zuvor genannten Möglichkeiten sind unabhängig von der gewählten Firmware-Variante (Knoten vs. Gateway).

Im Rahmen der Gateway-Firmware ist es nun zusätzlich möglich, Ports in der /etc/config/gateway zu definieren. Diese Notation ist jedoch optional, d.h. wurden die Ports bereits anderweitig definiert oder soll die Standardkonfiguration verwendet werden, ist keine nochmalige Definition nötig.

Zum Anlegen eines VLANs oder Überschreiben der bestehenden Ports kann folgender Block verwendet werden:

config add_vlan 
        option vlan '11' # VLAN-ID
        option ports '0t 4' # Ports inkl. CPU-Anbindung

Achtung: Meine Firmware erfordert die Angabe des CPU-Ports (hier 0t).

Soll ein VLAN geändert werden, sodass die alte VLAN-ID entfernt werden muss, kann folgender Block verwendet werden:

config del_vlan 
        option vlan '2' # Zu entfernende VLAN-ID

Die Blöcke 'config vlan' aus der bisherigen Gatewayfirmware werden nicht ausgewertet.

Nochmals: Möchte man die Standardkonfiguration verwenden, ist hier keine Angabe nötig. Gleiches gilt für Two-Port-Geräte ohne konfigurierbares Switch.

Netzwerk-Konfiguration

Nach der Konfiguration der VLANs muss jedes VLAN oder Ethernet-Interface nun den entsprechenden Funktionen (client, batman, babel, ...) zugewiesen werden, z. B.:

Client-Funktion an VLAN-ID 1 binden (typische Geräte mit Switch):

config client
        option vlan '1'

ODER Client-Funktion an eth0 binden (z. B. FritzBox 4040 mit Switch für Clients):

config client
        option iface 'eth0'

Achtung: Bestimmte Geräte (TL-WR1043ND v2/v3, Archer C7 v2, C2600) haben mehrere ethX mit dem Switch verbunden ("Mixed Switch"). Hier darf die 'option vlan' nicht verwendet werden. Stattdessen muss die Notation ethX.Y (Y=VLAN-ID) verwendet werden:

config client
        option iface 'eth1.1'

Eine Übersicht von Beispielkonfigurationen findet sich ganz unten.

Entsprechend dem obigen Prinzip erfolgt dann auch die Definition von 'config batman' und 'config wan'.

Achtung: client und batman sind Pflichtangaben. wan hingegen ist optional, erfolgt keine Angabe bleibt die bestehende Konfiguration erhalten.

Weitere Optionen

Die folgenden Tabellen geben eine Übersicht über weitere Config-Blöcke und Optionen.

Bitte benutzte IP-Adressbereiche im Wiki eintragen:

IPv4: Portal:Netz

IPv6: Portal:Netz/IPv6

gateway

Name Typ Pflicht Beschreibung
peer_ip IPv4-Adresse nein IPv4-Adresse für Peerings
peer_ip6 IPv6-Adresse nein IPv6-Adresse für Peerings

client

Die folgenden Optionen müssen zusätzlich zur 'option vlan' bzw. 'option iface' im Block 'config client' angegeben werden. Es darf nicht mehr als einen Block 'config client' in der /etc/config/gateway geben!

Name Typ Pflicht Beschreibung
ipaddr IPv4-Adresse nein Router-IP im Client-Netz (CIDR-Notation)
ip6addr IPv6-Adresse nein Router-IP im Client-Netz (CIDR-Notation)**
dhcp_start IPv4-Adresse nein DHCP-Startadresse
dhcp_limit int nein Maximale Anzahl an DHCP-Leases (default 150)

** Zum Beispiel 2001:db8:aaaa:bbbb::1/64, wobei 2001:db8 dem Provider zugewiesen ist und aaaa, den du beim Reservieren erhältst, und bbbb, der selbst festgelegte Teil (damit es zu einem /64-Netz wird), mit dem du die jeweiligen Netze der dezentralen Gateways unterscheidest. Im Monitoring wird die Adresse dann unter 2001:db8:ffff:ffff:ffff:ffff:ffff:ff01 maskiert.

dns

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

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

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
babel_penalty int nein Penalty für eingehenden und ausgehenden Traffic
mtu int nein MTU für Babel peering
fix_mtu 0 oder 1 nein PMTU clamping aktivieren (default: aus)

* Die Verwendung dieser Optionen erfolgt analog zur Definition in client, batman, usw.

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
local_private_key wireguard privkey nein Eigener privater Schlüssel ab 201908 (automatisch generiert wenn nicht angegeben)
private_key wireguard privkey nein Eigener privater Schlüssel bis 201907 (automatisch generiert wenn nicht angegeben)
remote_public_key wireguard pubkey ja Öffentlicher Schlüssel des Peering-Partners ab 201908
public_key wireguard pubkey ja Öffentlicher Schlüssel des Peering-Partners bis 201907
rxcost int nein Babel rxcost
babel_penalty int nein Penalty für eingehenden und ausgehenden Traffic
mtu int nein MTU für Babel peering
fix_mtu 0 oder 1 nein PMTU clamping aktivieren (default: aus)

babelfilter '<name>'

Name Typ Pflicht Beschreibung
<name> string ja Name des generierten uci-Eintrags
net IPv6 network ja IPv6-Netzwerk (z. B. 2001:db8::/48)
type string ja z. Zt. nur 'redist'

monitoring 'gwinfo'

Name Typ Pflicht Beschreibung
admin list nein Admin-Namen für Monitoring
statslink URL nein Webadresse für Statistik-Seite des GW
urls list nein Zieladressen für gwinfo-Skript*

* Wird 'urls' nicht angegeben, wird die Standard-Adresse verwendet. Verwendet man die option, fällt der default weg, und alle Zieladressen müssen hier genannt werden.

monitoring 'alfred'

Name Typ Pflicht Beschreibung
urls list nein Zieladressen für alfred-proxy-Skript*

* Wird 'urls' nicht angegeben, wird die Standard-Adresse verwendet. Verwendet man die option, fällt der default weg, und alle Zieladressen müssen hier genannt werden.

Beispielkonfigurationen (nur Ethernet)

Beispiele für Standard-Geräte mit Switch

TL-WDR4300 v1/TL-WDR4900 v1

config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1' 
        option ports '0t 4 5' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2' 
        option ports '0t 1' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3' 
        option ports '0t 2 3' 

config client 
        option vlan '1' 
        ... 

config batman 
        option vlan '3' 

config wan # Nicht notwendig, nur zur Erläuterung
        option vlan '2' 

TL-WR1043ND v4

config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1' 
        option ports '0t 2 1' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2' 
        option ports '0t 5' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3' 
        option ports '0t 4 3' 

config client 
        option vlan '1' 
        ... 

config batman 
        option vlan '3' 

config wan # Nicht notwendig, nur zur Erläuterung
        option vlan '2' 

Beispiele für Geräte ohne vollwertiges/konfigurierbares Switch

Fritzbox 4040 (Switch-Modus Client)

# Keine VLAN-Definitionen nötig

config client
        option iface 'eth0'
        ...

config batman
        # Kein option iface, da nur WAN und CLIENT konfiguriert

config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth1' 

Fritzbox 4040 (Switch-Modus Batman)

# Keine VLAN-Definitionen nötig

config client
        # Kein option iface, da nur WAN und BATMAN konfiguriert
        ...

config batman
        option iface 'eth0'

config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth1' 

GL-AR150 (LAN-Port-Modus Client)

# Keine VLAN-Definitionen nötig

config client
        option iface 'eth1'
        ...

config batman
        # Kein option iface, da nur WAN und CLIENT konfiguriert

config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth0' 

Beispiele für Geräte mit Mixed-Switch

Archer C7 v2

config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1' 
        option ports '0t 4 5'

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2' 
        option ports '6t 1' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3' 
        option ports '0t 2 3' 

config client
        option iface 'eth1.1' 

config batman
        option iface 'eth1.3'

# Diese Angabe erfolgt nur zur Erklärung.
# Da es sich um die Standardkonfiguration handelt,
# kann diese am Gerät entfallen
config wan
        option iface 'eth0.2' 

TL-WR1043ND v2/v3

config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1' 
        option ports '0t 1 2'

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2' 
        option ports '6t 5' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3' 
        option ports '0t 3 4' 

config client 
        option iface 'eth1.1' 
        ... 

config batman 
        option iface 'eth1.3' 

config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth0.2' 

C2600

config add_vlan # Nur angeben, wenn Ports geändert werden sollen
        option vlan '1' 
        option ports '1 2 6t' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '2' 
        option ports '5 0t' 

config add_vlan  # Nur angeben, wenn Ports geändert werden sollen
        option vlan '3' 
        option ports '3 4 6t' 

config client 
        option iface 'eth1.1' 
        ... 

config batman 
        option iface 'eth1.3' 

config wan # Nicht notwendig, nur zur Erläuterung
        option iface 'eth0.2'