VPN mit Wireguard, DS-Lite und Proxmox LXC

Soll ich mir noch keine Lösung hatte wie ich mit einer IP V4 Adresse eine VPN Verbindung in mein Netzwerk aufbauen konnte habe ich mich diesem Thema mal wieder angenommen. Zur Erklärung: ich hänge hier an einem DS-lite Anschluss bei dem ich nur eine öffentliche IP V6 Adresse habe. Zum Einsatz kommt jetzt hier dynDNS, ddclient Wireguard und ein externer Server um die Umsetzung von IPV4 auf IP V6 zu machen. Der externe Server ist ein billiger V Server von 1Fire. Der VPN Zugang wird auf einem Ubuntu 20.4 Server laufen der in einem Proxmox Container installiert ist.

Zuerst besorgen wir uns einen DynDNS der auch IP V6 unterstützt. Eine schöne kostenlose Variante habe ich beim ddnss.de gefunden.

Nachdem wir den Container installiert und mit apt update &&apt upgrade aktualisiert haben, installieren wir mit apt install curl ddclient noch die benötigten pakete.

Der Hostname den ich mir bei ddnsss besorgt habe ist tollerhost.ddnss.ch wir passen jetzt die /etc/ddclient.conf wie folgt an:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
usev6=if, if=eth0
if-skip=Scope:Link
server=ddnss.de
login=<dein login>
password='<deinpasswort>'
tollerhost.ddnss.ch

Als Nächstes installieren wir Wireguard und müssen dafür erst einmal die Containerkonfiguration in Proxmox anpassen da wir ein TUN Interface brauchen. Dazu machen wir folgendes auf dem Proxmox Host

#### Install WireGuard in Proxmox LXC ####


## edit LXC conf ##
nano /etc/pve/lxc/123.conf

add:

lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir

## adjust access rights ##
chown 100000:100000 /dev/net/tun

## reboot/start lxc ##

Jetzt geht es in dem Container weiter



## install wireguard using skript ##
wget git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh

Ihr tragt ihr dann bei der HostAdresse eure gewählte DynDNS Adresse an.

Damit ist euer Netzwerk schon einmal per IP V6 mit Wireguard erreichbar. IPv4 erreichbar zu machen benötigt ihr einen Server im internet der eine IPV4 und eine IPV6 Adresse hat. Auf diesem führt ihr folgende Befehle aus

sudo apt install socat
sudo socat UDP4-LISTEN:1194,fork,su=nobody UDP6:tollerhost.ddnss.ch:1194

Den Part müsst ihr natürlich anpassen. Jetzt könnt ihr zumindest schon einmal testen ob euer Netzwerk auf vier erreichbar ist. Und das ganze dauerhaft auf dem Server einzurichten ist noch etwas Arbeit nötig: folgender Eintrag musst in der crontab erledigt werden

sudo crontab -e
@reboot	socat UDP4-LISTEN:1194,fork,su=nobody UDP6:<DYNDNS>:1194
0     5       *       *       *       /sbin/reboot

Auch hier gilt natürlich wieder anpassen auf eure Bedürfnisse. Der Reboot ist bei mir mit dabei da es mit einem Boot pro Tag deutlich stabiler läuft. Ich danke an der Stelle noch einmal Applecast und Helmut Karger für Ihre ganz hervorragende Vorarbeit.

Quellen:

USV Überwachung per MQTT

Was passiert wenn der Strom weg ist? Nix mehr , oder zumindest nicht mehr viel bzw nicht mehr lange. Da meine Infrastruktur durch mehrere USV abgesichert ist habe ich noch eine gewisse Reserve wenn der Strom weg ist. Diese Zeit nutze ich dazu alle Systeme nach ca 10min herunter zu fahren. da an einer USV mehrere Geräte hängen nutze ich hierzu NUT (https://networkupstools.org/) in einer Client Server Architektur , dazu kommt noch mal ein anderer Artikel.

Da ich aber gerne noch benachrichtigtwerden möchte, wenn Stromausfall ist und wissen möchte wann der Akku der USV getauscht werden muss möchte ich die Daten in OpenHAB (meiner Hausautomatisierung) haben . Das Mittel der Wahl ist hier MQTT. Die Installation finktioniert wie folgt:

sudo apt install python3 python3-pip nut
sudo pip install paho-mqtt
cd /etc
git clone https://github.com/dniklewicz/ups-mqtt.git
cd ups-mqtt
mkdir conf

das ist schon die halbe magie. Jetzt noch die config anpassen mit

nano config.ini 

auf dem Rechner auf dem der UPSD läuft muss noch der neue client noch freigeben werden. Das Skrippt kann man mit

 python3 ups-mqtt.py 

starten. Jetzt sollte am MQTT server etwas ankommen. Ich nehme da zum Testen übrigens den mqtt-explorer.

Wenn das ganze als Service laufen soll verweise ich mal auf diese Seite und packe hier nur die Code Schnipsel ohne viel Erklärung rein

useradd -r -s /bin/false pyserveruser
chown -R pyserveruser:pyserveruser /etc/pyserver

Die Unit datei (/etc/systemd/system/ups-mqtt.service) sieht so aus:

[Unit]
Description=ups2mqtt
After=syslog.target

[Service]
Type=simple
User=pyserveruser
Group=pyserveruser
WorkingDirectory=/etc/ups-mqtt
ExecStart=/etc/ups-mqtt/ups-mqtt.py
SyslogIdentifier=ups2mqtt
StandardOutput=syslog
StandardError=syslog
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

Steuern kann man den Server nun mit den normalen systemd Kommandos:

systemctl status pyserver
systemctl start pyserver
systemctl stop pyserver
systemctl restart pyserver

Seine Logausgaben sieht man so:

journalctl -u pyserver

OpenSlides – Bedienung & Vorbereitung

under construction

In diesem Artikel geht es um die Vorbereitung und Durchführung einer Sitzung und die Fallstricke. Weiterhin wirde es noch einige Tipps und Tricks geben. Dieser Artikel tragt bewusst die Überschrift ‚under construction‘ da ich ihn laufend ergänzen werde und aktuell noch am Anfang stehe.

Allgemein ist der klick auf das 3 Punkte Menu immer hilfreich , hier verstecken sich oftmals lange gesuchte und nützliche Funktionen

OpenSlides – Bedienung & Vorbereitung weiterlesen

Online – Versammlungen mit OpenSlides

Durch Corona sind viele Organisationen dazu gezwungen ihre Versammlungen online zu machen. Aus rechtlicher Sicht ist das bis Ende 2021 auch möglich , wenn es nicht explizit in der Satzung steht (Quelle) . Nun stellt sich auch für mich die Frage: Wie macht man das? Nach einiger Suche habe ich mich für OpenSlides entschieden. OpenSlides ist ein Tool zur Verwaltung und Organisation von Versammlungen (auch offline). Um es komplett online zu mache benötigt man noch einen VideoChat. Hier gibt es viele Anbieter wie Jitsi , Big Blue Button, Google Meet , Zoom, Skype . Mein Fokus liegt hier auf den ersten Beiden, da Open Source ;-). Dazu aber später mehr.

Online – Versammlungen mit OpenSlides weiterlesen