LoRaWAN-Gatewaysetup: Unterschied zwischen den Versionen
Silson (Diskussion | Beiträge) K (→System) |
Silson (Diskussion | Beiträge) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 226: | Zeile 226: | ||
=== Alle Terminal Befehle zusammen === | === Alle Terminal Befehle zusammen === | ||
/user add name=unhb copy-from=admin password=AUCHSUPERGEHEIM | /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 | /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 | ||
Zeile 238: | Zeile 238: | ||
/ip firewall filter add chain=input in-interface=all-ppp action=accept comment="Allow any traffic via VPN" | /ip firewall filter add chain=input in-interface=all-ppp action=accept comment="Allow any traffic via VPN" | ||
/ip firewall filter move 12 5 | /ip firewall filter move 12 5 | ||
− | |||
− | |||
/lora servers add name="TTN v3" address=eu1.cloud.thethings.network up-port=1700 down-port=1700 | /lora servers add name="TTN v3" address=eu1.cloud.thethings.network up-port=1700 down-port=1700 | ||
Zeile 249: | Zeile 247: | ||
/system package update; check-for-updates once; :delay 3s; :if ( [get status] = "New version is available") do={ install } | /system package update; check-for-updates once; :delay 3s; :if ( [get status] = "New version is available") do={ install } | ||
+ | |||
+ | Nach dem Reboot: | ||
+ | |||
+ | /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 |
Aktuelle Version vom 25. August 2021, 07:17 Uhr
Allgemeines[Bearbeiten | | Quelltext bearbeiten]
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:
- Manuell per Hand
- Automatisiert mit Ansible/flashfig
manuelles Setup[Bearbeiten | | Quelltext bearbeiten]
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.
Nach dem ersten Booten/Factory Reset[Bearbeiten | | Quelltext bearbeiten]
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
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[Bearbeiten | | Quelltext bearbeiten]
- (ggfs.) lte1: Deaktivieren
- (ggfs.) wlan1: Deaktivieren
PPP[Bearbeiten | | Quelltext bearbeiten]
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 |
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[Bearbeiten | | Quelltext bearbeiten]
Im System Abschnitt müssen vor allem weitere User angelegt werden sowie IPv6 aktiviert werden.
User[Bearbeiten | | Quelltext bearbeiten]
- Sichers Passwort für den User "admin" anlegen und im Anschluss sperren
- Neuen User "unhb" mit Admin-Rechten und sicheren Passwort anlegen
- (Optional): User für den Gastgeber mit sicheren Passwort anlegen und Zugangsdaten rausgeben
Kennwörter für "unhb" und "admin" im UNHB Keepass speichern!
Als Terminal Kommandos:
/user disable admin /user add name=unhb copy-from=admin password=AUCHSUPERGEHEIM
Packages[Bearbeiten | | Quelltext bearbeiten]
- IPv6 Paket aktivieren
Als Terminal Kommando:
/system package enable ipv6
Scheduler[Bearbeiten | | Quelltext bearbeiten]
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 } |
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[Bearbeiten | | Quelltext bearbeiten]
Als Terminal Kommando:
/system identity set name="unhb-de-gwXX-XXX-unhb"
IP[Bearbeiten | | Quelltext bearbeiten]
Addresses[Bearbeiten | | Quelltext bearbeiten]
- Link Local IP im Keepass speichern
Ist evtl. später zur Fernwartung mal hilfreich.
DHCP Client[Bearbeiten | | Quelltext bearbeiten]
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 |
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
DNS[Bearbeiten | | Quelltext bearbeiten]
- Allow Remote Requests: Deaktivieren
Als Terminal Kommando:
/ip dns set allow-remote-requests=no
Services[Bearbeiten | | Quelltext bearbeiten]
- 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
Als Terminal Kommando:
/ip service disable api,api-ss,ftp,telnet,winbox,www-ssl
Firewall[Bearbeiten | | Quelltext bearbeiten]
Als Terminal Kommando:
/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[Bearbeiten | | Quelltext bearbeiten]
Da IPv6 sich überwiegend selbst konfiguriert brauchen wir nur wenige Einstellungen.
Settings[Bearbeiten | | Quelltext bearbeiten]
- 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[Bearbeiten | | Quelltext bearbeiten]
In diesem Abschnitt wird die Verbindung zum The Things Network eingerichtet. Dabei gibt es alles in allem nicht viel zu tun.
Servers[Bearbeiten | | Quelltext bearbeiten]
Add New
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[Bearbeiten | | Quelltext bearbeiten]
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 |
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[Bearbeiten | | Quelltext bearbeiten]
/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 }
Nach dem Reboot:
/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[Bearbeiten | | Quelltext bearbeiten]
Noch offen