Bearbeiten von „LoRaWAN-Gatewaysetup“

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 13: Zeile 13:
 
'''Achtung: NOCH IN ARBEIT'''
 
'''Achtung: NOCH IN ARBEIT'''
  
Im Vorfeld sollte mit dem Gastgeber für ein Node geklärt werden ob der Gastgeber selbst auch zuriff auf das Gateway haben möchte. Außerdem können ggfs. spezielle Wüsnche berücksichtig werden (zB. das Gateway als WLAN Access Point eingerichtet werden um damit das WLAN des Gastgebers zu erweitern). Alles was auf dieser Seite beschrieben ist, ist eine Default-Ausgangskonfig die für die viele Anwendungszwecke ausreicht bzw. nur minimale Änderungen erfordert um weitere Wünsche zu erfüllen.
+
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:
  
 +
=== User absichern ===
  
=== Nach dem ersten Booten/Factory Reset ===
+
'''System -> User'''
 
 
In der Default Config nutzen die Gateways den Ethernetport als WAN Zugriff. Daher blockieren sie alle eingehenden Anfragen auf diesem Interface. Um das zu ändern muss man sich mit dem entsprechenden "Mikrotik XXXX" Wifi verbinden (kein Kennwort) und auf die Seite http://192.168.88.1 gehen. Von dort aus dann:
 
 
 
# '''WebFig''' auswählen ''(oben rechts)''
 
# Auf '''IP -> Addresses''' gehen und dort die IP für eth1 notieren
 
# '''Interfaces -> Interface-List''' <br \> Dort nun auf das Interface eth1 klicken und auf "LAN" umstellen.
 
# Anschließend erlaubt das Gateway Zugriffe auf das Webinterface über die per DHCP erhaltene Adresse (siehe Punkt 2 oben)
 
 
 
Folgende Schritte kann man nun per direkt im Netz des Gastgebers auf auf dem Gateway erledigen. Dazu gibt es div. Punkte in den unterschiedlichen 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''
 
 
 
{| 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
 
|}
 
 
 
Als Terminal Kommandos:
 
 
 
  /interface l2tp-client add connect-to=router.unhb.de max-mru=1450 max-mtu=1450 user=lorawan-gwXX password=SUPERGEHEIM use-ipsec=yes ipsec-secret=SUPERDUPERGEHEIM  disabled=no name=l2tp-out1
 
 
 
=== 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 70: Zeile 27:
 
Kennwörter für "unhb" und "admin" im UNHB Keepass speichern!
 
Kennwörter für "unhb" und "admin" im UNHB Keepass speichern!
  
Als Terminal Kommandos:
+
=== Netzwerk Interfaces ===
 +
'''Interfaces'''
 +
* (ggfs.) lte1: Deaktivieren
 +
* (ggfs.) wlan1: Deaktivieren
  
  /user disable admin
+
=== Netzwerk IP ===
  /user add name=unhb copy-from=admin password=AUCHSUPERGEHEIM
 
  
==== Packages ====
+
'''System -> Packages'''
 
* IPv6 Paket aktivieren
 
* IPv6 Paket aktivieren
  
Als Terminal Kommando:
+
'''IPv6 -> Addresses'''
 
 
  /system package enable ipv6
 
 
 
==== Scheduler ====
 
Wir möchte automatisch Updates installieren lassen. Dazu legen wir einen entsprechend regelmässig ausgeführten Job an.
 
 
 
''Add New''
 
 
 
{| 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 }
 
|
 
|-
 
|}
 
 
 
Als Terminal Kommando:
 
 
 
  /system scheduler add name="Auto Update" start-date=jul/01/2021 start-time=startup interval=12h 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 }"
 
 
 
==== Identity ====
 
Als Terminal Kommando:
 
 
 
  /system identity set name="unhb-de-gwXX-XXX-unhb"
 
 
 
=== IP ===
 
 
 
==== Addresses ====
 
 
* Link Local IP im Keepass speichern
 
* Link Local IP im Keepass speichern
  
Ist evtl. später zur Fernwartung mal hilfreich.
+
'''IPv6 -> Settings'''
 
+
* IPv6 Forward: Aktivieren
==== DHCP Client ====
+
* Accept Redirekt: Aktivieren
 
+
* 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
 
|}
 
 
 
Als Terminal Kommando:
 
  
   /ip dhcp-client add interface=wlan1 use-peer-dns=yes use-peer-ntp=yes add-default-route=yes dhcp-options=hostname,clientid
+
'''IP -> DHCP Client'''
 +
* Add New:
 +
  interface=bridge
 +
   add-default-route=yes
 +
  use-peer-dns=yes
 +
  use-peer-ntp=yes
 +
  dhcp-options=hostname,clientid  
  
==== DNS ====
+
'''IP -> DNS'''
 
* Allow Remote Requests: Deaktivieren
 
* Allow Remote Requests: Deaktivieren
  
Als Terminal Kommando:
+
'''IP -> Services'''
 
 
  /ip dns set allow-remote-requests=no
 
 
 
==== Services ====
 
 
* API: Deaktivieren
 
* API: Deaktivieren
 
* API-SSL: Deaktivieren
 
* API-SSL: Deaktivieren
Zeile 156: Zeile 63:
 
* winbox: Deaktivieren
 
* winbox: Deaktivieren
 
* www-ssl: Deaktivieren (je nach Absprache mit Standort-Sponsor)
 
* www-ssl: Deaktivieren (je nach Absprache mit Standort-Sponsor)
* www: Aktivieren (je nach Absprache mit Standort-Sponsor)
+
* www: Deaktivieren (je nach Absprache mit Standort-Sponsor)
 
* ssh: Aktivieren
 
* ssh: Aktivieren
  
Als Terminal Kommando:
+
=== LoRaWAN ===
 
+
'''LoRa -> Servers'''
  /ip service disable api,api-ss,ftp,telnet,winbox,www-ssl
+
* Neuen Server anlegen:
 
+
  Name: TTN v3
==== Firewall ====
+
  Address: eu1.cloud.thethings.network
 
+
  Up port: 1700
Als Terminal Kommando:
+
  Down port: 1700
 
 
  /ip firewall filter add chain=input in-interface=all-ppp action=accept comment="Allow any traffic via VPN"
 
  /ip firewall filter move 12 5
 
 
 
=== IPv6 ===
 
Da IPv6 sich überwiegend selbst konfiguriert brauchen wir nur wenige Einstellungen.
 
 
 
==== Settings ====
 
* IPv6 Forward: Aktivieren
 
* Accept Redirekt: Aktivieren
 
* Accept Router Advertisments: "yes"
 
 
 
Als Terminal Kommando:
 
 
 
  /ipv6 settings set forward=yes accept-redirects=yes accept-router-advertisements=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'''
 
 
 
{| class="wikitable"
 
|Name:         || TTN v3 || ''(Kann beliebig verwendet werden)''
 
|-
 
|Address:       || eu1.cloud.thethings.network ||
 
|-
 
|Up port:       || 1700 ||
 
|-
 
|Down port:     || 1700 ||
 
|}
 
 
 
Als Terminal Kommando:
 
 
 
  /lora servers add name="TTN v3" address=eu1.cloud.thethings.network up-port=1700 down-port=1700
 
 
 
==== Device ====
 
'''Gerät konfigurieren'''
 
 
 
{| 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''
 
|}
 
 
 
Als Terminal Kommando:
 
 
 
  /lora disable numbers=0
 
  /lora print      # hardware-id ist die Gateway ID
 
  /lora set name="unhb-de-gw16-ltap-unhb" gateway-id="3133303723005B00" servers="TTN v3" channel-plan=eu-868 forward=crc-valid disabled=no numbers=0
 
 
 
=== Alle Terminal Befehle zusammen ===
 
  /user add name=unhb copy-from=admin password=AUCHSUPERGEHEIM
 
 
 
  /interface l2tp-client add connect-to=router.unhb.de max-mru=1450 max-mtu=1450 user=lorawan-gwXX password=SUPERGEHEIM use-ipsec=yes ipsec-secret=SUPERDUPERGEHEIM  disabled=no name=l2tp-out1
 
 
 
  /system package enable ipv6
 
  /system identity set name="unhb-de-gwXX-XXX-unhb"
 
  /system scheduler add name="Auto Update" start-date=jul/01/2021 start-time=startup interval=12h 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 }"
 
 
 
  /ip dhcp-client add interface=wlan1 use-peer-dns=yes use-peer-ntp=yes add-default-route=yes dhcp-options=hostname,clientid
 
  /ip dns set allow-remote-requests=no
 
  /ip service disable api,api-ss,ftp,telnet,winbox,www-ssl
 
  /ip firewall filter add chain=input in-interface=all-ppp action=accept comment="Allow any traffic via VPN"
 
  /ip firewall filter move 12 5
 
 
 
  /lora servers add name="TTN v3" address=eu1.cloud.thethings.network up-port=1700 down-port=1700
 
  /lora disable numbers=0
 
  /lora print      # hardware-id ist die Gateway ID
 
  /lora set name="unhb-de-gwXX-XXXX-unhb" gateway-id="3133303723005B00" servers="TTN v3" channel-plan=eu-868 forward=crc-valid disabled=no numbers=0
 
 
 
Update via Terminal:
 
  
   /system package update; check-for-updates once; :delay 3s; :if ( [get status] = "New version is available") do={ install }
+
'''LoRa -> Device'''
 +
* Gerät konfigurieren
 +
  Name: Entsprechend Namensschema
 +
  Gateway ID: Wie Hardware ID
 +
  Network Server: "TTN v3"
 +
   Channel plan: "EU 868"
 +
  Forward: nur "Valid"
 +
  Spoof GPS: entsprechend des Standortes eintragen
  
Nach dem Reboot:
+
=== Automatische Updates ===
 +
'''System -> Scheduler'''
 +
* 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
  
  /ipv6 settings set forward=yes accept-redirects=yes accept-router-advertisements=yes
 
  /user disable admin    # Achtung: Danach wir man aus der laufenden Session geworfen und man muss sich neu mit unhb anmelden
 
  
 
== automatisiertes Setup ==
 
== automatisiertes Setup ==
 
Noch offen
 
Noch offen

Bitte beachte, dass alle Beiträge zu Un-Hack-Bar von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter Un-Hack-Bar:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)