SoftEther VPN ist eine vielseitige Open-Source-VPN-Lösung, die verschiedene Protokolle unterstützt und auf mehreren Plattformen läuft, darunter Linux, Windows und macOS. In diesem Artikel zeige ich dir, wie du einen SoftEther VPN Server auf einem Ubuntu 24.04 System einrichtest.
Diese Anleitung führt dich Schritt für Schritt durch den Prozess.
Grundvoraussetzungen
Bevor du mit der Installation beginnst, stelle sicher, dass folgende Voraussetzungen erfüllt sind:
- Ein Ubuntu 24.04 Server mit Root-Zugriff oder einem Benutzer mit sudo-Rechten
- Mindestens 1 GB RAM und 10 GB freier Festplattenspeicher
- Eine stabile Internetverbindung
- Grundlegende Kenntnisse in der Linux-Kommandozeile
System aktualisieren
Beginne damit, dein Ubuntu-System auf den neuesten Stand zu bringen:
sudo apt update
sudo apt upgrade -y
Abhängigkeiten installieren
SoftEther VPN benötigt einige Entwicklungswerkzeuge und Bibliotheken. Installiere diese mit folgendem Befehl:
sudo apt install build-essential libssl-dev libncurses5-dev libreadline-dev zlib1g-dev -y
SoftEther VPN herunterladen
Lade die neueste Version von SoftEther VPN herunter. Besuche dazu die offizielle Download-Seite und kopiere den Link für die Linux x64-Version. Führe dann folgende Befehle aus:
cd /tmp
wget https://www.softether-download.com/files/softether/v4.42-9798-rtm-2024.03.15-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.42-9798-rtm-2024.03.15-linux-x64-64bit.tar.gz
Hinweis: Überprüfe den Link auf der offiziellen Webseite, da er sich möglicherweise geändert hat.
SoftEther VPN entpacken und installieren
tar xzvf softether-vpnserver-v4.42-9798-rtm-2024.03.15-linux-x64-64bit.tar.gz
cd vpnserver
Kompiliere nun den SoftEther VPN-Server:
make
Dieser Vorgang kann einige Minuten dauern. Bestätige die Lizenzvereinbarung, indem du dreimal ‚1‘ eingibst.
SoftEther VPN-Server installieren
Verschiebe die kompilierten Dateien in das /usr/local
-Verzeichnis:
sudo mv vpnserver /usr/local
cd /usr/local/vpnserver/
sudo chmod 600 *
sudo chmod 700 vpnserver vpncmd
Systemd-Service erstellen
Erstelle eine Systemd-Service-Datei für SoftEther VPN:
sudo nano /etc/systemd/system/softether-vpnserver.service
Füge folgenden Inhalt in die Datei ein:
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
Speichere die Datei und beende den Editor (STRG+X
, dann Y
und Enter
).
SoftEther VPN-Server starten
sudo systemctl enable softether-vpnserver
sudo systemctl start softether-vpnserver
Überprüfe den Status des Dienstes:
sudo systemctl status softether-vpnserver
Firewall konfigurieren
Wenn du UFW als Firewall verwendest, öffne die erforderlichen Ports:
sudo ufw allow 443/tcp
sudo ufw allow 992/tcp
sudo ufw allow 1194/udp
sudo ufw allow 5555/tcp
Für eine fortgeschrittene Firewall-Konfiguration mit iptables, führe folgende Befehle aus:
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5555 -j ACCEPT
sudo iptables -A FORWARD -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
SoftEther VPN-Server konfigurieren
Starte das Konfigurationsprogramm:
sudo /usr/local/vpnserver/vpncmd
Wähle Option 1
, um den VPN-Server zu verwalten, und drücke Enter, um eine Verbindung zum lokalen Server herzustellen.
Setze ein Administratorpasswort:
ServerPasswordSet
Erstelle einen virtuellen Hub:
HubCreate myhub
Aktiviere SecureNAT für den Hub:
Hub myhub
SecureNatEnable
Erstelle einen Benutzer:
UserCreate myuser
Setze ein Passwort für den Benutzer:
UserPasswordSet myuser
L2TP/IPsec-Server konfigurieren (optional)
Wenn du L2TP/IPsec verwenden möchtest, aktiviere es mit folgenden Befehlen:
IPsecEnable
Setze ein vorgeteiltes Schlüsselwort (Pre-Shared Key):
IPsecSet
SSL-Zertifikate einrichten
Installiere Certbot für Let’s Encrypt-Zertifikate:
sudo apt install certbot -y
Beantrage ein Zertifikat für deine Domain:
sudo certbot certonly --standalone -d dein.domain.com
Kopiere die Zertifikate in das SoftEther VPN-Verzeichnis:
sudo cp /etc/letsencrypt/live/dein.domain.com/fullchain.pem /usr/local/vpnserver/
sudo cp /etc/letsencrypt/live/dein.domain.com/privkey.pem /usr/local/vpnserver/
Konfiguriere SoftEther VPN, um die Zertifikate zu verwenden:
sudo /usr/local/vpnserver/vpncmd
ServerCertSet /C=/usr/local/vpnserver/fullchain.pem /K=/usr/local/vpnserver/privkey.pem
Performance-Optimierung
Passe die Kernel-Parameter an, um die VPN-Performance zu verbessern:
sudo nano /etc/sysctl.conf
Füge folgende Zeilen hinzu:
net.ipv4.ip_forward = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
Lade die Änderungen:
sudo sysctl -p
Server-Überwachung einrichten
Installiere Prometheus und Node Exporter:
sudo apt install prometheus node-exporter -y
Konfiguriere Prometheus, um den Node Exporter zu überwachen:
sudo nano /etc/prometheus/prometheus.yml
Füge folgende Konfiguration hinzu:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Starte Prometheus neu:
sudo systemctl restart prometheus
Backup und Wiederherstellung
Erstelle ein Backup-Skript:
sudo nano /usr/local/bin/vpn-backup.sh
Füge folgenden Inhalt hinzu:
#!/bin/bash
BACKUP_DIR="/root/vpn-backups"
DATE=$(date +%Y-%m-%d)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/vpnserver-$DATE.tar.gz /usr/local/vpnserver
Mache das Skript ausführbar:
sudo chmod +x /usr/local/bin/vpn-backup.sh
Füge einen Cron-Job für tägliche Backups hinzu:
sudo crontab -e
Füge folgende Zeile hinzu:
0 2 * * * /usr/local/bin/vpn-backup.sh
Multi-Faktor-Authentifizierung einrichten
Installiere das Google Authenticator PAM-Modul:
sudo apt install libpam-google-authenticator -y
Konfiguriere PAM für SSH:
sudo nano /etc/pam.d/sshd
Füge folgende Zeile hinzu:
auth required pam_google_authenticator.so
Aktiviere die Herausforderungs-Antwort-Authentifizierung in der SSH-Konfiguration:
sudo nano /etc/ssh/sshd_config
Ändere oder füge folgende Zeile hinzu:
ChallengeResponseAuthentication yes
Starte den SSH-Dienst neu:
sudo systemctl restart sshd
Client-Konfiguration
Windows-Client:
- Lade den SoftEther VPN Client für Windows herunter.
- Installiere den Client und starte ihn.
- Klicke auf „Add VPN Connection“.
- Gib die Serveradresse, den Benutzernamen und das Passwort ein.
- Klicke auf „Connect“.
macOS-Client:
- Lade den SoftEther VPN Client für macOS herunter.
- Installiere den Client und starte ihn.
- Klicke auf „Add VPN Connection“.
- Gib die Serveradresse, den Benutzernamen und das Passwort ein.
- Klicke auf „Connect“.
Linux-Client:
Lade den SoftEther VPN Client für Linux herunter.
Entpacke das Archiv und kompiliere den Client:
tar xzvf softether-vpnclient-v4.xx-xxxx-rtm-linux-x64-64bit.tar.gz
cd vpnclient
make
Starte den Client:
./vpnclient start
Konfiguriere die Verbindung:
./vpncmd
Wähle „2“ für neue VPN-Verbindung und folge den Anweisungen.
iOS-Client:
- Öffne die „Einstellungen“ App auf deinem iOS-Gerät.
- Tippe auf „Allgemein“ und dann auf „VPN & Geräteverwaltung“.
- Tippe auf „VPN“ und dann auf „VPN hinzufügen“.
- Wähle „L2TP“ als VPN-Typ aus.
- Gib folgende Informationen ein:
- Beschreibung: Ein Name für deine VPN-Verbindung
- Server: Die IP-Adresse oder der Hostname deines SoftEther VPN-Servers
- Konto: Dein VPN-Benutzername
- RSA SecurID: Lasse dies aus
- Passwort: Dein VPN-Passwort
- Geheimer Schlüssel: Der IPsec Pre-Shared Key, den du auf dem Server konfiguriert hast
- Tippe auf „Fertig“, um die Konfiguration zu speichern.
- Aktiviere den VPN-Schalter in den Einstellungen oder im Kontrollzentrum, um eine Verbindung herzustellen.
Android-Client:
- Öffne die „Einstellungen“ App auf deinem Android-Gerät.
- Tippe auf „Netzwerk & Internet“ und dann auf „VPN“.
- Tippe auf das „+“-Symbol, um ein neues VPN-Profil hinzuzufügen.
- Gib folgende Informationen ein:
- Name: Ein Name für deine VPN-Verbindung
- Typ: Wähle „L2TP/IPSec PSK“
- Serveradresse: Die IP-Adresse oder der Hostname deines SoftEther VPN-Servers
- L2TP-Geheimnis und IPSec-Kennung: Lasse diese Felder leer
- IPSec-Schlüssel vorab: Gib den IPsec Pre-Shared Key ein, den du auf dem Server konfiguriert hast
- Tippe auf „Speichern“, um das Profil zu erstellen.
- Tippe auf das neu erstellte VPN-Profil.
- Gib deinen VPN-Benutzernamen und dein Passwort ein.
- Tippe auf „Verbinden“, um die VPN-Verbindung herzustellen.
Beachte, dass die genauen Schritte je nach Android-Version und Hersteller leicht variieren können.
Abschluss
Du hast nun erfolgreich einen umfassend konfigurierten SoftEther VPN-Server auf Ubuntu 24.04 eingerichtet. Der Server ist jetzt bereit, sichere VPN-Verbindungen von verschiedenen Clients anzunehmen, bietet erweiterte Sicherheitsfunktionen und ist für die Leistung optimiert.
Denke daran, regelmäßig Updates für dein System und den SoftEther VPN-Server durchzuführen, um die Sicherheit zu gewährleisten. Überwache die Leistung und die Logs des Servers mit den eingerichteten Monitoring-Tools, um potenzielle Probleme frühzeitig zu erkennen und zu beheben.
Die implementierte Backup-Strategie gewährleistet eine schnelle Wiederherstellung im Notfall, während die vorgenommenen Performance-Optimierungen eine reibungslose Nutzererfahrung sicherstellen.