Tóch public IP als WAN-failover (LTE Backup) actief is.

flyingpenguin

UniFier
6 feb 2020
53
23
8
Was al een tijd op zoek naar een oplossing om het handjevol aan diensten die draaien in mijn homelab onder Proxmox (achter de UDM-pro) bereikbaar te houden vanaf het internet bij een outage van de vaste internet aanbieder. Tot voor kort had ik zowel Odildo als Ziggo, maar da's een beetje overkill.

Heb dus ook de LTE Backup die eigenlijk niks stond te doen, tot dit weekend. Ik kwam deze post nl. tegen:

https://github.com/mochman/Bypass_CGNAT/wiki/Oracle-Cloud-(Automatic-Installer-Script)

Dit lost het probleem op dat je (bij een fail-over) geen publiek IP-adres hebt op de LTE-backup door de zgn. Carrier Grade Network Address Translation (CGNAT).
Het maakt nl. gebruik van een Virtual Private Server (VPS) in de cloud met een eigen ipv4 adres waar je je domein(en) in DNS naar toe laat wijzen. Vanuit een localhost (in mijn geval een aparte LXC machine onder Proxmox) maak je dan een wireguard tunnel aan naar de VPS, en met wat slimme routing regels (op de VPS en de localhost) ben je dan altijd onder hetzelfde publieke IP-adres (van de VPS) bereikbaar.

Dit draait nu feilloos, maar gezien de wireguard mogelijkheden op de UDM-Pro, niet een erg elegante oplossing, waarmee je ook een hoop van de analytische kracht van de unifi dashboards misloopt.

Het zou dus mooier zijn als de wireguard tunnel vanuit GUI in Unifi Network loopt en de locale routering via de Policy Engine. Dat loopt nu dus via de LXC onder Proxmox.

Dat eerste krijg ik via GUI wel (wireguard tunnel) en dat laatste (locale routering) echter niet voor elkaar.

Wat ik probeer te bereiken is dus eigenlijk deze wg.conf te repliceren onder unifi:

[Interface]
PrivateKey = <privatekey van de localhost>
Address = 10.1.0.2/24

PostUp = iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.9:80; iptables -t nat -A POSTROUTING -p tcp --dport 80 ->
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.9:80; iptables -t nat -D POSTROUTING -p tcp --dport 80>

PostUp = iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.9:443; iptables -t nat -A POSTROUTING -p tcp --dport 44>
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.9:443; iptables -t nat -D POSTROUTING -p tcp --dport >

PostUp = iptables -t nat -A PREROUTING -p tcp --dport 1883 -j DNAT --to-destination 192.168.1.119:1883; iptables -t nat -A POSTROUTING -p tcp --dpor>
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 1883 -j DNAT --to-destination 192.168.1.119:1883; iptables -t nat -D POSTROUTING -p tcp --dp>

[Peer]
PublicKey = <publickey van de VPS server>
AllowedIPs = 0.0.0.0/0
Endpoint = vps.mijndomijn.nl:55108
PersistentKeepalive = 25

Heb geprobeerd de wg.conf via CLI op de UDM-Pro aan te passen en de PostUp en PostDown regels toe te voegen, maar blijkbaar gebruikt unifi een niet-standaard versie van wireguard waardoor deze regels worden genegeerd. :-(

Wie o wie kan me verder helpen?

Alvast dank, Joost
 
Heb CHATGPT om raad gevraagd, maar die is nog niet up-to-date met network v9.

Ben benieuwd of er hier op het forum èchte slimmerds zijn die dit kunnen tackelen..
 
Dank voor de suggestie. Hoe zou je dat dan aanpakken?
Met een simpel script kijk je in je eigen netwerk wat het externe IP adres is. Als die wijzigt omdat je andere internet provider actief wordt past die automatisch de DNS aan maar dat nieuwe IP adres. Dan heb je geen externe VPS nodig. Je kan gewoon rechtstreeks naar je eigen netwerk een VPN opzetten.
 
Met een simpel script kijk je in je eigen netwerk wat het externe IP adres is. Als die wijzigt omdat je andere internet provider actief wordt past die automatisch de DNS aan maar dat nieuwe IP adres. Dan heb je geen externe VPS nodig. Je kan gewoon rechtstreeks naar je eigen netwerk een VPN opzetten.
Dat werkt niet asl je achter CGNAT zit..
 

Vergelijkbare onderwerpen