You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

225 lines
4.6 KiB

---
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! 🚀