Layer3Firmware Config/nat

== 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 ===
 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 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.
== /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' #ändern auf eingetragene IPv6-Adresse
 	list ip6addr '2a0b:f4c0:k7:e8::1/48' #ändern auf vergebenes Subnetz
 	list ipaddr '10.83.261.1/24' #ändern auf eingetragene IPv4-Adresse
 	option dhcp_start '10.83.261.50' #ändern gemäß IPv4-Adresse
 	option dhcp_limit '1000'
 	option essid 'bla.freifunk'
 	option chan2ghz '13'
 	option chan5ghz '36'
 
 config dns
 	list server 'fd43:5602:29bd:ffff::42'
 	list server 'fd43:5602:29bd:ffff:a:a:a:a'
 	list server 'fd43:5602:29bd:ffff::252'
 
 ## Vorsicht: Config-Namen dürfen keine '-' enthalten
 config babelpeer 'hochhaus'
 	option vlan '10'
 	option type 'wired'
 	option rxcost '1024'
 
 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
==== vlan ====
Name 	Typ 	Pflicht	Beschreibung
comment	string	nein 	
port 	list 	nein 	Ports auf dem Standard-Switch
==== 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 IP 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)**
dhcp_start	IPv4-Adresse	nein 	DHCP-Startadresse
dhcp_limit	int 	nein 	Maximale Anzahl an DHCP-Leases (default 150)
nat 	int 	nein 	aktiviert IPv4 NAT für die Clients an br-mesh. Achtung bei gateway muss peer_ip gesetzt werden.
** 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.
==== 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
==== 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 	- 	Abschnitt config vlan '2' entfällt.
LAN 	1 	
==== TP-Link WDR4900 v1 ====
Port 	Switch Port
WAN 	1
LAN 1	2
LAN 2	3
LAN 3	4
LAN 4	5
==== 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
Port (Beschriftung)	Switch Port	Funktion	ER-X 	ER-X-SFP
eth0 	0 	WAN 	24V PoE passiv in 	24V PoE passiv out
eth1 	1 	Mesh 	 	24V PoE passiv out
eth2 	2 	Mesh 	 	24V PoE passiv out
eth3 	3 	Client 	 	24V PoE passiv out
eth4 	4 	Client 	24V PoE passiv passthrough	24V PoE passiv out
eth5/SFP 	5 	- 	nicht vorhanden 	kein Support! (stand Nov. 2019)
 	6 	CPU