====== 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
Name = host1
Mode = Switch
#!/bin/sh
ifconfig $INTERFACE 192.168.42.1 netmask 255.255.255.0 up
#!/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
* ''kill -USR1 '' - dumps the connection list
* ''kill -USR2 '' - dumps virtual network statistics
==== 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@
Automatisch beim Booten:
systemctl enable tinc@
===== 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
[Interface]
ListenPort = 51820
PrivateKey =
[Peer]
# Peer 1
PublicKey =
AllowedIPs = 192.168.68.101/32
[Peer]
# Peer 2
PublicKey =
AllowedIPs = 192.168.68.102/32
Berechtigungen für Konfigurationsdatei setzen
chmod 600 /etc/wireguard/wg0.conf
Netzwerkkarte, Firewalregeln fehlen hier noch
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.