Layer3Firmware: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
Zeile 34: Zeile 34:
# Als Client mit dem Router per SSH verbinden '''oder''' aus dem Heimnetzwerk über die WAN-IP des Routers per SSH verbinden
# Als Client mit dem Router per SSH verbinden '''oder''' aus dem Heimnetzwerk über die WAN-IP des Routers per SSH verbinden
# [[#Peering-Partner|Peering-Partner]] für Wireguard suchen
# [[#Peering-Partner|Peering-Partner]] für Wireguard suchen
Dazu benötigt man einen Wiregard-Partner oder bei Drahtverbindung einen Babel Partner. Siehe "https://www.wireguard.com/quickstart/", um zu sehen, wie man sich den Key generiert, also:
$ wg genkey | tee privatekey | wg pubkey > publickey
Der Partner erhält dann den public key.
# Die [[#.2Fetc.2Fconfig.2Fgateway|Gateway-Konfiguration]] auf das Gerät kopieren (/etc/config/gateway)
# Die [[#.2Fetc.2Fconfig.2Fgateway|Gateway-Konfiguration]] auf das Gerät kopieren (/etc/config/gateway)
# Das [[#hood_file|Hood-File]] auf das Gerät kopieren (/www/hood/keyxchangev2data)
# Das [[#hood_file|Hood-File]] auf das Gerät kopieren (/www/hood/keyxchangev2data)

Version vom 15. Juni 2018, 15:15 Uhr

Allgemeine Informationen

Die Gatewayfirmware kann sehr einfach mithilfe des Skripts configuregateway auf Basis von Hoodfile (/www/hood/keyxchangev2data) und der Gatewaykonfiguration (/etc/config/gateway) konfiguriert werden.

Das Skript konfiguriert den Router entsprechend der /etc/config/gateway und Hoodfile und muss bei Änderungen erneut ausgeführt werden. configuregateway wird nie automatisch ausgeführt, entsprechend verliert der Router bei einem Update alle Einstellungen! (Es werden zwar die o.g. Dateien beim Upgrade KOPIERT, jedoch muss eben manuell configuregateway ausgeführt werden, um sie ANZUWENDEN ...)

ACHTUNG: Unbekannte Einstellungen werden möglicherweise entfernt!


ULA und Wifi bezieht das Skript aus der Hoodfile, den Rest aus /etc/config/gateway.

Variante Fabian: Hostname und Position müssen aktuell manuell in /etc/config/fff eingetragen werden, das Webinterface ist aus $Gründen kaputt.

Variante Adrian: Das Webinterface funktioniert wie bei einem normalen Knoten. Alle Gateway-spezifischen Einstellungen müssen weiterhin wie oben beschrieben manuell per SSH/Config-Datei gesetzt werden.


Die Gatewayfirmware wird aktuell größtenteils hier entwickelt:


Fertige Builds gibt es entsprechend den Tags aus dem o.g. Repository hier:


Eine Bespielkonfiguration mit einem direkten Peer und einem Wireguardpeer gibts hier: https://gist.github.com/fblaese/ca4d903b20b4d7033553f48625b93ca6

Typischer Ablauf einer Installation

  1. Router flashen
  2. Als Client mit dem Router per SSH verbinden oder aus dem Heimnetzwerk über die WAN-IP des Routers per SSH verbinden
  3. Peering-Partner für Wireguard suchen

Dazu benötigt man einen Wiregard-Partner oder bei Drahtverbindung einen Babel Partner. Siehe "https://www.wireguard.com/quickstart/", um zu sehen, wie man sich den Key generiert, also:

$ wg genkey | tee privatekey | wg pubkey > publickey

Der Partner erhält dann den public key.

  1. Die Gateway-Konfiguration auf das Gerät kopieren (/etc/config/gateway)
  2. Das Hood-File auf das Gerät kopieren (/www/hood/keyxchangev2data)
  3. "configuregateway -c" ausführen
  4. uci-Einstellungen überprüfen
  5. "configuregateway -a" ausführen

hood file

Details zum Hood-File unter: Hood file


configuregateway

Folgende Parameter können übergeben werden:

  • -c: Konfiguriert das Gateway mit uci. Kein commit, kein Anwenden der Einstellungen!
  • -t: Startet alle Dienste neu, damit werden die Einstellungen aus -c angewendet. Skript wartet bis zu 200s darauf, dass es beendet wird (Strg + c wenn ssh nicht verloren geht, ansonsten kill(all)). Wird das Skript in dieser Zeit nicht beendet, werden die Einstellungen zurückgesetzt und die Dienste erneut neu gestartet.
  • -a: Applied die Änderungen (uci commit), startet Dienste neu.
  • -r: Revert changes.

/etc/config/gateway

gateway

Name Type Required Description
name string no
peer_ip IPv4 Adresse no IPv4 Adresse für Peerings
peer_ip6 IPv6 Adresse no IPv6 Adresse für Peerings

vlan

Name Type Required Description
comment string no
port list no Ports auf dem Standard-Switch

client

Name Type Required Description
iface interface no Clientnetz auf Interface legen
vlan number no Clientnetz auf VLAN mit angegebener IP auf dem Standard-Switch legen (Alternativ zu iface!!)
ipaddr IPv4 Adresse no Router-IP im Client-Netz (CIDR Notation)
ip6addr IPv6 Adresse no Router-IP im Client-Netz (CIDR Notation)
dhcp_start IPv4 Adresse no DHCP Startadresse
dhcp_limit number no Maximale Anzahl an DHCP-Leases

dns

Name Type Required Description
server list no DNS-Server, auf den geforwarded wird

batman

Name Type Required Description
iface interface no Batman auf physikalisches auf Interface legen
vlan number no Batman auf VLAN mit angegebener IP auf dem Standard-Switch legen (Alternativ zu iface!!)

babelpeer

Name Type Required Description
iface interface no Babel auf physikalisches Interface legen
vlan number no Babel auf VLAN mit angegebener IP auf dem Standard-Switch legen (Alternativ zu iface!!)
type babel-type no Babel Verbindungstyp (z.B. wired, tunnel, ..)

wireguardpeer

Name Type Required Description
endpoint_host host oder ip yes
endpoint_port port yes
persistent_keepalive seconds no
public_key wireguard pubkey yes
private_key wireguard privkey no automatically generated if unspcified


Hardware Port Belegungen

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

TP-Link WDR4900 v1.3

Port Switch Port
CPU 0
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
GMII 5

TP-Link WR1043ND v2.x + v3.x

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

ACHTUNG: Bei den Modellen WR841N v8 - v11 ist der Blaue WAN Port IMMER WAN!

TP-Link WR841N v8

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

TP-Link WR841N v9 + v10 +v11

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