Diese Anleitung beschreibt, wie du ein Site-to-Site VPN zwischen einem Ubiquiti UniFi Router und einem Linux Server bzw. Linux VPS einrichtest.
Beide Netzwerke werden dabei dauerhaft und sicher über IPsec (IKEv2) miteinander verbunden.
Das Ergebnis:
Dein lokales Netzwerk kann auf Server und Dienste im Rechenzentrum zugreifen – und umgekehrt – ohne öffentliche Freigaben oder Portweiterleitungen.
Voraussetzungen
Für dieses Setup benötigst du:
- Einen UniFi Router / Gateway mit Site-to-Site-VPN-Unterstützung
(z. B. UniFi Cloud Gateway, UDM, USG) - Einen Linux Server oder VPS
(Debian oder Ubuntu empfohlen) - Öffentliche IPv4-Adresse auf beiden Seiten
- UniFi-Standort (z. B. Zuhause oder Büro)
- Linux Server
- Zugriff auf den UniFi Controller
Beispielhafte Netzwerkstruktur
| Bereich | Beispiel |
|---|---|
| Lokales Netzwerk | 192.168.1.0/24 |
| Server-Netzwerk | 10.0.0.0/8 |
| VPN-Typ | Route-basiertes IPsec |
⚠️ Wichtig
Falls dein lokales Netzwerk ebenfalls10.0.0.0/8nutzt, musst du einen anderen IP-Bereich verwenden, da sich die Netze sonst überschneiden.
UniFi Router konfigurieren
1. Neues Site-to-Site VPN anlegen
- Im UniFi Controller anmelden
- Einstellungen → VPN → Site-to-Site VPN
- Neues VPN erstellen
- VPN-Typ: IPsec
- Modus: Route Based
- Name vergeben (z. B.
Linux-VPS-VPN)
2. Basiseinstellungen
- Server Address:
Öffentliche IP deines UniFi Routers (wird meist automatisch erkannt) - Remote IP:
Öffentliche IP des Linux Servers - Remote Networks:
10.0.0.0/8(oder dein Server-Netz) - Pre-Shared Key:
Starken Schlüssel erzeugen und notieren

3. Erweiterte Einstellungen
Empfohlene manuelle Einstellungen:
- IKE Version: IKEv2
- Verschlüsselung: AES-256
- Hash: SHA-512
- DH Group: 14 (MODP2048)
- Perfect Forward Secrecy: aktiviert
- Lifetime: Standardwerte
Diese Parameter sind stabil und kompatibel mit StrongSwan.

Linux Server vorbereiten
Verwendete Platzhalter
| Platzhalter | Bedeutung |
|---|---|
$HOME_PUBLIC_IP | Öffentliche IP des UniFi Routers |
$HOME_NET | Lokales Netzwerk (z. B. 192.168.1.0/24) |
$SERVER_PUBLIC_IP | Öffentliche IP des Linux Servers |
$SERVER_NET | Netzwerk(e), die über das VPN erreichbar sein sollen |
StrongSwan installieren
sudo apt update
sudo apt install strongswan
IPsec konfigurieren
/etc/ipsec.conf
sudo nano /etc/ipsec.conf
config setup
charondebug="ike 2, knl 2, cfg 2, net 2, esp 2"
conn unifi-linux
auto=start
type=tunnel
keyexchange=ikev2
authby=secret
left=$SERVER_PUBLIC_IP
leftid=$SERVER_PUBLIC_IP
leftsubnet=10.0.0.0/8
right=$HOME_PUBLIC_IP
rightid=$HOME_PUBLIC_IP
rightsubnet=$HOME_NET
ike=aes256-sha512-modp2048
esp=aes256-sha512-modp2048
pfs=yes
ikelifetime=28800s
lifetime=3600s
dpddelay=30s
dpdtimeout=120s
dpdaction=restart
Pre-Shared Key hinterlegen
/etc/ipsec.secrets
sudo nano /etc/ipsec.secrets
$SERVER_PUBLIC_IP $HOME_PUBLIC_IP : PSK "DEIN_PRE_SHARED_KEY"
IP-Forwarding aktivieren
sudo nano /etc/sysctl.conf
Folgende Einträge aktivieren oder ergänzen:
net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.send_redirects=0
Änderungen übernehmen:
sudo sysctl -p
Firewall konfigurieren
IPsec-Verkehr erlauben
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -A INPUT -p esp -j ACCEPT
Regeln persistent speichern
sudo apt install iptables-persistent
sudo netfilter-persistent save
NAT & Routing einrichten
sudo iptables -t nat -A POSTROUTING -s $HOME_NET -o eth1 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
ℹ️ Hinweis
eth1ist hier das interne oder private Interface des Servers.
Prüfe mitip a, falls dein Setup abweicht.
VPN starten und aktivieren
sudo systemctl restart ipsec
sudo systemctl enable ipsec
Verbindung testen
VPN-Status prüfen
sudo ipsec status
Erfolgreiche Verbindung:
ESTABLISHED, TUNNEL
Auch im UniFi Controller sollte der Tunnel als verbunden angezeigt werden.
Netzwerktests
Vom Linux Server ins Heimnetz:
ping 192.168.1.10
Vom Heimnetz zum Server-Netz:
ping 10.x.x.x
Fehlerbehebung
IPsec-Logs anzeigen
sudo tail -f /var/log/syslog | grep charon
VPN-Traffic prüfen
sudo tcpdump -i eth0 esp
VPN neu starten
sudo systemctl restart ipsec
Fazit
Mit dieser Konfiguration hast du eine zuverlässige Site-to-Site VPN-Verbindung zwischen deinem UniFi-Netzwerk und einem Linux Server/VPS aufgebaut.
Ideal für:
- Self-Hosting
- interne Admin-Zugänge
- private Dienste ohne öffentliche IPs
- Hybrid-Cloud-Setups





