home-harmening:sicherheit:vpn:wireguard_server_in_linux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
home-harmening:sicherheit:vpn:wireguard_server_in_linux [2024/10/24 09:41] – angelegt charmeninghome-harmening:sicherheit:vpn:wireguard_server_in_linux [2024/10/24 09:53] (aktuell) charmening
Zeile 24: Zeile 24:
 <code>cat ssl/client1_private.key | wg pubkey | tee ssl/client1_public.key</code> <code>cat ssl/client1_private.key | wg pubkey | tee ssl/client1_public.key</code>
 === Verbindung erstellen === === Verbindung erstellen ===
-Server Verbindung wg0 erstellen+Jetzt wird die Konfigurationsdatei für die Serverseite Verbindung erstellt. Hierbei werden Firewallregeln hinzugefügt, die es ermöglichen, dass die Clients sich untereinander, das Internet und des Server erreichen können. 
 +Dem Server wird der eigene Private Key bekannt gemacht, als auch **alle* Public Keys der Clients.  
 +Dateipfad ist /etc/wireguard/wg0.conf
 <code> <code>
 +cat << EOF > /etc/wireguard/wg0.conf
 [Interface] [Interface]
 PrivateKey = $(cat /etc/wireguard/ssl/server_private.key) PrivateKey = $(cat /etc/wireguard/ssl/server_private.key)
Zeile 45: Zeile 48:
 </code> </code>
 \\ \\
 +Das Ergebnis sollte ungeähr so aussehen
 +<code>
 +[Interface]
 +PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Private Key des Servers
 +Address = 10.0.0.1/24
 +ListenPort = 51820
 +PostUp = sysctl net.ipv4.ip_forward=1
 +PostUp = iptables -A FORWARD -i ens6 -o %i -j ACCEPT
 +PostUp = iptables -A FORWARD -i %i -j ACCEPT
 +PostUp = iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
 +PostDown = sysctl net.ipv4.ip_forward=0
 +PostDown = iptables -D FORWARD -i ens6 -o %i -j ACCEPT
 +PostDown = iptables -D FORWARD -i %i -j ACCEPT
 +PostDown = iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE
  
 +[Peer]
 +PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Public Key des Clients
 +AllowedIPs = 10.0.0.2/32
 +</code>
 +\\
 +Jetzt wird pro Client eine Eigene Konfigurationsdatei erstellt. Diese Datei beinhaltet die Adresse und den PubKey des Servers. Ebenso den PrivateKey des Clients.
 +<code>
 +cat <<EOF > /etc/wireguard/clients/client1.conf
 +[Interface]
 +PrivateKey = $(cat /etc/wireguard/ssl/client_private.key)    # Client-Private-Key
 +Address = 10.0.0.2/24
 +DNS = 8.8.8.8
 +
 +[Peer]
 +PublicKey = $(cat /etc/wireguard/ssl/server_public.key)     # Server-Public-Key
 +AllowedIPs = 0.0.0.0/0
 +Endpoint = $(hostname -f):51820                             # Server Adresse
 +PersistentKeepalive = 15
 +EOF
 +</code>
 +<code>
 +[Interface]
 +PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   # Client-Private-Key
 +Address = 10.0.0.2/24
 +DNS = 8.8.8.8
 +
 +[Peer]
 +PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx     # Server-Public-Key
 +AllowedIPs = 0.0.0.0/0
 +Endpoint = wireguard.mydomain.de:51820               # Server Adresse                   
 +PersistentKeepalive = 15
 +</code>