Wireguard - VPS - UDM Pro

Hallo Zusammen,

Wir sind von Vodafone DSL (25) zu Starlink gewechselt.
Mit der Bandbreite sind wir sehr zufrieden jedoch haben wir jetzt natürlich CGNAT bekommen.

Was natürlich mit einigen Selbstgehosteten Dienste nun Probleme bereitet (Minecraft Server, Home Assistant, Rustdesk Server).

Habe bei meiner Recherche das Video von Dennis gefunden und auch soweit umgesetzt.
Ziel ist es das der Traffic der zukünftig an der festen IPv4 vom VPS Aufläuft, auf die UDM Pro geroutet werden soll.
Und diese wäre ja schon „konfiguriert“ mit den entsprechenden Portfreigaben.

IPv4 VPS → Wireguard → UDM Pro →

  • 192.168.10.15 (Minecraft Server 25565)
  • 192.168.10.7 (Docker Server 80/443)
  • 192.168.10.12 (Video Server 8844)

Ginge das Konstrukt überhaupt so wie ich es mir Vorstelle?
Als „Ausgangslage“ habe ich folgende Anleitung befolgt:

configedit

wg0.conf:
[Interface]
Address = 10.66.66.1/24
ListenPort = 65188
PrivateKey = gHQbFspKhRZfaS/OVVywISK3KAD17hptU8kxosnGcGw=
PostUp = /etc/wireguard/add-fullcone-nat.sh
PostDown = /etc/wireguard/rm-fullcone-nat.sh
SaveConfig = false
# WG_CLIENT wg0client
[Peer] # WG_CLIENT wg0client
PublicKey = e/HXpPlv+aiAwB1bULVnO09EkKnKJSGmEeqKNpnlGVM= # WG_CLIENT wg0client
PresharedKey = e6IweYgvGVhEi2bjVXy+ZIjRXlxDGPKVD3+I3pxnas0= # WG_CLIENT wg0client
AllowedIPs = 10.66.66.2/32,192.168.10.7/32 # WG_CLIENT wg0client
add-fullcone-nat.sh:
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
    chain INPUT {
        type filter hook input priority filter; policy accept;
        # You can change default policy to drop and add your own rules for INPUT
        # For example:
        # - tcp dport {ssh,http} accept # Allow SSH HTTP etc.
        # - udp dport <wg_udp_port> accept # Allow WG public port
        # - ct state vmap { invalid : drop, established : accept, related : accept } # Allow ESTABLISHED, RELATED state
        # - iifname "lo" accept # Allow packets sent from lo
        #
        # You need to make sure these rules are added before running the install script.
    }

    chain FORWARD {
        type filter hook forward priority filter; policy drop;
        iifname "eth0" oifname "wg0" accept
        iifname "wg0" oifname "eth0" accept
    }
}

table ip nat {
    chain POSTROUTING {
        type nat hook postrouting priority srcnat; policy accept;
        oifname "eth0" counter masquerade comment "WireGuardGamingInstaller"
    }

    chain PREROUTING {
        type nat hook prerouting priority dstnat; policy accept;
        # WG_Installer_IP_Rule_Starts (Do not remove)
        iifname "eth0" tcp dport {80,443,25565,7777-7780,27015-27018,21115-21119,37037} dnat ip to 10.66.66.2 comment "WireGuardGamingInstaller_Client_wg0client"
        iifname "eth0" udp dport {80,443,25565,7777-7780,27015-27018,21115-21119,37037} dnat ip to 10.66.66.2 comment "WireGuardGamingInstaller_Client_wg0client"
    }
}
wg0-client-wg0client.conf:
[Interface]
PrivateKey = Privkey
Address = 10.66.66.2/32
DNS = 1.1.1.1,1.0.0.1

[Peer]
PublicKey = PubKey
PresharedKey = PreSharedKey
Endpoint = x.x.x.x:65188
AllowedIPs = 0.0.0.0/0

Gruß
Martin

Die in der wg0.conf genannten Key’s sind jetzt hoffentlich nicht deine?
Wäre nicht so optimal :wink:

Moin, ne das geht so nicht. Da du ja dann auf die WAN-IP der UDM Pro Routen / forwarden müsstest.

Du musst auf die einzelnen LAN-IPs forwarden

Also diese nftables-Regeln sind auch nicht die schönsten für den Zweck.

Alleine schon den Host an sich komplett offen zu lassen😬

@The_eagle: Sind zu Testzwecken :wink: Habe vor das eh alles neu zu bauen, damit ich es auch verstehe.

Dann bau es aber bitte nicht so wie dieses Script oder Anleitung was du da benutzt hast…
Das ist etwas doof gemacht…