|
|
--- |
|
|
id: wireguard-installation |
|
|
title: WireGuard Installieren |
|
|
sidebar_label: WireGuard installieren |
|
|
--- |
|
|
|
|
|
# 📌 WireGuard Installation und Konfiguration |
|
|
|
|
|
WireGuard ist eine moderne, schnelle und sichere VPN-Lösung. Diese Anleitung beschreibt die Installation und Konfiguration von WireGuard auf einem Linux-Server sowie die Einrichtung eines Clients. |
|
|
|
|
|
## 📝 Voraussetzungen |
|
|
|
|
|
- Ein Linux-Server (Ubuntu, Debian oder CentOS empfohlen) |
|
|
- Root-Zugriff oder ein Benutzer mit `sudo`-Rechten |
|
|
- Ein öffentlicher oder interner Server mit einer festen IP-Adresse |
|
|
- Ein Client (Windows, Linux, macOS, Android oder iOS) |
|
|
|
|
|
--- |
|
|
|
|
|
## 🔧 Schritt 1: WireGuard auf dem Server installieren |
|
|
|
|
|
### Ubuntu / Debian |
|
|
|
|
|
```sh |
|
|
sudo apt update && sudo apt install -y wireguard |
|
|
``` |
|
|
|
|
|
### CentOS / RHEL |
|
|
|
|
|
```sh |
|
|
sudo yum install -y epel-release |
|
|
sudo yum install -y wireguard-tools |
|
|
``` |
|
|
|
|
|
### Arch Linux |
|
|
|
|
|
```sh |
|
|
sudo pacman -S wireguard-tools |
|
|
``` |
|
|
|
|
|
Nach der Installation kannst du überprüfen, ob WireGuard verfügbar ist: |
|
|
|
|
|
```sh |
|
|
wg --version |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🛠️ Schritt 2: Server-Konfiguration |
|
|
|
|
|
1. **Erstelle den Konfigurationsordner:** |
|
|
```sh |
|
|
sudo mkdir -p /etc/wireguard |
|
|
cd /etc/wireguard |
|
|
``` |
|
|
|
|
|
2. **Generiere die Schlüsselpaare für den Server:** |
|
|
```sh |
|
|
umask 077 |
|
|
wg genkey | tee privatekey | wg pubkey > publickey |
|
|
``` |
|
|
|
|
|
3. **Erstelle die Server-Konfigurationsdatei:** |
|
|
|
|
|
```sh |
|
|
sudo nano /etc/wireguard/wg0.conf |
|
|
``` |
|
|
|
|
|
Füge folgende Inhalte hinzu: |
|
|
|
|
|
```ini |
|
|
[Interface] |
|
|
Address = 10.0.0.1/24 |
|
|
ListenPort = 51820 |
|
|
PrivateKey = <SERVER_PRIVATE_KEY> |
|
|
SaveConfig = true |
|
|
|
|
|
[Peer] |
|
|
PublicKey = <CLIENT_PUBLIC_KEY> |
|
|
AllowedIPs = 10.0.0.2/32 |
|
|
``` |
|
|
|
|
|
**Ersetze:** |
|
|
- `<SERVER_PRIVATE_KEY>` mit dem Inhalt der Datei `privatekey` |
|
|
- `<CLIENT_PUBLIC_KEY>` mit dem öffentlichen Schlüssel des Clients |
|
|
|
|
|
4. **Aktiviere die IP-Weiterleitung:** |
|
|
|
|
|
```sh |
|
|
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf |
|
|
sudo sysctl -p |
|
|
``` |
|
|
|
|
|
5. **Firewall-Regeln setzen (optional, falls UFW genutzt wird):** |
|
|
|
|
|
```sh |
|
|
sudo ufw allow 51820/udp |
|
|
sudo ufw enable |
|
|
``` |
|
|
|
|
|
6. **WireGuard starten und automatisch aktivieren:** |
|
|
|
|
|
```sh |
|
|
sudo systemctl enable wg-quick@wg0 |
|
|
sudo systemctl start wg-quick@wg0 |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 💻 Schritt 3: Client-Konfiguration (Linux, Windows, macOS, Android, iOS) |
|
|
|
|
|
### 1️⃣ Installiere WireGuard auf dem Client |
|
|
|
|
|
- **Windows/macOS**: [WireGuard-Downloadseite](https://www.wireguard.com/install/) |
|
|
- **Linux**: |
|
|
```sh |
|
|
sudo apt install -y wireguard |
|
|
``` |
|
|
- **Android/iOS**: WireGuard App im Store suchen und installieren. |
|
|
|
|
|
### 2️⃣ Generiere Schlüsselpaare für den Client |
|
|
|
|
|
Auf Linux/macOS: |
|
|
|
|
|
```sh |
|
|
wg genkey | tee client_privatekey | wg pubkey > client_publickey |
|
|
``` |
|
|
|
|
|
### 3️⃣ Erstelle die Client-Konfigurationsdatei |
|
|
|
|
|
Öffne den Editor und erstelle eine neue Datei: |
|
|
|
|
|
```sh |
|
|
nano ~/wg-client.conf |
|
|
``` |
|
|
|
|
|
Füge folgende Konfiguration hinzu: |
|
|
|
|
|
```ini |
|
|
[Interface] |
|
|
PrivateKey = <CLIENT_PRIVATE_KEY> |
|
|
Address = 10.0.0.2/24 |
|
|
DNS = 8.8.8.8 |
|
|
|
|
|
[Peer] |
|
|
PublicKey = <SERVER_PUBLIC_KEY> |
|
|
Endpoint = <SERVER_IP>:51820 |
|
|
AllowedIPs = 0.0.0.0/0, ::/0 |
|
|
PersistentKeepalive = 25 |
|
|
``` |
|
|
|
|
|
**Ersetze:** |
|
|
- `<CLIENT_PRIVATE_KEY>` mit dem Inhalt der Datei `client_privatekey` |
|
|
- `<SERVER_PUBLIC_KEY>` mit dem öffentlichen Schlüssel des Servers |
|
|
- `<SERVER_IP>` mit der IP-Adresse deines Servers |
|
|
|
|
|
### 4️⃣ Server-Konfiguration für den Client ergänzen |
|
|
|
|
|
Öffne die `wg0.conf` auf dem Server und füge den neuen Client hinzu: |
|
|
|
|
|
```ini |
|
|
[Peer] |
|
|
PublicKey = <CLIENT_PUBLIC_KEY> |
|
|
AllowedIPs = 10.0.0.2/32 |
|
|
``` |
|
|
|
|
|
Speichere die Datei und wende die Änderungen an: |
|
|
|
|
|
```sh |
|
|
sudo systemctl restart wg-quick@wg0 |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🌐 Schritt 4: VPN-Verbindung testen |
|
|
|
|
|
### Linux: |
|
|
|
|
|
```sh |
|
|
sudo wg-quick up wg-client.conf |
|
|
``` |
|
|
|
|
|
### Windows/macOS: |
|
|
- Öffne die WireGuard-App und importiere die `wg-client.conf` |
|
|
- Starte die Verbindung |
|
|
|
|
|
### Überprüfung: |
|
|
|
|
|
```sh |
|
|
wg show |
|
|
``` |
|
|
|
|
|
Falls du mit `ping` testen möchtest: |
|
|
|
|
|
```sh |
|
|
ping 10.0.0.1 |
|
|
``` |
|
|
|
|
|
Wenn alles korrekt ist, sollte der Server erreichbar sein. |
|
|
|
|
|
--- |
|
|
|
|
|
## 🛑 Schritt 5: Fehlerbehebung (Troubleshooting) |
|
|
|
|
|
Falls WireGuard nicht funktioniert, überprüfe: |
|
|
|
|
|
1. **Firewall & Ports:** Stelle sicher, dass Port `51820` (UDP) offen ist. |
|
|
2. **WireGuard-Status:** Prüfe den Dienststatus: |
|
|
```sh |
|
|
sudo systemctl status wg-quick@wg0 |
|
|
``` |
|
|
3. **Logs analysieren:** Falls die Verbindung fehlschlägt: |
|
|
```sh |
|
|
sudo journalctl -u wg-quick@wg0 --no-pager | tail -n 20 |
|
|
``` |
|
|
|
|
|
--- |
|
|
|
|
|
## ✅ Abschluss |
|
|
|
|
|
WireGuard ist jetzt erfolgreich eingerichtet! Du kannst weitere Clients hinzufügen, indem du ihre Schlüsselpaare generierst und in die `wg0.conf` auf dem Server einfügst. |
|
|
|
|
|
Weitere Infos findest du auf der offiziellen [WireGuard-Dokumentation](https://www.wireguard.com/). |
|
|
|
|
|
Happy VPN-ing! 🚀
|
|
|
|