unifi

Site-to-Site VPN: UniFi Router mit Linux Server (VPS) verbinden

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

BereichBeispiel
Lokales Netzwerk192.168.1.0/24
Server-Netzwerk10.0.0.0/8
VPN-TypRoute-basiertes IPsec

⚠️ Wichtig
Falls dein lokales Netzwerk ebenfalls 10.0.0.0/8 nutzt, musst du einen anderen IP-Bereich verwenden, da sich die Netze sonst überschneiden.


UniFi Router konfigurieren

1. Neues Site-to-Site VPN anlegen

  1. Im UniFi Controller anmelden
  2. Einstellungen → VPN → Site-to-Site VPN
  3. Neues VPN erstellen
  4. VPN-Typ: IPsec
  5. Modus: Route Based
  6. 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

PlatzhalterBedeutung
$HOME_PUBLIC_IPÖffentliche IP des UniFi Routers
$HOME_NETLokales Netzwerk (z. B. 192.168.1.0/24)
$SERVER_PUBLIC_IPÖffentliche IP des Linux Servers
$SERVER_NETNetzwerk(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
eth1 ist hier das interne oder private Interface des Servers.
Prüfe mit ip 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen