Alle Beiträge von Andreas

OSPF(v3) über Wireguard auf OPNsense

Wer OSPF und/oder OSPFv3 über einen Wireguard VPN-Tunnel betreiben will, sollte unbedingt folgende Punkte beachten:

Wireguard

  • Local
    • Advanced Mode
      • check
    • Tunneladressen
      • 10.0.0.1/30
      • fd00::1/126
      • fe80::1/64 (Zwingend für OSPFv3!)
    • Disable Routes
      • uncheck
    • Gateway
      • 10.0.0.2
  • Endpoints
    • Allowed IPs
      • 0.0.0.0/0
      • ::/0

Interfaces

Jedem Wireguard-Tunnel muss ein Interface zugewiesen werden, welches anschliessend zu aktivieren ist:

OSPF(v3)

  • Network Type
    • Point-to-point Network

Ergebnis

Nach erfolgter Konfiguration sollte man mit folgendem Ergebnis belohnt werden:

Firewall 2019

Hardware

  • Gehäuse
  • Mainboard
  • Arbeitsspeicher
    • 32GB Kingston DDR4-2133Mhz ECC-Registered [KVR21R15D4/16]
    • 16GB ECC DDR4-2400 [Kingston KTD-PE424S8/8G]
  • Storage
    • 512GB PCIe-SSD [PLEXTOR PX-512M8PeG]
    • 120GB M.2-SSD [WD Green 3D NAND]

Software

  • OPNsense 22.1

Updates

  • 05.01.22 Austausch Board, SSD, RAM, Lüfter, OS

Yeti SB130 2019

Nach 2 Trek-Bikes wagte ich diesmal den Schritt zu einer anderen Marke.
Bereut habe ich’s jedenfalls noch nicht. 🙂 🙂

  • Modelljahr: 2019
  • Radgrösse: 29″
  • Rahmengrösse: M
  • Rahmenmaterial: Carbon
  • Antrieb: 1×12

Komponenten

  • Bremse hinten: Shimano XT 2 Kolben
  • Bremse vorne: Shimano XT 2 Kolben
  • Bremsscheibe hinten: Trickstuff Dächle HD Shimano SMRT66 180mm
  • Bremsscheibe vorne: Trickstuff Dächle HD Shimano SMRT66 180mm
  • Dämpfer: Fox Float Performance DPX2 [Federweg: 130mm]
  • Felgen: DT Swiss M1700 30mm
  • Gabel: Fox Performance 36 [Federweg: 150mm]
  • Griffe: Ergon GE1
  • Kassette: Shimano XT M8100 10-51 Sram 1275 Eagle 10-50
  • Kette: Shimano XT CN-M8100 Sram GX Eagle
  • Kurbelgarnitur: Sram X1 Carbon Eagle 30T
  • Lenker: Race Face Affect R 35x780mm
  • Pedale: Shimano XT PD-M8020
  • Reifen hinten: Maxxis Aggressor 2.3
  • Reifen vorne: Maxxis Minion DHF 2.5
  • Sattel: WTB Custom Volt
  • Schaltgriffe: Shimano XT M8100 Sram GX Eagle
  • Schaltwerk: Shimano XT M8100 SGS Sram X01 Eagle
  • Steuersatz: Cane Creek 40 ZS
  • Tretlager: Sram DUB BB143
  • Vorbau: Race Face Affect R 35x40mm

Zubehör

  • Garmin Edge 1030
  • Oi Luxe Glocke

Sensordaten ab USB-WDE1 mit InfluxDB/Grafana loggen und visualisieren

Schon seit längerer Zeit logge ich Sensordaten wie Temperatur, Luftfeuchtigkeit, Niederschlag und Wind – die Inspiration dazu lieferte mir damals Martin Kompf in Form dieses Beitrages – mittels drahtloser Sensoren von ELV und eines Python-Scripts in eine RRDtool-Datenbank. Mithilfe der aufgezeichneten Daten fütterte ich anschliessend mein Monitoring-System und meine Website. Dieses Konstrukt wurde nun auf eine modernere Basis, in Form einer Kombination aus InfluxDB und Grafana, umgestellt.

Altes Funktionsprinzip

Neues Funktionsprinzip

Hardwareaufbau

Das System besteht aktuell aus folgenden Komponenten:

  • Wetterstation ELV KS300 (Temperatur, Luftfeuchtigkeit, Niederschlag und Wind)
  • 2x Temperatursensor ELV S 300 IA
  • PC-Engines APU1D2 Board
  • Ubuntu 16.04 LTS [VM@Proxmox]
    • Docker CE 17.09
      • InfluxDB
      • Grafana

Log-Script

#!/usr/bin/python3
# Python Modules
import serial, sys, time
from influxdb import InfluxDBClient
# Configuration
serialPort='/dev/ttyUSB0'
db = InfluxDBClient(host='10.11.1.104', port=8086, database='weather')
measurement = 'Messungen'
# Open serial port
try:
    ser = serial.Serial(serialPort,baudrate=9600,timeout=None)
except:
    sys.exit(1)
# Main loop
while True:
    # Wait for data and try error recovery on disconnect
    try:
        serData = ser.readline()
        dataset = str(serData).split(';')
        # Parse meter readings into dictionary (abbr. to rd for typing laziness of yours truely)
        rd = {}
        for n in range(1,9):
            # Conversion from german decimal mark , to international .
            try:
                    rd['temp'+str(n)]=float(dataset[2+n].replace(',','.'))
            except ValueError:
                    pass
            try:
                    rd['hum'+str(n)]=float(dataset[10+n].replace(',','.'))
            except ValueError:
                    pass
        # Kombisensor is mapped to temp9/hum9
        try:
            rd['temp9']=float(dataset[19].replace(',','.'))
        except ValueError:
            pass
        try:
            rd['hum9']=float(dataset[20].replace(',','.'))
        except ValueError:
            pass
        try:
            rd['windspeed']=float(dataset[21].replace(',','.'))
        except ValueError:
            pass
        try:
            rd['rainfall']=float(dataset[22].replace(',','.'))
        except ValueError:
            pass
        # Write Dictionary to InfluxDB
        json_body = [
            {
            'measurement': measurement,
            'fields': rd
            }
        ]
        try:
            db.write_points(json_body)
        except:
            pass
    except serial.SerialException as e:
        try:
            ser.close()
            time.sleep(10)
            ser = serial.Serial(serialPort,baudrate=9600,timeout=None)
        except:
            pass

Grafana Dashboard

Ist der erste Scriptdurchlauf erfolgt, können die einzelnen Werte in einem Grafana-Dashboard verknüpft, bzw. visualisiert werden – alternativ importiert man sich einfach direkt mein fixfertiges Dashboard als Vorlage:

Download Dashboard

Weitere Bilder

Bei der weissen Box mit Fenster handelt es sich im Übrigen um unser temperaturüberwachtes „Katzenhotel“ mit zwei Gästezimmern 😉