Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:vpn

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
open:it:vpn [2024/08/21 12:48] – [Server-Konfiguration erstellen] Kaiopen:it:vpn [2024/12/22 20:23] (aktuell) – [Schlüssel generieren] Kai
Zeile 17: Zeile 17:
 <WRAP important> <WRAP important>
 Für den Server und für jeden Client wird je ein privater und ein daran gebundener öffentlicher Schlüssel generiert. Für die Funktionalität dürfen sie weder vertauscht noch verändert werden. \\ Für den Server und für jeden Client wird je ein privater und ein daran gebundener öffentlicher Schlüssel generiert. Für die Funktionalität dürfen sie weder vertauscht noch verändert werden. \\
-Der private Schlüssel ist sicherheitsrelevant und sollte entsprechend behandelt werden. \\+Der jeweils private Schlüssel (Server und Clients) ist sicherheitsrelevant und sollte entsprechend behandelt werden. \\ 
 +Schlüssel bedeutet hier: eine lange Zeichenkette, ähnlich einem Passwort. Die Datei dient als Speicher für diese Zeichenkette. \\
 </WRAP> </WRAP>
-Die Schlüssel können prinzipiell auf einem beliebigen (Linux-)Rechner generiert werden. \\+Die Schlüsseldateien können beliebig benannt werden. Z.B. Username, PC-Name eines Laptops, etc. \\ 
 +Eine eindeutige Bezeichnung hilft die Schlüssel zu identifizieren, wenn z.B. Freigaben erteilt oder entzogen werden müssen. \\
 Eine Kopie der Schlüssel/Keys wird in den im folgenden genannten Verzeichnissen abgelegt. \\ Eine Kopie der Schlüssel/Keys wird in den im folgenden genannten Verzeichnissen abgelegt. \\
-Die Generierung erfolgt hier als root (ohne sudo)\\ 
  
 **Server-Schlüssel - privat (key)** **Server-Schlüssel - privat (key)**
   wg genkey | sudo tee /etc/wireguard/server.key   wg genkey | sudo tee /etc/wireguard/server.key
 Leserechte des privaten Server-Keys auf root begrenzen Leserechte des privaten Server-Keys auf root begrenzen
-  chmod 0400 /etc/wireguard/server.key+  sudo chmod 0400 /etc/wireguard/server.key
 **Server-Schlüssel öffentlich (pub) aus dem privaten Schlüssel generieren** **Server-Schlüssel öffentlich (pub) aus dem privaten Schlüssel generieren**
-  cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub+  sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
  
-**Client-Schlüssel - privat (key)** +**Client-Schlüssel - privat (key)** \\ 
-  mkdir -p /etc/wireguard/clients+Werden die Client-Schlüssel auf dem Server generiert, dann sollten diese in das Unterverzeichnis Clients gelegt werden. In diesem Fall muss der geheime private Schlüssel zum Client transferiert werden.\\ 
 +Besser ist es daher, die Client-Schlüssel auf dem Client-System zu erstellen und nur den öffentlichen Schlüssel zum Server zu transferieren. \\ 
 +  sudo mkdir -p /etc/wireguard/clients
  
-  wg genkey | tee /etc/wireguard/clients/client1.key+  sudo wg genkey | tee /etc/wireguard/clients/client1.key
  
 **Client-Schlüssel öffentlich (pub) aus dem privaten Schlüssel generieren** **Client-Schlüssel öffentlich (pub) aus dem privaten Schlüssel generieren**
-  cat /etc/wireguard/clients/client1.key | wg pubkey | tee /etc/wireguard/clients/client1.pub +  sudo cat /etc/wireguard/clients/client1.key | wg pubkey | tee /etc/wireguard/clients/client1.pub
- +
-Client1 kann beliebig benannt werden - z.B. mit dem Namen eines Users oder eines Laptops. Eine eindeutige Bezeichnung hilft die Schlüssel zu identifizieren, wenn Freigaben erteilt oder entzogen werden müssen.+
  
 **Zur Nutzung werden die Schlüssel wie folgt hinterlegt:**\\ **Zur Nutzung werden die Schlüssel wie folgt hinterlegt:**\\
Zeile 49: Zeile 50:
   * privater Key des Clients   * privater Key des Clients
   * öffentlicher Key des Servers   * öffentlicher Key des Servers
- 
  
 ===== Server einrichten ===== ===== Server einrichten =====
 ==== Server-Konfiguration erstellen ==== ==== Server-Konfiguration erstellen ====
-  nano /etc/wireguard/wg0.conf+  sudo nano /etc/wireguard/wg0.conf
  
   [Interface]   [Interface]
Zeile 78: Zeile 78:
   AllowedIPs = 10.8.0.3/32   AllowedIPs = 10.8.0.3/32
  
 +Muss ein einzelner Peer gelöscht werden:
 +
 +  wg set <interface> peer <key> remove
 +interfache z.B. wg0 \\
  
 ==== Tunnel, Port-Forwarding ==== ==== Tunnel, Port-Forwarding ====
 Um den gesamten Traffic über den Tunnel zu leiten (erforderlich für den aktiven Client für Internetdaten, Zugriff auf Remote-Desktops, etc.) ist Port-Forwarding auf dem Server erforderlich. \\ Um den gesamten Traffic über den Tunnel zu leiten (erforderlich für den aktiven Client für Internetdaten, Zugriff auf Remote-Desktops, etc.) ist Port-Forwarding auf dem Server erforderlich. \\
 === Debian === === Debian ===
-  nano /etc/sysctl.conf+  sudo nano /etc/sysctl.conf
 Einfügen in die Datei Einfügen in die Datei
   # Port Forwarding for IPv4   # Port Forwarding for IPv4
Zeile 90: Zeile 94:
  
 Änderungen übernehmen Änderungen übernehmen
-  sysctl -p+  sudo sysctl -p
 === Ubuntu === === Ubuntu ===
 Ist die Netzverwaltung auf dem Server mit Netplan realisiert, siehe: \\ Ist die Netzverwaltung auf dem Server mit Netplan realisiert, siehe: \\
Zeile 100: Zeile 104:
 siehe [[open:it:net#Firewall|Firewall]] siehe [[open:it:net#Firewall|Firewall]]
  
-  ufw allow OpenSSH+  sudo ufw allow OpenSSH
  
 # Tunnelendpunkt erreichbar machen # Tunnelendpunkt erreichbar machen
Zeile 111: Zeile 115:
   sudo ufw route allow out on wg0   sudo ufw route allow out on wg0
  
-  ufw reload+  sudo ufw reload
  
 ==== Wireguard-Server starten ==== ==== Wireguard-Server starten ====
-  systemctl start wg-quick@wg0.service+  sudo systemctl start wg-quick@wg0.service
 enable = in Zukunft automatisch mit dem System starten enable = in Zukunft automatisch mit dem System starten
-  systemctl enable wg-quick@wg0.service+  sudo systemctl enable wg-quick@wg0.service
  
-  systemctl status wg-quick@wg0.service+  sudo systemctl status wg-quick@wg0.service
  
 Schnittstelle wg0 überprüfen Schnittstelle wg0 überprüfen
Zeile 128: Zeile 132:
 ===== Linux Client einrichten ===== ===== Linux Client einrichten =====
   sudo apt install wireguard-tools   sudo apt install wireguard-tools
 +
 +
 +**Schlüssel generieren**\\
 +siehe [[#Schlüssel generieren|Schlüssel generieren]] \\
  
 **Konfigurationsdatei erstellen. **\\ **Konfigurationsdatei erstellen. **\\
 Diese Datei kann auch für den Import mit einem entsprechenden Client-Programm genutzt werden - Windows oder Linux. Diese Datei kann auch für den Import mit einem entsprechenden Client-Programm genutzt werden - Windows oder Linux.
 +<WRAP important>
 +ACHTUNG: In dieser Datei ist der private Schlüssel enthalten, sie ist daher sicherheitsrelevant und sollte entsprechend behandelt werden.
 +</WRAP>
   sudo nano /etc/wireguard/client1.conf   sudo nano /etc/wireguard/client1.conf
  
Zeile 151: Zeile 162:
   PersistentKeepalive = 25     PersistentKeepalive = 25  
  
-Unter DNS ist die IP-Adresse für den Internetzugang auf dem Server einzutragen. Da sämtliche Internetdaten durch den Tunnel geleitet werden, benötigt der Client die Route auf dem Server, wenn er parallel eine Internetverbindung nutzen möchte((Webseiten aufrufen, E-Mail abrufen, etc.)).+Unter DNS ist die IP-Adresse für den Internetzugang auf dem Server einzutragen. Da sämtliche Internetdaten durch den Tunnel geleitet werden, benötigt der Client die Route auf dem Server, wenn er parallel eine Internetverbindung nutzen möchte((Webseiten aufrufen, E-Mail abrufen, etc.)). \\ 
 +Ist die DNS-Adresse des Servers nicht bekannt, kann diese wie folgt abgerufen werden: 
 + 
 +  cat /etc/resolv.conf 
  
 ==== Wireguard starten ==== ==== Wireguard starten ====
 Hier wird die Verwaltung über die Konsole beschrieben. Wird das Linux-System über eine GUI betrieben, ist es auch möglich, die o.a. client1.conf-Datei über die Netzwerk-Verwaltung zu importieren. Hier wird die Verwaltung über die Konsole beschrieben. Wird das Linux-System über eine GUI betrieben, ist es auch möglich, die o.a. client1.conf-Datei über die Netzwerk-Verwaltung zu importieren.
  
-  wg-quick up client1+  sudo wg-quick up client1
  
 Evtl. installieren bei Fehlermeldung beim Start VPN Evtl. installieren bei Fehlermeldung beim Start VPN
Zeile 175: Zeile 190:
  
 Wireguard beenden (Server und Client) Wireguard beenden (Server und Client)
-  wg-quick down client1+  sudo wg-quick down client1
  
 ===== Windows-Client einrichten ===== ===== Windows-Client einrichten =====
open/it/vpn.1724237308.txt.gz · Zuletzt geändert: 2024/08/21 12:48 von Kai