LoRaWAN-Gatewaysetup: Unterschied zwischen den Versionen

Aus Un-Hack-Bar
Zur Navigation springen Zur Suche springen
K
(Formatierung verbessert, PPP L2TP eingefügt)
Zeile 15: Zeile 15:
 
Im Vorfeld mit dem Gastgeber klären ob wir für Remote-Management den SSH Port durch die Firewall weiterleiten dürfen (sehr zu bevorzugen). Außerdem wäre ein Dyndns Dienst hilfreich (aber nicht zwingend erforderlich). Außerdem sollten wir Port 1700 TCP und UDP an das Gateway weiterleiten (für den Downlink vom TTN zu den Nodes).
 
Im Vorfeld mit dem Gastgeber klären ob wir für Remote-Management den SSH Port durch die Firewall weiterleiten dürfen (sehr zu bevorzugen). Außerdem wäre ein Dyndns Dienst hilfreich (aber nicht zwingend erforderlich). Außerdem sollten wir Port 1700 TCP und UDP an das Gateway weiterleiten (für den Downlink vom TTN zu den Nodes).
  
Folgende Schritte sind auf den Gateways zu erledigen:
+
Folgende Schritte sind auf den Gateways in den Verschiedenen Sektionen zu erledigen:
  
=== User absichern ===
+
=== Interfaces ===
 +
* (ggfs.) lte1: Deaktivieren
 +
* (ggfs.) wlan1: Deaktivieren
  
'''System -> User'''
+
=== PPP ===
 +
Hier legen wir die Verbindung zum Space-Router via L2TP an.
 +
 
 +
''Add New, L2TP Client''
 +
 
 +
{| class="wikitable"
 +
| Name:          || l2tp-out1  || ''(Kann frei gewählt werden)''
 +
|-
 +
| Max MTU        || 1450 ||
 +
|-
 +
| Max MRU        || 1450 ||
 +
|-
 +
| Connect to:    || router.unhb.space ||
 +
|-
 +
| User:          || ''z.B. lorwan-gw01 || ''Entsprechend den Usern unter PPP->Secrets auf dem Space-Router <br \>Siehe auch UNHB-Keepass''
 +
|-
 +
| Password      || ''SUPERGEHEIM || ''Ebenfalls entsprechend den USern unter PPP->Secrets auf dem Space Router<br \>Siehe auch UNHB-Keepass''
 +
|-
 +
| Use IPsec      || Yes
 +
|-
 +
| IPsec Secret  || ''SUPERGEHEIM^2'' || ''Wieder siehe Space-Router<br \>Findet sich auch im UNHB-Keepass
 +
|}
 +
 
 +
=== System ===
 +
Im System Abschnitt müssen vor allem weitere User angelegt werden sowie IPv6 aktiviert werden.
 +
 
 +
==== User ====
  
 
# Sichers Passwort für den User "admin" anlegen und im Anschluss sperren
 
# Sichers Passwort für den User "admin" anlegen und im Anschluss sperren
Zeile 27: Zeile 55:
 
Kennwörter für "unhb" und "admin" im UNHB Keepass speichern!
 
Kennwörter für "unhb" und "admin" im UNHB Keepass speichern!
  
=== Netzwerk Interfaces ===
+
==== Packages ====
'''Interfaces'''
+
* IPv6 Paket aktivieren
* (ggfs.) lte1: Deaktivieren
+
 
* (ggfs.) wlan1: Deaktivieren
+
==== Scheduler ====
 +
Wir möchte automatisch Updates installieren lassen. Dazu legen wir einen entsprechend regelmässig ausgeführten Job an.
 +
 
 +
''Add New''
  
=== Netzwerk IP ===
+
{| class="wikitable"
 +
| Name:          || Auto Update  || ''(Kann frei gewählt werden)''
 +
|-
 +
| Start Date:    || jul/01/2021 ||
 +
|-
 +
| Start Time    || "startup"  ||
 +
|-
 +
| Interval || 12:00:00    || ''Wir prüfen also 2x am Tag''
 +
|-
 +
| Policy        || ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon ||
 +
|-
 +
| On Event
 +
| /system package update <br />check-for-updates once<br />:delay 3s;<br />:if ( [get status] = "New version is available") do={ install }
 +
|
 +
|-
 +
|}
  
'''System -> Packages'''
+
  name="Auto Update"
* IPv6 Paket aktivieren
+
  start-date=jul/01/2021
 +
  start-time=startup
 +
  interval=12h
 +
  on-event=/system package update\ncheck-for-updates once\n:delay 3s;\n:if ( [get status] = "New version is available") do={ install }
 +
  policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon
 +
 
 +
=== IP ===
  
'''IPv6 -> Addresses'''
+
==== Addresses ====
 
* Link Local IP im Keepass speichern
 
* Link Local IP im Keepass speichern
  
'''IPv6 -> Settings'''
+
Ist evtl. später zur Fernwartung mal hilfreich.
* IPv6 Forward: Aktivieren
+
 
* Accept Redirekt: Aktivieren
+
==== DHCP Client ====
* Accept Router Advertisments: "yes"
+
 
 +
In der Default-Konfig haben die LoRaWAN Gateways kein DHCP-Client aktiviert. Für gewöhnlich werden die Standorte aber wohl einen Router mit eingebauten DHCP-Server verwenden. Daher konfigurieren wir nun die automatische Adresskonfiguration.
 +
 
 +
''Add New'' mit folgenden Parametern:
 +
 
 +
{| class="wikitable"
 +
|Interface:         || bridge  ||
 +
|-
 +
|Add Default Route: || Yes ||
 +
|-
 +
|Use Peer DNS || Yes ||
 +
|-
 +
|Use Peer NTP || Yes ||
 +
|-
 +
|DHCP Options || hostname,clientid
 +
|}
  
'''IP -> DHCP Client'''
 
* Add New:
 
 
   interface=bridge
 
   interface=bridge
 
   add-default-route=yes
 
   add-default-route=yes
Zeile 53: Zeile 118:
 
   dhcp-options=hostname,clientid  
 
   dhcp-options=hostname,clientid  
  
'''IP -> DNS'''
+
==== DNS ====
 
* Allow Remote Requests: Deaktivieren
 
* Allow Remote Requests: Deaktivieren
  
'''IP -> Services'''
+
 
 +
==== Services ====
 
* API: Deaktivieren
 
* API: Deaktivieren
 
* API-SSL: Deaktivieren
 
* API-SSL: Deaktivieren
Zeile 63: Zeile 129:
 
* winbox: Deaktivieren
 
* winbox: Deaktivieren
 
* www-ssl: Deaktivieren (je nach Absprache mit Standort-Sponsor)
 
* www-ssl: Deaktivieren (je nach Absprache mit Standort-Sponsor)
* www: Deaktivieren (je nach Absprache mit Standort-Sponsor)
+
* www: Aktivieren (je nach Absprache mit Standort-Sponsor)
 
* ssh: Aktivieren
 
* ssh: Aktivieren
  
=== LoRaWAN ===
+
=== IPv6 ===
'''LoRa -> Servers'''
+
Da IPv6 sich überwiegend selbst konfiguriert brauchen wir nur wenige Einstellungen.
* Neuen Server anlegen:
+
==== Settings ====
  Name: TTN v3
+
* IPv6 Forward: Aktivieren
  Address: eu1.cloud.thethings.network
+
* Accept Redirekt: Aktivieren
  Up port: 1700
+
* Accept Router Advertisments: "yes"
  Down port: 1700
+
 
 +
=== LoRa ===
 +
In diesem Abschnitt wird die Verbindung zum The Things Network eingerichtet. Dabei gibt es alles in allem nicht viel zu tun.
 +
==== Servers ====
 +
'''Add New'''
  
'''LoRa -> Device'''
+
{| class="wikitable"
* Gerät konfigurieren
+
|Name:          || TTN v3  || ''(Kann beliebig verwendet werden)''
  Name: Entsprechend Namensschema
+
|-
  Gateway ID: Wie Hardware ID
+
|Address:       || eu1.cloud.thethings.network ||
  Network Server: "TTN v3"
+
|-
  Channel plan: "EU 868"
+
|Up port:       || 1700 ||
  Forward: nur "Valid"
+
|-
  Spoof GPS: entsprechend des Standortes eintragen
+
|Down port:     || 1700 ||
 +
|}
  
=== Automatische Updates ===
+
==== Device ====
'''System -> Scheduler'''
+
'''Gerät konfigurieren'''
* Neuen Job anlegen:
 
  name="Auto Update"
 
  start-date=jul/01/2021
 
  start-time=08:00:00
 
  interval=12h
 
  on-event=/system package update\ncheck-for-updates once\n:delay 3s;\n:if ( [get status] = "New version is available") do={ install }
 
  policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon
 
  
 +
{| class="wikitable"
 +
| Name: || ''z.B. unhb-de-gw10-ltap-unhb'' || ''Entsprechend Namensschema''
 +
|-
 +
| Gateway ID: || Wie Hardware ID || ''Muss auch in der TTN Console eingetragen werden''
 +
|-
 +
| Network Server: || "TTN v3" ||
 +
|-
 +
| Channel plan: || "EU 868" ||
 +
|-
 +
| Forward: "Valid" || ''Pakete die nicht "valid" sind werden vom TTN Netzwerk verworfen.<br \>Das können wir auch lokal erledigen und damit die TTN Server entlasten''
 +
|-
 +
| Spoof GPS: || ''entsprechend des Standortes eintragen'' || ''kann man alternativ auch in der TTN Console fix eingetragen''
 +
|}
  
 
== automatisiertes Setup ==
 
== automatisiertes Setup ==
 
Noch offen
 
Noch offen

Version vom 20. August 2021, 08:23 Uhr

Allgemeines

Einrichtungsguide für die Gateways aus der Landesförderung

Da die Gateways kein Einfallstor in das Netz des Gastgebers sein sollen müssen die Gateways möglichst sicher konfiguriert werden (was im Grunde aber eh immer eine gute Idee ist...).

Es gibt aktuell 2 Ansätze zur Konfiguration:

  1. Manuell per Hand
  2. Automatisiert mit Ansible/flashfig

manuelles Setup

Achtung: NOCH IN ARBEIT

Im Vorfeld mit dem Gastgeber klären ob wir für Remote-Management den SSH Port durch die Firewall weiterleiten dürfen (sehr zu bevorzugen). Außerdem wäre ein Dyndns Dienst hilfreich (aber nicht zwingend erforderlich). Außerdem sollten wir Port 1700 TCP und UDP an das Gateway weiterleiten (für den Downlink vom TTN zu den Nodes).

Folgende Schritte sind auf den Gateways in den Verschiedenen Sektionen zu erledigen:

Interfaces

  • (ggfs.) lte1: Deaktivieren
  • (ggfs.) wlan1: Deaktivieren

PPP

Hier legen wir die Verbindung zum Space-Router via L2TP an.

Add New, L2TP Client

Name: l2tp-out1 (Kann frei gewählt werden)
Max MTU 1450
Max MRU 1450
Connect to: router.unhb.space
User: z.B. lorwan-gw01 Entsprechend den Usern unter PPP->Secrets auf dem Space-Router
Siehe auch UNHB-Keepass
Password SUPERGEHEIM Ebenfalls entsprechend den USern unter PPP->Secrets auf dem Space Router
Siehe auch UNHB-Keepass
Use IPsec Yes
IPsec Secret SUPERGEHEIM^2 Wieder siehe Space-Router
Findet sich auch im UNHB-Keepass

System

Im System Abschnitt müssen vor allem weitere User angelegt werden sowie IPv6 aktiviert werden.

User

  1. Sichers Passwort für den User "admin" anlegen und im Anschluss sperren
  2. Neuen User "unhb" mit Admin-Rechten und sicheren Passwort anlegen
  3. (Optional): User für den Gastgeber mit sicheren Passwort anlegen und Zugangsdaten rausgeben

Kennwörter für "unhb" und "admin" im UNHB Keepass speichern!

Packages

  • IPv6 Paket aktivieren

Scheduler

Wir möchte automatisch Updates installieren lassen. Dazu legen wir einen entsprechend regelmässig ausgeführten Job an.

Add New

Name: Auto Update (Kann frei gewählt werden)
Start Date: jul/01/2021
Start Time "startup"
Interval 12:00:00 Wir prüfen also 2x am Tag
Policy ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon
On Event /system package update
check-for-updates once
:delay 3s;
:if ( [get status] = "New version is available") do={ install }
 name="Auto Update"
 start-date=jul/01/2021
 start-time=startup
 interval=12h
 on-event=/system package update\ncheck-for-updates once\n:delay 3s;\n:if ( [get status] = "New version is available") do={ install }
 policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon

IP

Addresses

  • Link Local IP im Keepass speichern

Ist evtl. später zur Fernwartung mal hilfreich.

DHCP Client

In der Default-Konfig haben die LoRaWAN Gateways kein DHCP-Client aktiviert. Für gewöhnlich werden die Standorte aber wohl einen Router mit eingebauten DHCP-Server verwenden. Daher konfigurieren wir nun die automatische Adresskonfiguration.

Add New mit folgenden Parametern:

Interface: bridge
Add Default Route: Yes
Use Peer DNS Yes
Use Peer NTP Yes
DHCP Options hostname,clientid
 interface=bridge
 add-default-route=yes
 use-peer-dns=yes
 use-peer-ntp=yes
 dhcp-options=hostname,clientid 

DNS

  • Allow Remote Requests: Deaktivieren


Services

  • API: Deaktivieren
  • API-SSL: Deaktivieren
  • FTP: Deaktivieren
  • telnet: Deaktivieren
  • winbox: Deaktivieren
  • www-ssl: Deaktivieren (je nach Absprache mit Standort-Sponsor)
  • www: Aktivieren (je nach Absprache mit Standort-Sponsor)
  • ssh: Aktivieren

IPv6

Da IPv6 sich überwiegend selbst konfiguriert brauchen wir nur wenige Einstellungen.

Settings

  • IPv6 Forward: Aktivieren
  • Accept Redirekt: Aktivieren
  • Accept Router Advertisments: "yes"

LoRa

In diesem Abschnitt wird die Verbindung zum The Things Network eingerichtet. Dabei gibt es alles in allem nicht viel zu tun.

Servers

Add New

Name: TTN v3 (Kann beliebig verwendet werden)
Address: eu1.cloud.thethings.network
Up port: 1700
Down port: 1700

Device

Gerät konfigurieren

Name: z.B. unhb-de-gw10-ltap-unhb Entsprechend Namensschema
Gateway ID: Wie Hardware ID Muss auch in der TTN Console eingetragen werden
Network Server: "TTN v3"
Channel plan: "EU 868"
Forward: "Valid" Pakete die nicht "valid" sind werden vom TTN Netzwerk verworfen.
Das können wir auch lokal erledigen und damit die TTN Server entlasten
Spoof GPS: entsprechend des Standortes eintragen kann man alternativ auch in der TTN Console fix eingetragen

automatisiertes Setup

Noch offen