Layer3Firmware: Unterschied zwischen den Versionen
| Zeile 1: | Zeile 1: | ||
== Allgemeine Informationen == | == Allgemeine Informationen == | ||
Die Gatewayfirmware kann sehr einfach mithilfe von Hoodfile | 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! | 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! | ||
| Zeile 15: | Zeile 15: | ||
Fertige Builds gibt es entsprechend den Tags aus dem o.g. Repository hier: http://fw.sgstbr.de/gateway/ | Fertige Builds gibt es entsprechend den Tags aus dem o.g. Repository hier: http://fw.sgstbr.de/gateway/ | ||
Eine Bespielkonfiguration mit einem direkten Peer und einem Wireguardpeer gibts hier: https://gist.github.com/fblaese/ca4d903b20b4d7033553f48625b93ca6 | |||
== configuregateway == | == configuregateway == | ||
Version vom 6. Mai 2018, 21:13 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!
ACHTUNG: Unbekannte Einstellungen werden möglicherweise entfernt!
ULA und Wifi bezieht das Skript aus der Hoodfile, den Rest aus /etc/config/gateway.
Hostname und Position müssen aktuell manuell in /etc/config/fff eingetragen werden, das Webinterface ist aus $Gründen kaputt.
Die Gatewayfirmware wird aktuell größtenteils hier entwickelt: https://github.com/fblaese/firmware/tree/l3
Fertige Builds gibt es entsprechend den Tags aus dem o.g. Repository hier: http://fw.sgstbr.de/gateway/
Eine Bespielkonfiguration mit einem direkten Peer und einem Wireguardpeer gibts hier: https://gist.github.com/fblaese/ca4d903b20b4d7033553f48625b93ca6
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 |