Benutzer-Werkzeuge

Webseiten-Werkzeuge


thoschwiki:anwendungen:wireguard

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
thoschwiki:anwendungen:wireguard [19.09.2020 19:41]
thosch [WireGuard (Software)] Info-Tabelle ergänzt
thoschwiki:anwendungen:wireguard [13.03.2021 18:33] (aktuell)
thosch [Automatischer Aufbau der Verbindung] Hinweis auf ungetestete Vorgehensweise beim Entfernen des Service entfernt
Zeile 1: Zeile 1:
 ====== WireGuard (Software) ====== ====== WireGuard (Software) ======
  
-<note>Die Seite befindet sich noch im Aufbau.</note>+<note>Diese Seite ist noch im Aufbau.</note>
  
-{{page>internals:bricks:wireguard#Beschreibung&noheader}}+{{page>thoschwiki:bricks:wireguard#Beschreibung&noheader}}
  
 ^ **Software** ^^ ^ **Software** ^^
 ^ Projekt | [[https://www.wireguard.com/|WireGuard]] | ^ Projekt | [[https://www.wireguard.com/|WireGuard]] |
 ^ **weitere Informationen** ^^ ^ **weitere Informationen** ^^
-| [[docker:apps:wireguard|WireGuard (Docker)]] || +| [[thoschwiki:docker:apps:wireguard|WireGuard (Docker)]] || 
-===== Konfiguration =====+ 
 +===== Installation ===== 
 + 
 +//Wireguard// ist derzeit (11/2020) nur auf //Debian//-basierten Linux-Systemen (z.B. //Debian//, //Ubuntu// und Derivate, //Raspbian/////Reaspberry OS// lauffähig. 
 + 
 +==== Installation unter Ubuntu ==== 
 + 
 +Bei den LTS-Versionen von //Ubuntu// und dessen Derivaten (ab 16.04) ist das Paket ''wireguard'' bereits in den Standard-Paketquellen enthalten. Daher reicht hier ein Aufruf von ''apt install'' aus: 
 + 
 +<code> 
 +sudo apt install wireguard 
 +</code> 
 + 
 +==== Installation unter Debian / Raspbian / Raspberry OS ==== 
 + 
 +Bei anderen //Debian//-basierten Linuxen muss derzeit (11/2020) zunächst das Backport-Repository eingebunden werden: 
 + 
 +<code> 
 +echo "deb http://httpredir.debian.org/debian buster-backports main contrib non-free" | sudo tee --append /etc/apt/sources.list.d/debian-backports.list 
 +wget -O - https://ftp-master.debian.org/keys/archive-key-$(lsb_release -sr).asc | sudo apt-key add - 
 +</code> 
 + 
 +Anschließend sind die Paketquellen neu zu lesen, das System auf den neuesten Stand zu bringen und die Kernel-Headers zu installieren: 
 + 
 +<code> 
 +sudo apt update 
 +sudo apt upgrade 
 +sudo apt install raspberrypi-kernel-headers 
 +</code> 
 + 
 +Anschließend kann //WireGuard// installiert und das System gebootet werden: 
 + 
 +<code> 
 +sudo apt install wireguard 
 +sudo reboot 
 +</code> 
 + 
 + 
 +===== Konfiguration / Troubleshooting ===== 
 + 
 +==== Automatischer Aufbau der Verbindung ==== 
 + 
 +//WireGuard// über die Aktivierung des entsprechenden ''Systems''-Service beim Systemstart automatisch aktiviert werden: 
 + 
 +<code> 
 +sudo systemctl enable wg-quick@wg0.service 
 +</code> 
 + 
 +Zur Steuerung stehen die ''systemctl''-Kommandos ''start'', ''restart'', ''stop'' und ''status'' zur Verfügung. 
 + 
 +Sofern der Service nicht mehr benötigt wird, kann er wie folgt entfernt werden: 
 + 
 +<code> 
 +sudo systemctl stop wg-quick@wg0 
 +sudo systemctl disable wg-quick@wg0.service 
 +sudo rm -i /etc/systemd/system/wg-quick@wg0* 
 +sudo systemctl daemon-reload 
 +sudo systemctl reset-failed 
 +</code> 
 + 
 + 
 +==== MTU ==== 
 + 
 +Bei meinem ersten Setup bin ich auf das Problem gestoßen, dass vom Peer im LAN sowie dem angebundenen Rechnern im LAN Verbidungestests per ''ping'' oder ''traceroute'' möglich waren, ein Verbindungsaufbau per ''http(s)'' oder ''ssh'' jedoch nicht erfolgreich war. In der umgekehrten Richtung war von einem Peer im WireGuard-VPN der Verbindungsaufbau zum Peers im LAN und den "hinter" diesem liegenden Rechnern **zunächst** noch problemlos möglich, scheiterte dann später((Wahrscheinlich weil die MTU des Peers im LAN vermindert wurde...)). Eine tiefergehende Analyse des erfolglosen Aufbaus einer ''ssh''-Verbindung brachte dann die Lösung((Die Suche nach der letzten, von ''ssh -v <IP>'' ausgegebenen Debug-Meldung "//expecting SSH2_MSG_KEX_DH_GEX_REPLY//" brachte u.a. diesen Treffer bei //[[https://serverfault.com/q/210408|serverfault]]//)): Die ''MTU'' ([[wpde>Maximum Transmission Unit]]) musste angepasst werden. 
 + 
 +Die ''MTU'' wird im ''[Interface]''-Abschnitt der ''wg.conf'' gesetzt: 
 + 
 +<code> 
 +[Interface] 
 +… 
 +MTU = 1380 
 +… 
 +</code> 
 + 
 +Die in den Beispielen genannte Größe von 1500 war zu groß, weil die gesetzte MTU bereits nur bei 1420 lag. Die im [[https://keremerkan.net/posts/wireguard-mtu-fixes/|Blogpost von Kerem Erkan]] genannte MTU von 1412 führte genauso wenig zum erfolg wie der Wert von 1400. Erst mit dem Wert 1380 lief es in diesem Fall((In der Gegenrichtung läuft es Problemlos mit der Defazúlt-MTU von 1420)).  
  
 ==== QR-Codes ==== ==== QR-Codes ====
  
-Mobile WireGuard-Clients können über QR-Codes konfiguriert werden. Bei der Nutzung eines [[docker:apps:wireguard|Docker-Containers mit dem Linuxserver-Image]] werden die entsprechenden PNG-Dateien generiert und ggf. auch auch auf der Console ausgegeben, sofern der Container nicht //detached// gestartet wird.+Mobile WireGuard-Clients können über QR-Codes konfiguriert werden. Bei der Nutzung eines [[thoschwiki:docker:apps:wireguard|Docker-Containers mit dem Linuxserver-Image]] werden die entsprechenden PNG-Dateien generiert und ggf. auch auch auf der Console ausgegeben, sofern der Container nicht //detached// gestartet wird.
  
 Aus der vorliegen Konfiguration kann ein QR-Code generiert und in der Konsole als ASCII-Art angezeigt werden: Aus der vorliegen Konfiguration kann ein QR-Code generiert und in der Konsole als ASCII-Art angezeigt werden:
Zeile 26: Zeile 100:
 qrencode -o peer2.png < peer2.conf qrencode -o peer2.png < peer2.conf
 </code> </code>
 +
 +==== Ubuntu-Clients ====
 +
 +Unter //Ubuntu// 18.04 (//Bionic//) und 20.04 (//Focal//) führt der Aufruf von ''wg-quick up'' zum Fehler, weil der Befehl ''resolvconf'' nicht verfügbar ist. Es muss hier das Paket ''openresolv'' nachinstalliert werden((Quelle: [[github>StreisandEffect/streisand/issues/1434|StreisandEffect/streisand -- Issue connecting to Wireguard Linux ubuntu 18.04 #1434]])).
 +
 +
 +
 +===== Quellen =====
 +
 +  * [[github>pirate/wireguard-docs|Some Unofficial WireGuard Documentation]]
 +  * [[https://www.antary.de/2020/04/09/raspberry-pi-installation-und-betrieb-von-wireguard/|Antary - Raspberry Pi - Installation und Betrieb von WireGuard]]
 +  * [[https://keremerkan.net/posts/wireguard-mtu-fixes/|Kerem Erkan - WireGuard MTU fixes]]
 +  * [[https://www.ivpn.net/knowledgebase/linux/linux-autostart-wireguard-in-systemd/|IVPN Help Center - Linux - Autostart WireGuard in systemd]]
 +
 +
 +
thoschwiki/anwendungen/wireguard.1600537273.txt.gz · Zuletzt geändert: 19.09.2020 19:41 von thosch