
Automatisierte Einrichtung eines IPsec-VPN-Servers mit Unterstützung für IPsec/L2TP, Cisco IPsec und IKEv2. Enthält Hilfsskripte für die Benutzer- und Zertifikatsverwaltung und generiert Profile für iOS-, macOS-, Android- und Windows-Clients.
[English](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README.md) | [简体中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh.md) | [繁體中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh-Hant.md) | [日本語](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ja.md) | [Русский](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ru.md)
# IPsec VPN Server Auto Setup Scripts
[](https://github.com/hwdsl2/setup-ipsec-vpn/actions/workflows/main.yml) [](https://github.com/hwdsl2/setup-ipsec-vpn/stargazers) [](https://github.com/hwdsl2/docker-ipsec-vpn-server) [](https://github.com/hwdsl2/docker-ipsec-vpn-server)
Richten Sie Ihren eigenen IPsec VPN-Server in nur wenigen Minuten ein, mit IPsec/L2TP, Cisco IPsec und IKEv2.
Ein IPsec VPN verschlüsselt Ihren Netzwerkverkehr, sodass niemand zwischen Ihnen und dem VPN-Server Ihre Daten abhören kann, während sie über das Internet übertragen werden. Dies ist besonders nützlich bei der Nutzung ungesicherter Netzwerke, z. B. in Cafés, Flughäfen oder Hotelzimmern.
Wir verwenden [Libreswan](https://libreswan.org/) als IPsec-Server und [xl2tpd](https://github.com/xelerance/xl2tpd) als L2TP-Anbieter.
**Funktionen:**
- Vollautomatische Einrichtung des IPsec VPN-Servers, keine Benutzereingabe erforderlich
- Unterstützt IKEv2 mit starken und schnellen Verschlüsselungsverfahren (z. B. AES-GCM)
- Generiert VPN-Profile zur automatischen Konfiguration von iOS-, macOS- und Android-Geräten
- Unterstützt Windows, macOS, iOS, Android, Chrome OS und Linux als VPN-Clients
- Enthält Hilfsskripte zur Verwaltung von VPN-Benutzern und Zertifikaten
**Ebenfalls verfügbar:**
- Docker VPN: [IPsec VPN](https://github.com/hwdsl2/docker-ipsec-vpn-server), [WireGuard](https://github.com/hwdsl2/docker-wireguard), [OpenVPN](https://github.com/hwdsl2/docker-openvpn), [Headscale](https://github.com/hwdsl2/docker-headscale)
- KI: [Self-Hosted AI Stack](https://github.com/hwdsl2/self-hosted-ai-stack) für lokale LLMs, Chat, RAG, Sprache und KI-Tools
> 📘 Interesse an selbst gehosteter KI? [The Self-Hosted AI Builder’s Guide](https://books2read.com/aiguide?store=amazon) ist ein praktischer Leitfaden zum Aufbau, zur Absicherung und zum Betrieb Ihres eigenen privaten KI-Stacks.
## Schnellstart
Beginnen Sie mit einem Linux-Server\*, auf dem ein [unterstütztes Betriebssystem](#requirements) läuft.
Verwenden Sie diesen Einzeiler, um einen IPsec VPN-Server einzurichten:
```bash
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
```
Ihre VPN-Anmeldedaten werden zufällig generiert und nach Abschluss angezeigt.
**Tipp:** Optional können Sie [WireGuard](https://github.com/hwdsl2/wireguard-install), [OpenVPN](https://github.com/hwdsl2/openvpn-install) und/oder [Headscale](https://github.com/hwdsl2/headscale-install) auf demselben Server installieren.
<details>
<summary>
Sehen Sie das Skript in Aktion (Terminal-Aufzeichnung).
</summary>
**Hinweis:** Diese Aufzeichnung dient nur zu Demonstrationszwecken. Die VPN-Anmeldedaten in dieser Aufzeichnung sind **NICHT** gültig.
<p align="center"><img src="https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/docs/images/script-demo.svg"></p>
</details>
<details>
<summary>
Klicken Sie hier, falls Sie nicht herunterladen können.
</summary>
Sie können auch `curl` zum Herunterladen verwenden:
```bash
curl -fsSL https://get.vpnsetup.net -o vpn.sh && sudo sh vpn.sh
```
Alternative Setup-URLs:
```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh
```
Wenn Sie nicht herunterladen können, öffnen Sie [vpnsetup.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/vpnsetup.sh) und klicken Sie dann auf die Schaltfläche `Raw` auf der rechten Seite. Drücken Sie `Ctrl/Cmd+A`, um alles auszuwählen, `Ctrl/Cmd+C`, um zu kopieren, und fügen Sie es dann in Ihren bevorzugten Editor ein.
</details>
Ein vorgefertigtes [Docker-Image](https://github.com/hwdsl2/docker-ipsec-vpn-server) ist ebenfalls verfügbar. Weitere Optionen und die Client-Einrichtung finden Sie in den Abschnitten unten.
\* Ein Cloud-Server, virtueller privater Server (VPS) oder dedizierter Server.
## Community
- 📬 [Erhalten Sie Projekt-Updates und kostenlose Deployment-Anleitungen](https://selfhostedstack.beehiiv.com/subscribe?utm_campaign=vpn) (1–2 E-Mails/Monat)
- 💬 Treten Sie der [r/selfhostedstack](https://www.reddit.com/r/selfhostedstack/)-Community für Diskussionen bei
- ⭐ Geben Sie dem Repository einen Stern, wenn Sie es nützlich finden — das hilft anderen, es zu entdecken
## Anforderungen
Ein Cloud-Server, virtueller privater Server (VPS) oder dedizierter Server mit einer Installation von:
- Ubuntu 26.04, 24.04 oder 22.04
- Debian 13 oder 12
- CentOS Stream 10 oder 9
- Rocky Linux oder AlmaLinux
- Oracle Linux
<details>
<summary>
Weitere unterstützte Linux-Distributionen.
</summary>
- Raspberry Pi OS (Raspbian)
- Kali Linux
- Alpine Linux
- Red Hat Enterprise Linux (RHEL)
</details>
Dies umfasst auch Linux-VMs in öffentlichen Clouds wie [DigitalOcean](https://blog.ls20.com/digitalocean), [Vultr](https://blog.ls20.com/vultr), [Linode](https://blog.ls20.com/linode), [OVH](https://www.ovhcloud.com/en/vps/) und [Microsoft Azure](https://azure.microsoft.com). Nutzer öffentlicher Clouds können auch mithilfe von [user data](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#vpnsetup) bereitstellen.
Schnelles Deployment auf:
[](https://cloud.linode.com/stackscripts/37239) [](azure/README.md)
[**» Ich möchte meinen eigenen VPN betreiben, habe aber keinen Server dafür**](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#gettingavps)
Bei Servern mit einer externen Firewall (z. B. [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/vpc/docs/firewalls)) öffnen Sie die UDP-Ports 500 und 4500 für den VPN.
Ein vorgefertigtes [Docker-Image](https://github.com/hwdsl2/docker-ipsec-vpn-server) ist ebenfalls verfügbar. Fortgeschrittene Benutzer können auf einem [Raspberry Pi](https://www.raspberrypi.com) installieren. [[1]](https://elasticbyte.net/posts/setting-up-a-native-cisco-ipsec-vpn-server-using-a-raspberry-pi/) [[2]](https://www.stewright.me/2018/07/create-a-raspberry-pi-vpn-server-using-l2tpipsec/)
> [!WARNING]
> Führen Sie diese Skripte auf dem Linux-Server aus, der Ihren VPN hosten soll. Führen Sie sie nicht auf Ihrem persönlichen PC oder Mac aus.
## Installation
Aktualisieren Sie zunächst Ihren Server mit `sudo apt-get update && sudo apt-get dist-upgrade` (Ubuntu/Debian) oder `sudo yum update` und starten Sie ihn neu. Dies ist optional, aber empfohlen.
Um den VPN zu installieren, wählen Sie bitte eine der folgenden Optionen:
**Option 1:** Lassen Sie das Skript zufällige VPN-Anmeldedaten für Sie generieren (werden nach Abschluss angezeigt).
```bash
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
```
**Option 2:** Bearbeiten Sie das Skript und geben Sie Ihre eigenen VPN-Anmeldedaten an.
```bash
wget https://get.vpnsetup.net -O vpn.sh
nano -w vpn.sh
[Replace with your own values: YOUR_IPSEC_PSK, YOUR_USERNAME and YOUR_PASSWORD]
sudo sh vpn.sh
```
> [!NOTE]
> Ein sicheres IPsec-PSK sollte aus mindestens 20 zufälligen Zeichen bestehen.
**Option 3:** Definieren Sie Ihre VPN-Anmeldedaten als Umgebungsvariablen.
```bash
# All values MUST be placed inside 'single quotes'
# DO NOT use these special characters within values: \ " '
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_IPSEC_PSK='your_ipsec_pre_shared_key' \
VPN_USER='your_vpn_username' \
VPN_PASSWORD='your_vpn_password' \
sh vpn.sh
```
**Tipp:** Optional können Sie [WireGuard](https://github.com/hwdsl2/wireguard-install), [OpenVPN](https://github.com/hwdsl2/openvpn-install) und/oder [Headscale](https://github.com/hwdsl2/headscale-install) auf demselben Server installieren. Wenn Ihr Server CentOS Stream, Rocky Linux oder AlmaLinux ausführt, installieren Sie zuerst OpenVPN/WireGuard und dann das IPsec VPN.
<details>
<summary>
Klicken Sie hier, falls Sie nicht herunterladen können.
</summary>
Sie können auch `curl` zum Herunterladen verwenden. Zum Beispiel:
```bash
curl -fL https://get.vpnsetup.net -o vpn.sh
sudo sh vpn.sh
```
Alternative Setup-URLs:
```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh
```
Wenn Sie nicht herunterladen können, öffnen Sie [vpnsetup.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/vpnsetup.sh) und klicken Sie dann auf die Schaltfläche `Raw` auf der rechten Seite. Drücken Sie `Ctrl/Cmd+A`, um alles auszuwählen, `Ctrl/Cmd+C`, um zu kopieren, und fügen Sie es dann in Ihren bevorzugten Editor ein.
</details>
<details>
<summary>
Ich möchte die ältere Libreswan-Version 4 installieren.
</summary>
Es wird allgemein empfohlen, die neueste [Libreswan](https://libreswan.org/)-Version 5 zu verwenden, die die Standardversion in diesem Projekt ist. Wenn Sie jedoch die ältere Libreswan-Version 4 installieren möchten:
```bash
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_SWAN_VER=4.15 sh vpn.sh
```
**Hinweis:** Wenn Libreswan Version 5 bereits installiert ist, müssen Sie möglicherweise zuerst [den VPN deinstallieren](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/uninstall.md), bevor Sie Libreswan Version 4 installieren. Alternativ können Sie das [Update-Skript](#upgrade-libreswan) herunterladen, es bearbeiten, um `SWAN_VER=4.15` anzugeben, und dann das Skript ausführen.
</details>
## VPN-Optionen anpassen
### Alternative DNS-Server verwenden
Standardmäßig werden Clients so eingestellt, dass sie [Google Public DNS](https://developers.google.com/speed/public-dns/) verwenden, wenn das VPN aktiv ist. Bei der Installation des VPN können Sie optional benutzerdefinierte DNS-Server für alle VPN-Modi angeben. Beispiel:
```bash
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh
```
Verwenden Sie `VPN_DNS_SRV1`, um den primären DNS-Server anzugeben, und `VPN_DNS_SRV2`, um den sekundären DNS-Server anzugeben (optional).
Nachfolgend finden Sie eine Liste einiger beliebter öffentlicher DNS-Anbieter als Referenz.
| Anbieter | Primärer DNS | Sekundärer DNS | Hinweise |
| -------- | ----------- | ------------- | ----- |
| [Google Public DNS](https://developers.google.com/speed/public-dns) | 8.8.8.8 | 8.8.4.4 | Standard in diesem Projekt |
| [Cloudflare](https://1.1.1.1/dns/) | 1.1.1.1 | 1.0.0.1 | Siehe auch: [Cloudflare for families](https://1.1.1.1/family/) |
| [Quad9](https://www.quad9.net) | 9.9.9.9 | 149.112.112.112 | Blockiert bösartige Domains |
| [OpenDNS](https://www.opendns.com/home-internet-security/) | 208.67.222.222 | 208.67.220.220 | Blockiert Phishing-Domains, konfigurierbar. |
| [CleanBrowsing](https://cleanbrowsing.org/filters/) | 185.228.168.9 | 185.228.169.9 | [Domainfilter](https://cleanbrowsing.org/filters/) verfügbar |
| [NextDNS](https://nextdns.io/?from=bg25bwmp) | Variiert | Variiert | Werbeblockierung, kostenlose Stufe verfügbar. [Mehr erfahren](https://nextdns.io/?from=bg25bwmp). |
| [Control D](https://controld.com/free-dns) | Variiert | Variiert | Werbeblockierung, konfigurierbar. [Mehr erfahren](https://controld.com/free-dns). |
Wenn Sie die DNS-Server nach der VPN-Einrichtung ändern müssen, siehe [Erweiterte Nutzung](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md).
> [!NOTE]
> Wenn IKEv2 bereits auf dem Server eingerichtet ist, haben die obigen Variablen für den IKEv2-Modus keine Wirkung. In diesem Fall können Sie, um IKEv2-Optionen wie DNS-Server anzupassen, zunächst [IKEv2 entfernen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md#remove-ikev2) und es dann mit `sudo ikev2.sh` erneut einrichten.
### IKEv2-Optionen anpassen
Bei der Installation des VPN können fortgeschrittene Benutzer optional IKEv2-Optionen anpassen.
<details open>
<summary>
Option 1: IKEv2 während der VPN-Einrichtung überspringen und dann IKEv2 mit benutzerdefinierten Optionen einrichten.
</summary>
Bei der Installation des VPN können Sie IKEv2 überspringen und nur die Modi IPsec/L2TP und IPsec/XAuth ("Cisco IPsec") installieren:
```bash
sudo VPN_SKIP_IKEV2=yes sh vpn.sh
```
(Optional) Wenn Sie benutzerdefinierte DNS-Server für VPN-Clients angeben möchten, definieren Sie `VPN_DNS_SRV1` und optional `VPN_DNS_SRV2`. Siehe [Alternative DNS-Server verwenden](#use-alternative-dns-servers) für Details.
Führen Sie danach das IKEv2-Hilfsskript aus, um IKEv2 interaktiv mit benutzerdefinierten Optionen einzurichten:
```bash
sudo ikev2.sh
```
Sie können die folgenden Optionen anpassen: DNS-Name des VPN-Servers, Name und Gültigkeitsdauer des ersten Clients, DNS-Server für VPN-Clients und ob die Client-Konfigurationsdateien mit einem Passwort geschützt werden sollen.
**Hinweis:** Die Variable `VPN_SKIP_IKEV2` hat keine Wirkung, wenn IKEv2 bereits auf dem Server eingerichtet ist. In diesem Fall können Sie, um IKEv2-Optionen anzupassen, zunächst [IKEv2 entfernen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md#remove-ikev2) und es dann mit `sudo ikev2.sh` erneut einrichten.
</details>
<details>
<summary>
Option 2: IKEv2-Optionen mithilfe von Umgebungsvariablen anpassen.
</summary>
Bei der Installation des VPN können Sie optional einen DNS-Namen für die IKEv2-Serveradresse angeben. Der DNS-Name muss ein vollständig qualifizierter Domänenname (FQDN) sein. Beispiel:
```bash
sudo VPN_DNS_NAME='vpn.example.com' sh vpn.sh
```
Ebenso können Sie einen Namen für den ersten IKEv2-Client angeben. Standardmäßig ist `vpnclient`, wenn nicht anders angegeben.
```bash
sudo VPN_CLIENT_NAME='your_client_name' sh vpn.sh
```
Standardmäßig sind Clients so eingestellt, dass sie [Google Public DNS](https://developers.google.com/speed/public-dns/) verwenden, wenn das VPN aktiv ist. Sie können benutzerdefinierte DNS-Server für alle VPN-Modi angeben. Beispiel:
```bash
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh
```
Standardmäßig ist beim Importieren der IKEv2-Clientkonfiguration kein Passwort erforderlich. Sie können wählen, ob Sie Client-Konfigurationsdateien mit einem zufälligen Passwort schützen möchten.
```bash
sudo VPN_PROTECT_CONFIG=yes sh vpn.sh
```
</details>
<details>
<summary>
Als Referenz: Liste der IKEv1- und IKEv2-Parameter.
</summary>
| IKEv1-Parameter\* | Standardwert | Anpassen (Umgebungsvariable)\*\* |
| --------------------------- | --------------------- | ---------------------------------------- |
| Serveradresse (DNS-Name) | - | Nein, aber Sie können sich über einen DNS-Namen verbinden |
| Serveradresse (öffentliche IP) | Automatische Erkennung | VPN_PUBLIC_IP |
| IPsec Pre-Shared Key | Automatisch generieren | VPN_IPSEC_PSK |
| VPN-Benutzername | vpnuser | VPN_USER |
| VPN-Passwort | Automatisch generieren | VPN_PASSWORD |
| DNS-Server für Clients | Google Public DNS | VPN_DNS_SRV1, VPN_DNS_SRV2 |
| IKEv2-Einrichtung überspringen | nein | VPN_SKIP_IKEV2=yes |
\* Diese IKEv1-Parameter gelten für die Modi IPsec/L2TP und IPsec/XAuth („Cisco IPsec").
\*\* Definieren Sie diese als Umgebungsvariablen, wenn Sie vpn(setup).sh ausführen.
| IKEv2-Parameter\* | Standardwert | Anpassen (Umgebungsvariable)\*\* | Anpassen (interaktiv)\*\*\* |
| --------------------------- | --------------------- | ---------------------------- | ----------------------------- |
| Serveradresse (DNS-Name) | - | VPN_DNS_NAME | ✅ |
| Serveradresse (öffentliche IP) | Automatische Erkennung | VPN_PUBLIC_IP | ✅ |
| Name des ersten Clients | vpnclient | VPN_CLIENT_NAME | ✅ |
| DNS-Server für Clients | Google Public DNS | VPN_DNS_SRV1, VPN_DNS_SRV2 | ✅ |
| Client-Konfigurationsdateien schützen | nein | VPN_PROTECT_CONFIG=yes | ✅ |
| MOBIKE aktivieren/deaktivieren | Aktivieren, wenn unterstützt | ❌ | ✅ |
| Gültigkeit des Client-Zertifikats | 10 Jahre (120 Monate) | VPN_CLIENT_VALIDITY\*\*\*\* | ✅ |
| Gültigkeit des CA- & Server-Zertifikats | 10 Jahre (120 Monate) | ❌ | ❌ |
| Name des CA-Zertifikats | IKEv2 VPN CA | ❌ | ❌ |
| Schlüsselgröße des Zertifikats | 3072 Bits | ❌ | ❌ |
\* Diese IKEv2-Parameter gelten für den IKEv2-Modus.
\*\* Definieren Sie diese als Umgebungsvariablen, wenn Sie vpn(setup).sh ausführen oder wenn Sie IKEv2 im automatischen Modus einrichten (`sudo ikev2.sh --auto`).
\*\*\* Kann während der interaktiven IKEv2-Einrichtung angepasst werden (`sudo ikev2.sh`). Siehe Option 1 oben.
\*\*\*\* Verwenden Sie `VPN_CLIENT_VALIDITY`, um den Gültigkeitszeitraum des Client-Zertifikats in Monaten anzugeben. Muss eine ganze Zahl zwischen 1 und 120 sein.
Zusätzlich zu diesen Parametern können fortgeschrittene Benutzer auch [VPN-Subnetze anpassen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#customize-vpn-subnets) während der VPN-Einrichtung.
</details>
## Nächste Schritte
*Lesen Sie dies in anderen Sprachen: [English](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README.md#next-steps), [简体中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh.md#下一步), [繁體中文](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-zh-Hant.md#下一步), [日本語](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ja.md#次のステップ), [Русский](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/README-ru.md#следующие-шаги).*
Bringen Sie Ihren Computer oder Ihr Gerät dazu, das VPN zu verwenden. Bitte beachten Sie:
**[IKEv2-VPN-Clients konfigurieren (empfohlen)](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md)**
**[IPsec/L2TP-VPN-Clients konfigurieren](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients.md)**
**[IPsec/XAuth- („Cisco IPsec") VPN-Clients konfigurieren](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients-xauth.md)**
**Lesen Sie das [📘 VPN-Buch](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/vpn-book.md), um auf [zusätzliche Inhalte](https://ko-fi.com/post/Support-this-project-and-get-access-to-supporter-o-O5O7FVF8J) zuzugreifen.**
Genießen Sie Ihr ganz eigenes VPN! :sparkles::tada::rocket::sparkles:
## Wichtige Hinweise
**Windows-Benutzer**: Für den IPsec/L2TP-Modus ist eine [einmalige Registrierungsänderung](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients.md#windows-error-809) erforderlich, wenn sich der VPN-Server oder -Client hinter NAT befindet (z. B. Heimrouter).
Dasselbe VPN-Konto kann von mehreren Geräten verwendet werden. Aufgrund einer IPsec/L2TP-Einschränkung müssen Sie jedoch den [IKEv2](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/ikev2-howto.md)- oder [IPsec/XAuth](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/clients-xauth.md)-Modus verwenden, wenn Sie mehrere Geräte hinter demselben NAT (z. B. Heimrouter) verbinden möchten. Um VPN-Benutzerkonten anzuzeigen oder zu aktualisieren, siehe [VPN-Benutzer verwalten](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md).
Bei Servern mit einer externen Firewall (z. B. [EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)/[GCE](https://cloud.google.com/vpc/docs/firewalls)) öffnen Sie die UDP-Ports 500 und 4500 für das VPN. Aliyun-Benutzer siehe [#433](https://github.com/hwdsl2/setup-ipsec-vpn/issues/433).
Clients sind so eingestellt, dass sie [Google Public DNS](https://developers.google.com/speed/public-dns/) verwenden, wenn das VPN aktiv ist. Wenn ein anderer DNS-Anbieter bevorzugt wird, siehe [Erweiterte Nutzung](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md).
Die Verwendung von Kernel-Unterstützung könnte die IPsec/L2TP-Leistung verbessern. Sie ist auf [allen unterstützten Betriebssystemen](#requirements) verfügbar. Ubuntu-Benutzer sollten das Paket `linux-modules-extra-$(uname -r)` installieren und `service xl2tpd restart` ausführen.
Die Skripte sichern vorhandene Konfigurationsdateien vor Änderungen mit dem Suffix `.old-date-time`.
## Libreswan aktualisieren
Verwenden Sie diesen Einzeiler, um [Libreswan](https://libreswan.org) ([Changelog](https://github.com/libreswan/libreswan/blob/main/CHANGES) | [Ankündigung](https://lists.libreswan.org)) auf Ihrem VPN-Server zu aktualisieren.
```bash
wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh
```
<details>
<summary>
Klicken Sie hier, falls der Download nicht möglich ist.
</summary>
Sie können auch `curl` zum Herunterladen verwenden:
```bash
curl -fsSL https://get.vpnsetup.net/upg -o vpnup.sh && sudo sh vpnup.sh
```
Alternative Update-URLs:
```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnupgrade.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnupgrade.sh
```
Wenn Sie nicht herunterladen können, öffnen Sie [vpnupgrade.sh](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/extras/vpnupgrade.sh) und klicken Sie dann auf die Schaltfläche `Raw` auf der rechten Seite. Drücken Sie `Ctrl/Cmd+A`, um alles auszuwählen, `Ctrl/Cmd+C`, um zu kopieren, und fügen Sie es dann in Ihren bevorzugten Editor ein.
</details>
Die neueste unterstützte Libreswan-Version ist `5.4.1`. Installierte Version prüfen: `ipsec --version`.
**Hinweis:** `xl2tpd` kann mit dem Paketmanager Ihres Systems aktualisiert werden, z. B. mit `apt-get` unter Ubuntu/Debian.
## VPN-Benutzer verwalten
Siehe [VPN-Benutzer verwalten](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md).
- [VPN-Benutzer mit Hilfsskripten verwalten](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#manage-vpn-users-using-helper-scripts)
- [VPN-Benutzer anzeigen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#view-vpn-users)
- [IPsec-PSK anzeigen oder aktualisieren](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#view-or-update-the-ipsec-psk)
- [VPN-Benutzer manuell verwalten](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/manage-users.md#manually-manage-vpn-users)
## Erweiterte Nutzung
Siehe [Erweiterte Nutzung](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md).
- [Alternative DNS-Server verwenden](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#use-alternative-dns-servers)
- [Änderungen von DNS-Name und Server-IP](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#dns-name-and-server-ip-changes)
- [Nur-IKEv2-VPN](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#ikev2-only-vpn)
- [IKEv2 Perfect Forward Secrecy aktivieren](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#enable-ikev2-perfect-forward-secrecy)
- [Interne VPN-IPs und Datenverkehr](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#internal-vpn-ips-and-traffic)
- [Öffentliche IP des VPN-Servers angeben](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#specify-vpn-servers-public-ip)
- [VPN-Subnetze anpassen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#customize-vpn-subnets)
- [IPv6-Unterstützung](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#ipv6-support)
- [Portweiterleitung an VPN-Clients](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#port-forwarding-to-vpn-clients)
- [Split-Tunneling](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#split-tunneling)
- [Auf das Subnetz des VPN-Servers zugreifen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#access-vpn-servers-subnet)
- [Von dem Subnetz des Servers auf VPN-Clients zugreifen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#access-vpn-clients-from-servers-subnet)
- [IPTables-Regeln ändern](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#modify-iptables-rules)
- [Google BBR-Überlastungskontrolle bereitstellen](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/advanced-usage.md#deploy-google-bbr-congestion-control)
## VPN deinstallieren
Um das IPsec-VPN zu deinstallieren, führen Sie das [Hilfsskript](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/extras/vpnuninstall.sh) aus:
> [!CAUTION]
> Dieses Hilfsskript entfernt das IPsec-VPN von Ihrem Server. Die gesamte VPN-Konfiguration wird **dauerhaft gelöscht** und Libreswan sowie xl2tpd werden entfernt. Dies **kann nicht rückgängig gemacht werden**!
```bash
wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh
```
<details>
<summary>
Klicken Sie hier, falls der Download nicht möglich ist.
</summary>
Sie können auch `curl` zum Herunterladen verwenden:
```bash
curl -fsSL https://get.vpnsetup.net/unst -o unst.sh && sudo bash unst.sh
```
Alternative Skript-URLs:
```bash
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnuninstall.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnuninstall.sh
```
</details>
Weitere Informationen finden Sie unter [VPN deinstallieren](https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/blob/master/docs/uninstall.md).
## Feedback & Fragen
- Haben Sie einen Vorschlag für dieses Projekt? Öffnen Sie eine [Erweiterungsanfrage](https://github.com/hwdsl2/setup-ipsec-vpn/issues/new/choose). [Pull Requests](https://github.com/hwdsl2/setup-ipsec-vpn/pulls) sind ebenfalls willkommen.
- Wenn Sie einen reproduzierbaren Fehler gefunden haben, öffnen Sie einen Fehlerbericht für das [IPsec VPN](https://github.com/libreswan/libreswan/issues?q=is%3Aissue) oder für die [VPN-Skripte](https://github.com/hwdsl2/setup-ipsec-vpn/issues/new/choose).
- Haben Sie eine Frage? Bitte durchsuchen Sie zunächst [bestehende Issues](https://github.com/hwdsl2/setup-ipsec-vpn/issues?q=is%3Aissue) und Kommentare [in diesem Gist](https://gist.github.com/hwdsl2/9030462#comments) und [in meinem Blog](https://blog.ls20.com/ipsec-l2tp-vpn-auto-setup-for-ubuntu-12-04-on-amazon-ec2/#disqus_thread).
- Stellen Sie VPN-bezogene Fragen auf der Mailingliste von [Libreswan](https://lists.libreswan.org) oder [strongSwan](https://lists.strongswan.org), oder lesen Sie diese Wikis: [[1]](https://libreswan.org/wiki/Main_Page) [[2]](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-securing_virtual_private_networks) [[3]](https://wiki.strongswan.org/projects/strongswan/wiki/UserDocumentation) [[4]](https://wiki.gentoo.org/wiki/IPsec_L2TP_VPN_server) [[5]](https://wiki.archlinux.org/index.php/Openswan_L2TP/IPsec_VPN_client_setup).
## Lizenz
Copyright (C) 2014-2026 [Lin Song](https://github.com/hwdsl2) [](https://www.linkedin.com/in/linsongui)
Basierend auf [der Arbeit von Thomas Sarlandie](https://github.com/sarfata/voodooprivacy) (Copyright 2012)
[](http://creativecommons.org/licenses/by-sa/3.0/)
Dieses Werk ist unter der [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/) lizenziert
Namensnennung erforderlich: Bitte nehmen Sie meinen Namen in jegliche Bearbeitung auf und lassen Sie mich wissen, wie Sie es verbessert haben!