Skip to content
deadrabbit87 edited this page Jan 18, 2025 · 1 revision

Intention

Wer gerne ohne zusätzliche Hardware auskommen möchte, kann für 1 €/Monat einen günstigen virtuellen Server in einem Rechenzentrum mieten. Dieser wird dann mit einer VPN-Verbindung an eine FRITZ!Box angebunden und hat so Zugriff auf die Geräte im Heimnetz.

Diese Anleitung richtet sich eher an erfahrene Nutzer. Ist der Server nicht korrekt gesichert, kann man sich hier auch Tür und Tor zu seinem Heimnetzwerk öffnen.

Bei dem hier dargestellten Fall sind folgende Rahmenbedingungen vorhanden:

  • Strato VC 1-1
  • Heidelberg Energy Control
  • Waveshare RS485 TO WIFI ETH
  • FRITZ!Box 7490
  • Huawei SUN 2000 mit Batterie

VPS einrichten

Zuerst muss der VPS bestellt und ein Betriebssystem installiert werden. Ich wählte hier ein Ubuntu 24.04. Da der Server mit einem SSH-Schlüssel gesichert ist, muss dieser bei der Installation angegeben werden. Ich nutze dazu PuTTY Key Generator. Wie man den Schlüssel erstellt ist auch auf der Strato Webseite sehr gut beschrieben.

Der Server erhält eine öffentliche IP-Adresse, wo man sich nach der Installation mit Putty einloggen kann.

Mit apt update && apt upgrade bringt man der Server erst mal auf den aktuellen Stand.

Wireguard VPN auf dem Server einrichten

Zur Installation vom WireGuard VPN Dienst muss dieser erst installiert werden. Dies geschieht mit

apt install wireguard

anschließend wechselt man in das WireGuard Verzeichnis (/etc/wireguard) und erzeugt die notwendigen Schlüssel für die VPN Verbindung:

umask 077
wg genkey > privatekey

aus dem privaten Schlüssel wird dann der öffentliche Schlüssel erstellt:

wg pubkey < privatekey > publickey

Die erzeugten Schlüssel lassen sich mit cat privatekey bzw. cat publickey abrufen und werden im Anschluss für die Konfigurationsdatei benötigt.

Mit einem touch wg0.conf kann man diese anlegen und nach folgendem Muster mit einem Editor seiner Wahl befüllen:

[Interface]
Address = 10.0.0.1/24
SaveConfig = false
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE
ListenPort = 51820
PrivateKey = 

## FRITZ!Box
[Peer]
PublicKey = <PublicKey-von-der-FRITZ!Box>
AllowedIPs = 192.168.178.0/24
PersistentKeepalive = 25

### Laptop
[Peer]
PublicKey = <PublicKey-vom-Laptop>
AllowedIPs = 10.0.0.3/32
PersistentKeepalive = 25

Bei PrivateKey ist der zuvor erzeugte Schlüssel einzutragen. Der PublicKey vom VPS muss dann auf die Konfiguration vom Client übertragen werden. Der PublicKey vom Client wiederum auf den VPS. Hier richtet man zuerst einen Rechner ein, mit dem man den VPS admistrieren will.

Die Konfiguration auf dem Client (Laptop) sieht bei mir so aus:

[Interface]
PrivateKey = 
Address = 10.0.0.3/24

[Peer]
PublicKey = <PublicKey-vom-VPS>
AllowedIPs = 10.0.0.0/24, 192.168.178.0/24
Endpoint = <IP-Adresse-des-VPS>:51820

Mit einem wg-quick up wg0 lässt sich der Dienst starten und das Interface sollte automatisch angelegt werden. Mit einem wg kann man einsehen, ob die Verbindung steht.

Firewall

Aktuell hängt der VPS komplett offen im Internet. Für die weitere Admisitration ist nur noch der WireGuard Port 51820 zu öffnen. Das kann man über das Strato Kundenportal erledigen: grafik

Jetzt ist der Server nur noch über das WireGuard Interface (10.0.0.1) zu erreichen und kann jetzt auch mit der FRITZ!Box verbunden werden.

Anbindung an die FRITZ!Box

Um die FRITZ!Box an den VPS anzubinden, muss der Schlüssel für die Konfigurationsdatei auf dem Rechner zuerst erstellt werden. Das ist eigentlich ein Kunstfehler, was die Sicherheit der VPN-Verbindung angeht, aber m.W. nicht anders zu bewerkstelligen. Man erzeugt folgende Konfigurationsdatei, die man dann bei der FRITZ!Box UI importieren kann:

[Interface]
PrivateKey = <erzeugter-PrivateKey-für-die-FRITZ!Box>
Address = 192.168.178.1/24
DNS = 192.168.178.1,10.0.0.1
DNS = fritz.box

[Peer]
PublicKey = <PublicKey-vom-VPS>
AllowedIPs = 10.0.0.0/24
Endpoint = 212.227.143.199:51820
PersistentKeepalive = 25

Der PulicKey der FRITZ!Box ist natürlich oben in der wg0.conf einzutragen. Wenn man das WireGuard Interface auf dem Server neu gestartet hat, sollte die Verbindung aufgebaut werden. Um das zu überprüfen, ein Gerät im Netz der FRITZ!Box anpingen.

Ist das geschehen, kann man mit der Einrichtung und Installation von EVCC fortfahren. Ich möchte hier an dieser Stelle nicht genauer darauf eingehen, hier gibt es bereits genügend Anleitungen.

Meiner Erfahrung nach läuft das System sehr stabil. Ich hatte zu Beginn bedenken bezüglich der Stabilität der VPN Verbindung. Diese ist jedoch überhaupt kein Thema.

Clone this wiki locally