Unifi Policy-Based Route via WG zum Server selbst

Hallo zusammen,
ich habe bei Hetzner einen V Server auf dem unter anderem Wireguard läuft.
Verschiedene Dienste sind nicht offen im Internet sondern lediglich über Wireguard erreichbar(aber über die theoretisch auch öffentlich erreichbare IP und kein extra Netz).

Bisher hatte ich meine Geräte die auf Dienste auf dem Server Zugriff brauchen mittels einer OPNsense angebunden und das Routing für die entsprechenden Geräte eingerichtet. Lief alles tutti :slight_smile:

Jetzt habe ich einige Sachen von Unifi angeschafft und wollte die Wireguard Verbindung über das Cloud Gateway Ultra laufen lassen.

Wireguard Tunnel läuft und ich kann auch alles darüber laufen lassen bis auf ein Ziel. Mein V Server wird nie über den WG Tunnel (wgclt1) geleitet.
Selbst wenn ich eine explizite Route anlege, so dass für ein Gerät der komplette Traffic über den WG-Tunnel laufen soll (Fallback ist deaktiviert damit nicht auf alternative Wege umgeschwenkt werden kann) geht alles durch den Tunnel, außer das was zur IP/Domain des V-Servers gehen soll. Das was dort hin soll, geht am Tunnel vorbei und kommt über das Internet zum Server.

Statische Routen kann ich für den Fall nicht nutzen, da dann ja versucht werden würde den Tunnel über den Tunnel aufzubauen… Willkommen im Loopback… zumal ja nur einzelne Geräte+Ports final über Wireguard laufen sollen.

Hat jemand ne Idee woran das liegen kann? Für mich wirkt es wie eine höher priorisierte routing Regel, finde aber nix…

netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.8.0.0        0.0.0.0         255.255.255.0   U         0 0          0 wgclt1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth4
192.168.2.1     0.0.0.0         255.255.255.255 UH        0 0          0 tlprt0
192.168.69.0    0.0.0.0         255.255.255.0   U         0 0          0 br69
192.168.94.0    0.0.0.0         255.255.255.0   U         0 0          0 wgsrv1
192.168.94.2    0.0.0.0         255.255.255.255 UH        0 0          0 wgsrv1
192.168.94.10   0.0.0.0         255.255.255.255 UH        0 0          0 wgsrv1
192.168.101.0   0.0.0.0         255.255.255.0   U         0 0          0 br101
192.168.107.0   0.0.0.0         255.255.255.0   U         0 0          0 br107
192.168.110.0   0.0.0.0         255.255.255.0   U         0 0          0 br0
192.168.111.0   0.0.0.0         255.255.255.0   U         0 0          0 br111
192.168.128.0   0.0.0.0         255.255.255.0   U         0 0          0 wgsrv1
203.0.113.0     0.0.0.0         255.255.255.0   U         0 0          0 dnsfilter

Hat jemand ne Idee in welche Richtung ich da suchen muss?

Danke vorab und Gruß

  • Wie ist die Ausgabe von ip route ?
  • Wohin zeigt die default-Route? (Destination = 0.0.0.0)
  • Du hast im VPN ein privates oder öffentliches IP-Netz?

Huhu,
ip route sagt das selbe wie netstat :wink:

ip route
10.8.0.0/24 dev wgclt1 proto kernel scope link src 10.8.0.240
192.168.1.0/24 dev eth4 proto kernel scope link src 192.168.1.252
192.168.2.1 dev tlprt0 scope link
192.168.69.0/24 dev br69 proto kernel scope link src 192.168.69.1
192.168.94.0/24 dev wgsrv1 proto kernel scope link src 192.168.94.1
192.168.94.2 dev wgsrv1 proto kernel scope link
192.168.94.10 dev wgsrv1 proto kernel scope link
192.168.101.0/24 dev br101 proto kernel scope link src 192.168.101.1
192.168.107.0/24 dev br107 proto kernel scope link src 192.168.107.1
192.168.110.0/24 dev br0 proto kernel scope link src 192.168.110.1
192.168.111.0/24 dev br111 proto kernel scope link src 192.168.111.1
192.168.128.0/24 dev wgsrv1 proto kernel scope link
203.0.113.0/24 dev dnsfilter proto kernel scope link src 203.0.113.1

Wo unifi die default route anzeigt habe ich bisher nicht raus bekommen normal gehört sie ja hier mit rein bei der Ausgabe.

(Gerät ist ein Cloud Gateway Ultra)
Sie geht aber auf eth4 (Port 5/ WAN) auf ne Fritzbox 192.168.1.1 (doppeltes NAT)
mit Fallback auf eth3 (Port 4/als alternativen WAN konfiguriert) (minirouter der sich auf meinen handyhotspot einklinkt)(nur bei bedarf aktiv)

Das betroffene VPN Tunnelnetz über die die verbindung läuft ist das 10.8.0.0/24 wobei die unifi Kiste die 240 hat und der Hetzner die 1

und hier die policy-based Regel im testzustand (wind dann später auf reale bedurfnisse angepasst)
image

und die Policy Based Route die genommen wird. Bei jedem Ziel geht Traffic durch besagtem Tunnel

tracert ipv64.net

Routenverfolgung zu ipv64.net [144.76.85.238]
über maximal 30 Hops:

  1    <1 ms    <1 ms    <1 ms  192.168.101.1
  2    23 ms    23 ms    23 ms  10.8.0.1       (Tunnelnetz)
  3    23 ms    23 ms    23 ms  172.17.0.1     (Docker)
  4    30 ms    26 ms    26 ms  172.31.1.1     (Docker)
  5    24 ms    23 ms    23 ms  xxxxx.your-cloud.host [168.119.xxx.xxx]
  6     *        *        *     Zeitüberschreitung der Anforderung.
  7    28 ms    24 ms    23 ms  static.73.143.12.49.clients.your-server.de [49.12.143.73]
  8  1135 ms  1202 ms  1346 ms  spine16.cloud1.nbg1.hetzner.com [85.10.237.165]
  9    24 ms    23 ms    23 ms  core12.nbg1.hetzner.com [213.239.239.141]
 10    26 ms    26 ms    25 ms  core24.fsn1.hetzner.com [213.239.245.30]
 11    30 ms    28 ms    25 ms  ex9k2.dc10.fsn1.hetzner.com [213.239.229.62]
 12    32 ms    26 ms    26 ms  mail.schroederdennis.de [144.76.85.238]

Ablaufverfolgung beendet.

Außer bei besagtem Ziel worum es eigentlich geht

tracert 116.xxx.xxx.xxx

Routenverfolgung zu xxxx.xxxx.de [116.xxx.xxx.xxx]
über maximal 30 Hops:

  1    <1 ms    <1 ms    <1 ms  192.168.101.1
  2     1 ms     1 ms     1 ms  192.168.1.1    (Fritzbox)
  3    19 ms    18 ms    18 ms  p3e9bf60f.dip0.t-ipconnect.de [62.xxx.xxx.xxx] 
  4    22 ms    22 ms    22 ms  n-ea11-i.n.de.net.dtag.de [217.0.204.218]
  5    34 ms    22 ms    22 ms  62.157.248.138
  6    23 ms    22 ms    22 ms  core11.nbg1.hetzner.com [213.239.229.161]
  7    22 ms    22 ms    22 ms  spine16.cloud1.nbg1.hetzner.com [213.239.239.122]
  8    23 ms    23 ms    22 ms  spine7.cloud1.nbg1.hetzner.com [85.10.237.166]
  9     *        *        *     Zeitüberschreitung der Anforderung.
 10    22 ms    22 ms    22 ms  xxxxx.your-cloud.host [168.xxx.xxx.xxx] (gleiche wie oben hop 5)
 11    24 ms    22 ms    22 ms  xxxxxx.xxxxxx.de [116.xxx.xxx.xxx]

Ablaufverfolgung beendet.

als vergleich mal noch der direkt aufgebaute Tunnel vom PC aus

tracert 116.xxx.xxx.xxx

Routenverfolgung zu xxxxx.xxxxx.de [116.xxx.xxx.xxx]
über maximal 30 Hops:

  1    23 ms    23 ms    23 ms  10.8.0.1
  2    23 ms    23 ms    23 ms  xxxxx.xxxxx.de [116.xxx.xxx.xxx]

Ablaufverfolgung beendet.

Warum ist da „All Traffic“ ausgewählt? Damit routest du doch auch „all traffic“ mit der Regel.

Das wird umgestellt wenns mal funktioniert.

Ist nur zum testen. Um fehlerquellen auszuschließen.

Am Ende kommt da die serverIP und die ports die gebraucht werden rein und die Geräte die es brauchen…

Aber wenn „alles“ schon „alles außer“ bedeutet… Ist ja noch irgendwo der wurm drin…
Hatte am anfang auch nur das was es sein soll drin… Hab aber festgestellt, dass es nicht über den Tunnel geht.

Ich habe keine unifi Geräte und auch keine Erfahrung damit. Das heißt ich kann nur Vermutungen anstellen…

Kannst du bei den VPN Einstellungen noch irgendwelche Routen angeben?

Soweit ich verstanden habe, willst du

  • das der komplette Traffic so normal in das Internet geroutet wird
  • der Traffic zur public IP des VPN Servers soll über das VPN gehen

Ist das soweit korrekt? Gibt es weitere Anforderungen?

Ja, normal alles über WAN und einzelne Dienste, für einzelne Geräte über den Tunnel, da von Internet aus 2 Firewalls sagen du kommst hier nicht rein(soll auch so sein)

Als Beispiel: den Portainer Agent frei ins Internet zustellen wäre schon grob fahrlässig… daher der weg durch den Tunnel.


Aber wie bereits beschrieben geht jeglicher Traffic der zum 116.xxxxxx gehen soll obwohl anders als angewiesen nicht durch den Tunnel…

Ich denke es ist irgendeine automatische „Bevormundung“ seitens Unifi. Vermutlich versucht mich die Kiste zu schützen denn die Regel dürfte nie auf sich selbst angewendet werden, da ja dann versucht werden würde den Tunnel durch den nicht aufgebauten Tunnel aufzubauen… das würde ja nicht gehen… aber ein Gerät hinter den Gateway hat diese Einschränkung ja gar nicht und kann daher so konfiguriert werden.

Da es sich vermutlich um was unifi Spezifisches handelt wirst du mir da aber nicht helfen können…

Da kann ich dir leider nicht weiterhelfen. Aber warum willst du unbedingt auf die Public-IP mit deinen Diensten gehen? Nimm doch einfach die VPN-IPs.

Alternativ könntest du noch ein „dummy“-Interface dem Server hinzufügen und die IP über das VPN routen lassen.
Dann sparst du dir den Spezialfall (wo ich mich frag ob Unifi das so überhaupt kann oder ob es dafür eine „professionell“ Firewall benötigt.)

Genau das, bzw ähnlich hab ich das heute gemacht… Tunnel IP wollte mein monk nicht😉

Hab mir nen hetzner privates netzwerk hinzugefügt. Und benutze das interface dafür
Und funzt auch alles super…
Macht leider das Thema mit Zertifikaten komplexer…

Dank dir auf jeden Fall.

Is mir trotzdem ein Rätsel was unifi da im Hintergrund treibt und ob man es ändern kann…

Falls also noch jemand ne zündende Idee hat…gern melden.

Und wenn du für den „internen“ Traffic die Ziel-Adresse mit NAT auf die VPN-IP umschreibst?

Aber frag nicht wie das mit Unifi funktioniert. :smiley:

Umschreiben habe ich bisher noch gar nicht bei der kiste gesehen…
Da sind die sense n der kiste meilenweit vorraus😉