CRITICAL INFRA
Loading critical CVEs…
ALL EXPLOITED
Loading…

HowTo: WireGuard-VPN auf Debian + Windows-Client

📅 2026-09-13 · Cyber Immunity

WireGuard = ein modernes, schnelles und einfaches VPN. Wir richten den Server auf Debian und den Client unter Windows ein, mit Befehlen und fertigen Konfigurationsdateien.

1. Installation + IP-Forwarding

sudo apt update && sudo apt -y install wireguard wireguard-tools
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wg.conf

2. Schluessel erzeugen (Server + Client)

cd /etc/wireguard
umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key
wg genkey | tee client_private.key | wg pubkey | tee client_public.key

3. Server-Konfiguration (wg0.conf)

sudo tee /etc/wireguard/wg0.conf >/dev/null <<'EOF'
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <CONTINUT_server_private.key>
PostUp   = nft add rule ip nat postrouting oif eth0 masquerade
PostDown = nft delete rule ip nat postrouting oif eth0 masquerade

[Peer]
# client Windows
PublicKey = <CONTINUT_client_public.key>
AllowedIPs = 10.10.0.2/32
EOF

4. Firewall + Start

sudo ufw allow 51820/udp   # sau regula nftables echivalenta
sudo systemctl enable --now wg-quick@wg0
sudo wg show

5. Windows-Client-Konfiguration (client.conf)

# fisierul de config pt clientul Windows (client.conf)
[Interface]
PrivateKey = <CONTINUT_client_private.key>
Address = 10.10.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = <CONTINUT_server_public.key>
Endpoint = SERVER_PUBLIC_IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

6. Der Windows-Client

  1. Laden Sie die offizielle App von wireguard.com/install herunter und installieren Sie sie.
  2. Oeffnen Sie WireGuardAdd TunnelAdd empty tunnel (oder importieren Sie eine .conf-Datei).
  3. Fuegen Sie den client.conf-Inhalt aus Schritt 5 ein (echte Schluessel, oeffentliche Server-IP im Endpoint).
  4. Klicken Sie auf Activate. Der Status wird aktiv und Sie sehen den Handshake.
  5. Fuegen Sie den oeffentlichen Client-Schluessel als [Peer] auf dem Server hinzu (Schritt 3) und systemctl restart wg-quick@wg0.

7. Pruefen

sudo wg show            # pe server: arata handshake-ul si transferul
ping 10.10.0.1          # de pe client, catre server
curl ifconfig.me        # de pe client: trebuie sa arate IP-ul serverului

Fehlersuche (kein Handshake)

Kommt der Tunnel nicht zustande, pruefen Sie der Reihe nach: UDP-Port 51820 auf Firewall/Router offen, Endpoint = oeffentliche IP + korrekter Port, oeffentliche/private Schluessel nicht vertauscht, korrekte AllowedIPs und PersistentKeepalive = 25, falls Sie hinter NAT sind.

sudo wg show                       # 'latest handshake' apare?
sudo ss -lunp | grep 51820         # serverul asculta pe UDP 51820?
sudo journalctl -u wg-quick@wg0 --no-pager | tail

Fazit

Sie haben nun einen funktionierenden WireGuard-Tunnel zwischen Server und Windows. Wir erweitern ihn auf Wunsch um weitere Clients, Site-to-Site oder einen Kill-Switch.

Lassen Sie uns über Ihr Projekt sprechen →