Inhaltsverzeichnis

VPN

tinc

Mit tinc können mehrere Server zu einem gemeinsamen internen Netzwerk zusammengeschaltet werden. Das Netzwerk bekommt einen Namen, der auch für das jeweilige Netzwerkinterface gilt.

Die nachfolgende Anleitung soll nur erste Hinweise geben, es handelt sich *nicht* um eine vollständige Installationsdokumentation.

Netzwerk anlegen, die folgenden Beispiele beziehen sich dann immer auf den im folgenden verwendeten Namen.

cd /etc/tinc
mkdir ffpi
chmod 700 ffpi
cd ffpi
mkdir hosts
chmod 700 hosts
/etc/tinc/ffpi/tinc.conf
Name = host1
Mode = Switch
tinc-up
#!/bin/sh
ifconfig $INTERFACE 192.168.42.1 netmask 255.255.255.0 up
tinc-down
#!/bin/sh
ifconfig $INTERFACE down

Schlüssel erstellen, Ausgabe ist ein Schlüsselpaar im angegebenen Netzwerkverzeichnis

cd /etc/tinc/
tincd -K 4096 -n ffpi

Abschließend wird das Netzwerk noch in die Daten nets.boot eingetragen, damit die Verbindungen automatisch gestartet werden.

Im hosts-Verzeichnis werden die öffentlichen Schlüssel aller Netzwerkteilnehmer in jeweils eine Verbindungsdatei eingetragen, zusammen mit der Adresse über die dieser Server erreicht werden kann und der Adresse des Servers im tinc-Netz.

Infos von tinc erfragen

Systemd

Systemd macht anscheinend mal wieder sein eigenes Ding, damit funktioniert tinc nicht out of the box. Anscheinend wird nets.boot nicht beachtet.

Starten eines einzelnen VPNs:

systemctl start tinc@<networkname>

Automatisch beim Booten:

systemctl enable tinc@<networkname>

OpenVPN

Normalerweise verwendet um ein Endgerät mit einem Server zu verbinden. Es werden Zertifikate benötigt, folglich ist eine PKI zu verwalten.

TODO

Ser

Wireguard

Anleitung speziell für Debian

apt-get install wireguard

Schlüsselpaar für den Server erstellen

cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 600 privatekey 
chmod 640 publickey 

Konfigurationsdatei für den Server anlegen

/etc/wireguard/wg0.conf
[Interface]
ListenPort = 51820
PrivateKey = <INSERT PRIVATEKEY HERE>
 
[Peer]
# Peer 1
PublicKey = <INSERT PEER1-PUBLICKEY HERE>
AllowedIPs = 192.168.68.101/32
 
[Peer]
# Peer 2
PublicKey = <INSERT PEER2-PUBLICKEY HERE>
AllowedIPs = 192.168.68.102/32

Berechtigungen für Konfigurationsdatei setzen

chmod 600 /etc/wireguard/wg0.conf

Netzwerkkarte, Firewalregeln fehlen hier noch

/etc/network/interfaces
iface wg0 inet static
    address 192.168.68.1/24
    pre-up ip link add $IFACE type wireguard
    pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
    #post-up sysctl --quiet --write net.ipv4.ip_forward=1
 
    #post-down sysctl --quiet --write net.ipv4.ip_forward=0
    post-down ip link del $IFACE

Client

apt-get install wireguard
wg genkey | tee /etc/wireguard/private.key
chmod go= /etc/wireguard/private.key

cat /etc/wireguard/private.key | wg pubkey | sudo tee /etc/wireguard/public.key
chmod go= /etc/wireguard/public.key

Für einen Client muß in der Konfiguration der Endpoint (Server-Adresse:Port) angegeben werden.