Satria (Diskussion | Beiträge) |
Satria (Diskussion | Beiträge) (→FreeDNS) |
||
Zeile 33: | Zeile 33: | ||
== FreeDNS == | == FreeDNS == | ||
− | Es bietet sich an, den Raspberry auch gleich das dynamic DNS übernehmen zu lassen, falls man das nicht schon anderweitig betreibt. Ein DNS update client für Raspbian ist ''ddclient'', der sich über apt-get installieren lässt. Stand 22.01.2021 funktioniert die derzeit aktuelle Version 3.8.3 aber nicht (mehr) mit dem Dienst von FreeDNS (freedns. | + | Es bietet sich an, den Raspberry auch gleich das dynamic DNS übernehmen zu lassen, falls man das nicht schon anderweitig betreibt. Ein DNS update client für Raspbian ist ''ddclient'', der sich über apt-get installieren lässt. Stand 22.01.2021 funktioniert die derzeit aktuelle Version 3.8.3 aber nicht (mehr) mit dem Dienst von FreeDNS ([[https://freedns.afraid.org freedns.afraid.org]]). |
Als Alternative kann ein cronjob eingerichtet werden, der periodisch die ''Direct URL'' des jeweiligen Hostnames aufruft und ihn so auf die neue IP Adresse (von der der Aufruf kommt) aktualisiert. In dieser Direct URL steckt ein Token, das eine Authentifizierung erübrigt. | Als Alternative kann ein cronjob eingerichtet werden, der periodisch die ''Direct URL'' des jeweiligen Hostnames aufruft und ihn so auf die neue IP Adresse (von der der Aufruf kommt) aktualisiert. In dieser Direct URL steckt ein Token, das eine Authentifizierung erübrigt. |
Version vom 23. Januar 2021, 11:36 Uhr
Der vielseitige Raspberry PI 3 kann auch in einen VPN Server verwandelt werden. Basis ist z.B. das Linux OS "Raspbian stretch".
Inhaltsverzeichnis
Vorbereitung
s. Raspberry PI
Installation von PiVPN
PiVPN stellt ein Installationsskript zur Verfügung, das direkt aus dem Internet geladen und ausgeführt werden kann. Hier ist grundsätzlich Vorsicht geboten, und man sollte so einem Skript absolut vertrauen!
curl -L https://install.pivpn.io | bash
Von hier an läuft alles automatisch ab, bis zum GUI, mit dem man seine PiVPN Installtion an seine Gegebenheiten anpasst.
Verwendung von PiVPN
Zugang erstellen
pivpn add
Zugang nutzen
Mit einem SFTP Client (z.B. Filezilla) wird die .ovpn Zugangsdatei auf das Gerät heruntergeladen, das später den Zugang nutzen soll und anschließend in einen OpenVPN Client importiert. Diese befindet sich in
/home/pi/ovpns
Nachträgliche Anpassungen
Nachträglich lassen sich Anpassungen an den PiVPN Dienst über die verschiedenen Konfigurationsdateien vornehmen:
/etc/openvpn/server.conf (Hauptkonfiguration) /etc/openvpn/easy-rsa/pki/Default.txt (z.B. Ziel-Hostname, der in die .ovpn Dateien geschrieben wird) /etc/iptables/rules.v4 (Netzwerk-Interface, wenn z.B. von Wifi zu LAN gewechselt wird)
Ggf. müssen diese Anpassungen auch in
/etc/pivpn/openvpn/setupVars.conf
vorgenommen werden.
Danach muss der PiVPN Dienst neu gestartet werden.
Neustart des PiVPN Dienstes
/etc/init.d/openvpn restart
FreeDNS
Es bietet sich an, den Raspberry auch gleich das dynamic DNS übernehmen zu lassen, falls man das nicht schon anderweitig betreibt. Ein DNS update client für Raspbian ist ddclient, der sich über apt-get installieren lässt. Stand 22.01.2021 funktioniert die derzeit aktuelle Version 3.8.3 aber nicht (mehr) mit dem Dienst von FreeDNS ([freedns.afraid.org]).
Als Alternative kann ein cronjob eingerichtet werden, der periodisch die Direct URL des jeweiligen Hostnames aufruft und ihn so auf die neue IP Adresse (von der der Aufruf kommt) aktualisiert. In dieser Direct URL steckt ein Token, das eine Authentifizierung erübrigt. Diese URLs sehen in etwa so aus:
https://freedns.afraid.org/dynamic/update.php?xxxxY0NXUzxxxxJCOFdocThlbkxxxxxkOjE5NTQ5xxxx
Wir packen also einen entsprechenden Aufruf in ein beliebiges neues shell-Skript z.B. in /usr/bin/freedns.sh:
wget --spider https://freedns.afraid.org/dynamic/update.php?xxxxY0NXUzxxxxJCOFdocThlbkxxxxxkOjE5NTQ5xxxx
Dieses Skript soll z.B. alle 15 Minuten aufgerufen werden. Um einen solchen cronjob anzulegen, ruft man zunächst
crontab -e
auf. Beim ersten Mal wird man nach dem gewünschen Editor gefragt. vi geht auch, nano ist besser. crontab erzeugt hierbei eine temporäre Datei, die man editiert, die nach dem Speichern wieder ausgelesen wird, woraufhin die entsprechenden cronjobs im System angelegt werden. Also nicht über die temporäre Datei wundern.
Ein geeigneter cronjob wäre also:
*/15 * * * * /usr/bin/freedns.sh
Nach dem Speichern und Beenden kann man prüfen, ob der cronjob korrekt angelegt wurde:
crontab -l