UXG-Lite oder Fritzbox als Wireguard-Client an externen Wireguardserver anbinden

  • Hi zusammen!

    Ich habe da n Problem und ich hoffe es kann mir hier jemand weiterhelfen!

    Ich habe zu hause eine Fritzbox 7590 an einem Glasfasernetz. Die Fritzbox bezieht eine echte IPv4 Adresse. An der Fritzbox hängt eine UXG-Lite.

    Darauf betreibe ich 5 VLANs.


    Code
    Management 192.168.1.0/24
    Family 192.168.10.0/24
    Kidds 192.168.20.0/24
    Gast 192.168.50.0/24
    Smarthome 192.168.122.0/24

    Extern betreibe ich noch einen VPS-Server von IONOS.

    Darauf möchte ich jetzt einen Wireguard-Server betreiben und meine Fritzbox oder UXG als Client konfigurieren.

    Mit meinen Mobilgeräten (wireguard-Client) möchte ich bei Bedarf über den IONOS-Server auf Endgeräte in meinen VLANs zugreifen können. Siehe schematische Skizze.

    Sicher könnte ich jetzt einen VPN-Server auch in meinem Netzwerk laufen lassen, ich möchte den Server aber extern nutzen (falls mal mein Anbieter auf die CG-Nat Geschichte aufspringt).

    Für einen Arbeitskollegen habe ich so ein Konstrukt (externer Wireguard-Server und Fritzbox als Client) aufgezogen. Klappt auch wunderbar. Leider klappt das bei mir nicht. Komme nur bis zur Fritzbox. Nicht aber auf die UXG bzw. den VLANs.

    Wie konfiguriere ich am besten die Fritzbox oder die UXG als wireguardclient damit ich auf mein Netz komme?


    Hier mal meine Configs, wo eine Anbindung bis zur Fritzbox funktionieren


    VPS-Server → wg0.conf


    Config-File → Fritzbox

    Code
    [Interface]
    Address = 192.168.2.1/24 ← IP-Adresse Fritzbox
    DNS = 1.1.1.1
    [Peer]
    PublicKey = < Public-Key VPS-Server >
    Endpoint = <IPv4-Adresse VPS-Server>:52823
    AllowedIPs = 10.99.99.0/24
    PersistentKeepalive = 25


    Config-File → Client (iPhone)

    Code
    PublicKey = < Public-Key VPS-Server >
    Endpoint = <IPv4-Adresse VPS-Server>:52823
    AllowedIPs = 192.168.1.0/24,192.168.2.0/24,192.168.10.0/24,192.168.20.0/24,192.168.50.0/24,192.168.122.0/24
    PersistentKeepalive = 25


    Auch habe ich in der Fritzbox eine Portfreigabe zur UXG gemacht.

    Also Ziel 192.168.2.10 Port 52823 und UDP-Protokoll.

    Ich komme aber nur bis zur Fritzbox und nicht auf die USG.

    NAT auf der UXG ist noch aktiv.


    Kann mir da vielleicht jemand weiterhelfen wie ich entweder die Fritzbox oder die UXG so als Wireguard-Client konfiguriere das ich bei bedarf auf mein Netzwerk zugreifen kann?

    Wäre echt klasse


    Gruß

    Johnny

  • Also entweder Fritzbox oder Unifi ist schon mal keine gute Idee ... ist im Fritboxnetz irgendwas außer dem Unifi Gateway?!? Sinnvoll wären alle Netze hinter dem Unifi Gateway und somit wäre der Wireguard Client auf dem Unifi Gateway einzurichten und die Fritzbox für Wireguard zu ignorieren ...

    Die Portweiterleitung in der Fritzbox kan weg, da ein Wireguardclient vom Unifi Gateway eine Verbindung zum VPS aufbaut und nicht umgekehrt ... die Antwortpakete schickt der VPS automatisch an die IP und den Port von dem Client der der das Antwortpaket triggert (ausser Du hast da auf dem VPS beim entsprechenden Peer einen Endpoint konfiguriert - was nicht korrekt wäre).

    Richte also bitte im Unifi einen Wireguardclient zu deinem VPS ein.

    Dann musst Du auf dem VPS für alle deine Netzwerke hinter dem Unifi Gateway Routen anlegen, die auf die VPN Tunnel IP des Unifi Wireguard Clients zeigen.

    Im Unifi Gateway benötigst Du dann ein Policy based Routing, damit deine Geräte entsprechend den Wireguard Tunnel nutzen um mindestens auf dein Wireguard Tunnelnetz (und somit auf die Clients des VPS und auf den VPS) zuzugreifen.

    In der Unifi Firewall (zonenbasiert) musst Du natürlich noch Anpassungen vornehmen. Das Wireguard VPN Netz ist in der Zone External, deine Netzwerke sind zumindest per Default in der Zone Internal und das Gateway ist in der Zone Gateway. Du musst also erlauben, dass aus der Zone External (mit dem IP Bereich des Tunnelnetzes) als Source, alles an Traffic in die Zone Internal (Zugriff auf deine Netzwerke) und in die Zone Gateway (falls der Client auf dein Unifi Gateway direkt zugreifen soll z.B. Weboberfläche) darf. Das gleiche natürlich auch andersrum (sollte per Default erlaubt sein).

    Zusätzlich noch das NAT für den Wireguardclient deaktivieren.

  • Zuerst einmal vielen Dank für Deine Unterstützung!

    Über die UXG wäre mir eh am liebsten! Also Endpoint habe ich für mein Netz im peer nicht definiert!

    Wie meinst Du das mit routen anlegen für die Netzwerke hinter der UXG? Du meinst in der wg0.conf mit angeben?

    Also da wo die peer für die UXG ist? so in etwa?

    Code
    # UXG
    [Peer]
    PublicKey = < öffentlicher Schlüssel vom UXG-Wireguard-Client >
    AllowedIPs = 10.99.99.2/32,192.168.1.0/24,192.168.10.0/24,192.168.20.0/24,192.168.50.0/24,192.168.122.0/24,

    Und wie mache ich das mit der Policy based Routing?

  • Möglicherweise reicht es die IP Netze als allowed IPs einzutragen. Das kommt drauf an wie das da auf dem VPS läuft mit dem Wireguard. Einige Systeme legen dann beim Start des Tunnels automatisch auch entsprechende Routen in der RoutingTable an, andere machen das nicht und man muss das dann halt über das OS händisch machen (auch nicht so richtig einheitlich bei den Linuxen). Ich hab nen Ubuntu VPS (von hetzner mit entsprechender GUI direkt von einem Template installiert) da sind die remote Netze als allowed IPs in der .conf eingetragen und das wars, macht aber die GUI selbst.

    Settings - Routing - policy based routing. Neuen Eintrag anlegen. Bei Source kommen dann deine Geräte/Netz rein, die den Tunnel nutzen sollen (also die Du auch erreichen willst) Für die VPN Geschichte muss hier mindestens IP - Add IP Adress Range mit den Wireguard Tunnelnetz IPs (vermutlich 10.99.99.1 bis wohin auch immer die WG Clients so gehen bei Dir).

    Destination ist für welches Ziel der Traffic in den Tunnel soll. In meinem Beispiel alles ... Mein Main-LAN surft also auch über den VPS (Geht bei Dir wohl auch wenn ich die iptables sehe) ... Bei Interface/VPN Tunnel wählst Du den Wireguardtunnel zum VPS aus.

  • Hi DoPe, danke für Deine Unterstützung!

    Leider komme ich nicht weiter. Habe jetzt einen Hetzner Server mit Wireguard und Wireguard-Ui aufgesetzt. Jetzt ist die Frage was ich hier ggf noch anpassen muss!

    Ich habe ein paar Screenshots gemacht und hoffe Du kannst mir erklären ob ich da noch was ändern muss bzw was ich da noch eintragen muss!

    Hier mal von der Wireguard-UI:

    Müssen bei der Client-Config für die UXG auf Hetzner die ganzen Netze von mir rein? so wie in dem Beispiel 192.168.122.0/24?

    Hier die Bilder von der UXG-VPN Config

    Muss ich da noch was einstellen?

    Dann werde ich gefragt ob ich eine Richtlinienbasierte Route hinzufügen möchte!

    Da kommt dann das rein wo Du mir schon einen screen geschickt hast?

    Wäre das so richtig?

    Was muss ich hier einstellen das ich jetzt z.B. das Netz 192.168.122.0/24 von aussen erreich? Da steig ich nicht durch!

    NAT für das jeweilige Netz ist so zu deaktivieren?

    Zumindest steht die Verbindung zum Hetzner, wenn ich mir da die Seite ankucke


    Ich wäre Dir sehr dankbar wenn Du mir da noch weiterhelfen könntest!

    Ich hoffe Du bist jetzt nicht erschlagen von dem ganzen hier?!?! :-)


    Gruß

    Johnny

  • Global Settings sind soweit okay. Da kann man bestenfalls noch an der MTU schrauben bei Bedarf. Ich habe da 1412 drin, hängt aber halt von diversen Faktoren wie IPv4 oder IPv6, Internetzugangsart wie z.B. PPPoE usw. ab.


    Wireguard Server Settings sind auch okay. Der Public Key muss nicht geheim gehalten werden, daher auch der Name.


    Client Settings vom iPhone Bärchen sind auch okay. Ich benutze an der Stelle nur kein IPv6. Das bezieht sich ja auf den Traffic im Tunnel und das macht Unifi ohnehin nicht.


    UXG Wireguar Setting ! Trage bitte mal das 192.168.122.0/24 Netz in das Feld Extra Allowed IPs und nicht bei Allowed IPs ein. Und jaa, da müssen alle Netze rein, die hinter dem UXG liegen und auf die Du via Wireguard zugreifen willst. Im Zweifel also erstmal alle. Ich habe da z.B. nur mein Main LAN drin, weil ich auf die anderen beiden Netze nicht zugreifen will, weil eher sinnfrei (einmal XBOX only mit UPNP und ein Gastnetz).


    Der Wireguard Client in der UXG sieht okay aus. Da hab ich auch nur das File vom VPS reingekippt. Man musste aber glaube ich die IPv6 allowed IPs entfernen, weil das Importieren nicht ging, wenn ich mich nicht gerade falsch erinnere. Auf dem Bild ist der Client allerdings nicht aktiv.

    Die Policy based route sieht gut aus, sofern das IOT LAN denn auch das 192.168.122.0/24er Netz ist. Ob das funktioniert, kannst Du testen, indem Du dich mit Notebook ins IOT Netz hängst und heise.de/ip aufrufst. Dann sollte da als IPv4 die IP vom hetzner VPS stehen. Wenn da ne IPv6 steht, vermutlich die vom Heimanschluss... das ist dann ein anderes Problem (IPv6 bevorzugt und nicht via Tunnel verfügbar).


    Thema Firewall ist unten.


    NAT sieht bei mir so aus. Ich habe vor dem UCG ein Modem also wählt sich das UCG direkt ein und dementsprechend ist Global NAT auf Auto (weil ich ja ohnehin kein doppeltes NAT haben kann).

    Die interessante Regel ist die folgende. Sie besagt, das alles vom Main-LAN (hier müssen dann auch alle deine Netze rein) am Wireguard Interface was da ausgewählt ist vom NAT über das Interface ausgeschlossen sind ( der Exclude Haken).


    Jaa der Tunnel steht, sendet und empfängt Pakete.


    Zur Firewall. Der VPN Client der UXG liegt in der Zone External. Weitere Annahme... alle deine UXG Netze sind in der Zone Internal (falls welche in eigenen Zonen sind, muss das dann entsprechend zusätzlich nochmal mit denen gemacht werden.

    Ich habe mir ein Netzwerk Object angelegt, für die Wireguard Tunnel IPs (vom VPS und vom Handy) für die der Zugriff erlaubt sein soll, da es noch Clients gibt die über den VPS surfen, aber nicht in mein Netz dürfen. Man kann aber in der Firewallregel statt IP - Object auch IP - Specific einstellen und die IPs dort direkt hinterlegen. Ich habe ein Objekt, da ich dieses in der Firewall mehrfach nutze. Firewall ist halt recht spezifisch und an manchen Stellen geht es auf diversen Wegen. Ansonsten sieht das Objekt einfach so aus.

    Eine neue Regel erstellen, diese muss nachher in der Tabellenzelle External - Internal am besten ganz oben stehen. Bei Destination Network wieder alle Netze auswählen auf die Zugriff nötig ist.


    An dieser Stelle sollte der Zugriff vom VPS und vom Handy auf die Geräte in den Netzen klappen. Der Zugriff auf das Unifi Gateway ist noch nicht möglich. Hier brauchts dann noch eine Regel, die in der Zelle External - Gateway oben stehen sollte.

  • Vielen Dank für deine ausführliche Antwort und Erklärung. Werde ich heute Abend gleich mal testen. Eine Frage hätte ich noch. Wenn jetzt die VPN Verbindung zum Server unterbrochen ist, haben die Clients im netz dann trotzdem noch Internet zugriff?

    Gruß Johnny

  • Das regelt die policy baced routing Regel. Da ist ein Haken Kill Switch (hieß der schon immer so?) Entweder ist Internet dann für diesen Traffic weg oder der Traffic wird anderweitig (über WAN1 z.B.) geroutet. Macht aber halt bei LAN2LAN nicht unbedingt Sinn :)

    Und natürlich kannst Du die policy based routing Regel auch so einstellen, dass dort nur Traffic zum Wireguard Tunnel Netzwerk rein geht. Dann surfen die Geräte in deinem Netz über den lokalen Internetanschluss und nicht über den vps. Muss dann bei Destination von Any auf IP - IP Range umgestellt werden und dann dort die WG Tunnel IPs rein also 172.30.0.1, 172.30.0.2 usw.

    Das Thema ist recht komplex ... und man kann mit vielen kleinen Änderungen das Verhalten komplett ändern oder auch die Sicherheit sehr fein einstellen für jeden VPN Client der auf dein Netz(e)/UXG zugreift, einzelnd.

  • Zuerst einmal ein mega lob für Deine Bechreibung. Ich habe es soweit mal bei mir umgesetzt. Jetzt habe ich aber ein Problem. Wenn ich vom Handy aus über vpn z.B. Homematic WebUi öffne, dann klappt das auch. will ich aber über pocketcontrol auf die CCU zugreifen dann geht das nicht. Also alle weboberflächen im Netzwerk gehen wenn ich sie über einen Browser aufrufe. Gehe ich aber über eine App dann kann keine Verbindung hergestellt werden.

    Weißt Du vielleicht warum?

    Hier mal noch die Screens von den Configs! Vielleicht fällt Dir ja was auf!

    Zur Info die Tunnel-IPs

    WG-Server: 10.10.0.1

    UXG: 10.10.0.3

    iPhone: 10.10.0.2

    Client: 10.10.0.4




    Gruß

    Johnny

  • Ich kenne weder Pocketcontroll noch weiß ich was die CCU ist, klingt aber irgendwie alles nach Smarthomezeugs und einer App die nur lokal im Netz funktioniert oder aber mit ihrer Suchfunktion nichts findet. Eine VPN ist auf keinen Fall mit einem lokalen Netzwerklink gleichzusetzen. An der Stelle bin ich raus und kann nix konkretes beisteuern.

    Da keinerlei Einschränkungen von Ports und Protokollen in der Firewall sind, geht da über Wireguard alles durch was bei einer gerouteten Verbindung durch geht. Denkbar ist auch, dass das Gerät auf das Du zugreifen willst eine lokale Firewall hat, die einige Ports sperrt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!