I’ve made wireguard tu nel out to VPS (to circumvent CGNAT). Dns server works, web server + Gitea, Jellyfin,… works. All the stuff running on my thin Ubuntu client. What doesn’t work is forwarding the RDP port to my windows machine. No firewall on the windows machine. Used to work before CGNAT got enabled by my ISP. I’ve tried also UDP port, but still no connection.

Here is my wg0 conf:

[Interface] PrivateKey = … Address = 10.1.0.2/24

PostUp = iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.21:3389; iptables -t nat -A POSTROUTING -p tcp --dport 3389 -j MASQUERADE

PostDown = iptables -t nat -D PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.21:3389; iptables -t nat -D POSTROUTING -p tcp --dport 3389 -j MASQUERADE

[Peer] PublicKey = … AllowedIPs = 0.0.0.0/0 Endpoint = …oraclevpsIP…:55108 PersistentKeepalive = 25

  • bookworm@feddit.de
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    I would advise that you instead also connect the Windows machine to the VPS with WireGuard as 10.1.0.3, basically mirroring what you’ve done on the Ubuntu server. The routing will be a mess otherwise. Another option is running the WireGuard tunnel on your gateway with something like OPNsense.

    • Oisteink@feddit.nl
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      This - why add another machine into the equation?

      Or set up an account at Tailscale or similar. They let you have like 10 machines in your network w/o payment

      Or route to your home network through the vpn interface on the VPS. So you can reference the windows ip, rather than NAT

      Your current setup is very complicated. I did not check your rules at all but maybe you are setting up forwarding on your servers lan interface rather than the WireGuard interface.

      Also you don’t say much about how the VPS setup is. Do you Nat the other working services? What IP/host do you forward to? Are you rdp’ing from the VPS or is that also some form of forwarder/revproxy?