====== 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.