1 Beide Freebox-Verwaltungsinterfaces über eine Domain erreichbar machen (Dual-WAN / Free France)
1.1 Voraussetzungen
- UDM-SE (oder UDM Pro) mit zwei WAN-Anschlüssen bei Free France
- Nginx Proxy Manager (NPM) im internen Netz
- SSH-Zugang zur UDM-SE
- Eigene Domain mit Zugang zum DNS-Panel
1.2 Hintergrund
Beide Freebox-Verwaltungsoberflächen sind nur über https://mafreebox.freebox.fr erreichbar, welches auf 212.27.38.253 zeigt. Free France unterscheidet die beiden Boxen anhand der Source-IP der eingehenden Verbindung – nicht anhand der URL. NPM alleine kann keine Source-IP erzwingen, daher werden zwei socat-Relays auf der UDM-SE genutzt, die jeweils mit der richtigen WAN-IP als Quelle verbinden.
1.3 Schritt 1: UDM-SE – socat-Relays & Routing (SSH)
Per SSH auf die UDM-SE verbinden und folgenden Block an das Ende von /data/on_boot.d/10-ipv4-setup.sh (oder eine neue Datei in /data/on_boot.d/) anhängen:
# Policy Routing: Freebox-Server über jeweilige WAN-Tabelle erreichbar machen
ip route add 212.27.38.253/32 via <WAN1-Gateway> dev eth9 table 201 2>/dev/null || true
ip route add 212.27.38.253/32 via <WAN2-Gateway> dev eth10 table 202 2>/dev/null || true
# socat-Relay WAN1 → Freebox 1 (Source-IP = WAN1-IP)
socat TCP-LISTEN:44443,fork,reuseaddr,bind=192.168.1.2 \
TCP:212.27.38.253:443,bind=<WAN1-IP> &
# socat-Relay WAN2 → Freebox 2 (Source-IP = WAN2-IP)
socat TCP-LISTEN:44444,fork,reuseaddr,bind=192.168.1.2 \
TCP:212.27.38.253:443,bind=<WAN2-IP> &
Display More
Platzhalter ersetzen:
- <WAN1-IP> – öffentliche IP von WAN1 (z.B. 203.0.113.1)
- <WAN2-IP> – öffentliche IP von WAN2 (z.B. 198.51.100.1)
- <WAN1-Gateway> – Gateway WAN1 (z.B. 203.0.113.254)
- <WAN2-Gateway> – Gateway WAN2 (z.B. 198.51.100.254)
- eth9 / eth10 – WAN-Interfaces der UDM-SE (ggf. anpassen)
- 192.168.1.2 – LAN-IP der UDM-SE
Script ausführbar machen und sofort starten:
Prüfen ob beide Relays laufen:
Verifizieren dass beide Relays unterschiedliche Freeboxes erreichen:
curl -sk https://192.168.1.2:44443/api_version | python3 -c "import sys,json; d=json.load(sys.stdin); print('Freebox1 UID:', d['uid'])"
curl -sk https://192.168.1.2:44444/api_version | python3 -c "import sys,json; d=json.load(sys.stdin); print('Freebox2 UID:', d['uid'])"
Die UIDs müssen verschieden sein.
1.4 Schritt 2: Nginx Proxy Manager – Zwei Proxy Hosts anlegen
Im NPM-Interface (http://<NPM-IP>:81) unter Proxy Hosts → Add Proxy Host:
Eintrag 1 – Freebox WAN1:
- Domain Names: mafreebox1.deine-domain.de
- Scheme: https
- Forward Hostname/IP: 192.168.1.2
- Forward Port: 44443
- SSL: Let's Encrypt aktivieren
- Advanced:
proxy_ssl_verify off;
proxy_ssl_server_name on;
proxy_ssl_name mafreebox.freebox.fr;
proxy_set_header Host "mafreebox.freebox.fr";
Eintrag 2 – Freebox WAN2:
- Domain Names: mafreebox2.deine-domain.de
- Scheme: https
- Forward Hostname/IP: 192.168.1.2
- Forward Port: 44444
- SSL: Let's Encrypt aktivieren
- Advanced: (identisch wie Eintrag 1)
1.5 Schritt 3: UniFi UI – Port Forwarding
Settings → Routing → Port Forwarding → Create Entry
(nur nötig falls HTTP/HTTPS noch nicht zu NPM weitergeleitet werden)
| Name | Port | Forward IP | Forward Port |
|---|---|---|---|
| NPM HTTP | 80 | 192.168.1.100 | 80 |
| NPM HTTPS | 443 | 192.168.1.100 | 443 |
1.6 Schritt 4: DNS-Einträge
Beim Domain-Registrar zwei A-Records auf die WAN2-IP setzen (die IP, hinter der NPM per Port-Forwarding erreichbar ist):
| Name | Typ | Wert |
|---|---|---|
| mafreebox1.deine-domain.de | A | <WAN2-IP> |
| mafreebox2.deine-domain.de | A | <WAN2-IP> |
1.7 Ergebnis
https://mafreebox1.deine-domain.de → Freebox WAN1
https://mafreebox2.deine-domain.de → Freebox WAN2
Die Konfiguration ist reboot-persistent durch den Boot-Script auf der UDM-SE.