Vpn mit ZeroTier

Motivation

ZeroTier installieren

Siehe: https://www.zerotier.com/download/

ZeroTier Verbinden: GUI

ZeroTier Verbinden, Linux, Qnap

zerotier-cli join 123456789abcdef0

Verwaltung

Verwaltung

Verwaltung

ZeroTier Nachteile

Betriebsysteme und Namensauflösung

Linux und NSS

Eine NSS Bibliothek zu programmieren und im nsswitch einzubinden ist leicht. Mit Phyton kann leicht über der Zerotier API die notwendige Informationen (Json Daten) verarbeitet und in eine geeignete Form das nss System angeboten werden.

Siehe: https://github.com/jjsarton/zt_nss

Es einzurichten ist leicht und funktioniert (leider nicht für Systeme die anders arbeiten).

Da ist gerne mit Subdomäne arbeite, werden diesen auch Rechnung getragen.

Window Wege

Window hat kein entsprechende Vorgehensweise, dafür kann für jede Verbindung die Adresse einen DNS-Server eingetragen werden.

Unter Linux systemd-resolved gibt es eine Ergänzung von Lehnard Pöttering, ich ziehe es aber vor den eigener Weg unter Linux beizubehalten. Ein Betrieb mit zerotier scheint nicht immer ganz gut funktionieren.

DNS-Server

Unbound

local-data: "host1.zt A 10.10.10.2"
local-data: "host2.zt A 10.10.10.3"

Einträge für zwei Rechner

Unbound

local-zone: "host1.zt" redirect
local-data: "host1.zt A 10.10.10.2"
local-data: "2.10.10.10.in-addr.arpa. IN PTR host1.zt"
local-zone: "host2.zt" redirect
local-data: "host2.zt A 10.10.10.3"
local-data: "3.10.10.10.in-addr.arpa. IN PTR host2.zt"

Einträge für zwei Rechner mit zusätlich Wildcard für Unterdomäne und reverse Resolution.

Unbound

Die Datei mit den Anweisungen kann leicht erstellt werden und ein Reload kommando kann Unbound gesendet werden.

Unbound Konfiguration

server:
interface: 0.0.0.0
interface: ::
access-control: 10.0.0.0/8 allow
access-control: 192.168.0.0/16 allow
access-control: 172.16.0.0/12 allow
so-reuseport: yes
do-ip6: yes
do-udp: yes
do-tcp: no
include: "/etc/unbound/unbound.conf.d/zt-zone"
remote-control:
control-enable: yes
control-interface: 127.0.0.1
control-use-cert: "no"
forward-zone:
name: "."
forward-addr: 192.168.0.1@53

Linux Resolved

In der Datei /etc/nsswitch.conf die host: Zeile auskommentieren oder eintragen.

hosts: files resolve [NOTFOUND=return] mdns4_minimal [NOTFOUND=return] dns myhostname

Datei /etc/resolv.conf Durch ein Link auf /run/systemd/resolve/stub-resolv.conf erstezen. Ausführen von:

resolvectl dns ztmjfe5wps 10.10.10.1
resolvectl domain ztmjfe5wps 10.10.10.in-addr.arpa zt

ztmjfe5wps ist der Name der Zerotier Netzwerkschnittstelle (anpassen).

Systemd Configuration

Datei /etc/systemd/system/resolve-zt.service

[Unit]
Description=Zerotier Resolved configuration
After=multi-user.target
[Service]
Type=oneshof
RemainAfterExit=yes
PIDFile=/run/resolvectl-zerotier
ExecStart=/usr/local/bin/resolvectl-zerotier.sh start
ExecStop=/usr/local/bin/resolvectl-zerotier.sh stop
[Install]
WantedBy=multi-user.target

Resolved Startscript

#!/bin/sh
case $1 in
start)
resolvectl dns ztmjfe5wps 10.10.10.1
resolvectl domain ztmjfe5wps 10.10.10.in-addr.arpa zt
;;
stop)
resolvectl dns ztmjfe5wps ""
resolvectl domain ztmjfe5wps ""
;;
esac

DNS Umgebung und Zerotier

Da NAS Systeme eine unvollständige Unterstützung von vorhandene Lösungen zur verschiedene DNS Server bieten, ist die Verwendung im Home-Bereich, des Unbound Server von Vorteil. Durch Verteilung (per DHCP) der Adresse des Unbound DNS Server, beherschen die NAS Geräte und auch Smartphone und Tablet der Zugriff auf das "ZT" Netz. Damit kann auf echte Hardware eine Webseite begutachtet werden.

Resolved funktionniert, weist aber einige Manko auf, beispielsweise ist der Reihenfolge der Such domäne nicht so wie gewollt einstellbar.

Fragestunde

Danke