Layer3Firmware Config: Unterschied zwischen den Versionen
(Änderung 21238 von Pyro (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
|||
(14 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
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 ' | 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' # | list ip6addr 'fd43:5602:29bd:k7::1/64' # aendern auf eingetragene IPv6-Adresse (nur /64!) | ||
list ip6addr '2a0b:f4c0:k7:e8::1/64' # | list ip6addr '2a0b:f4c0:k7:e8::1/64' # aendern auf vergebenes Subnetz (nur /64!) | ||
list ipaddr '10.83.261.1/24' # | list ipaddr '10.83.261.1/24' # aendern auf eingetragene IPv4-Adresse | ||
option dhcp_start '10.83.261.50' # | 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' | ||
Zeile 70: | Zeile 70: | ||
config dns | config dns | ||
list server 'fd43:5602:29bd:ffff:1:1:1:1' #anycast Adresse | 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, nur fuer IPv6-only Router | |||
## Vorsicht: Config-Namen dürfen keine '-' enthalten | ## Vorsicht: Config-Namen dürfen keine '-' enthalten | ||
Zeile 76: | Zeile 77: | ||
option vlan '10' | option vlan '10' | ||
option type 'wired' | option type 'wired' | ||
option rxcost ' | option rxcost '8192' | ||
config wireguardpeer 'meingateway' | config wireguardpeer 'meingateway' | ||
Zeile 89: | Zeile 90: | ||
'''Achtung:''' Die VLAN-Einstellungen hier sind für | '''Achtung:''' Die VLAN-Einstellungen hier sind für nicht DSA Geräte, 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 === | === Parameter-Übersicht === | ||
Zeile 155: | Zeile 156: | ||
|- | |- | ||
| 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 | | 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 | ||
|- | |||
| stateful_firewall || bool || nein || Aktiviert auf dem Client Interface eine Statefull Firewall die eingehende Verbindungen droppt. | |||
|- | |- | ||
| essid || string || nein || 16byte max. Länge, SSID des WLANs | | essid || string || nein || 16byte max. Länge, SSID des WLANs | ||
Zeile 191: | Zeile 194: | ||
<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 267: | Zeile 276: | ||
{| class="wikitable" | {| class="wikitable" | ||
! | ! Switchport-Interface Name (DSA) | ||
|- | |- | ||
| | | wan | ||
|- | |- | ||
| | | lan1 | ||
|- | |- | ||
| | | lan2 | ||
|- | |- | ||
| | | lan3 | ||
|- | |- | ||
| | | lan4 | ||
|- | |- | ||
|} | |} |
Aktuelle Version vom 11. November 2024, 13:35 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, nur 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 nicht DSA Geräte, 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) oder1t
(VLAN auf Portnummer 1 legen, tagged) - DSA:
eth0:*
(VLAN auf Port "eth0" legen, untagged) odereth0: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 |
stateful_firewall | bool | nein | Aktiviert auf dem Client Interface eine Statefull Firewall die eingehende Verbindungen droppt. |
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.