VPN (WireGuard) in FritzBox einrichten, aber nur für bestimmten Traffic

L1nd-

Newbie
Registriert
Juli 2024
Beiträge
5
Hey Leute,
ich habe folgendes vor:

Ich möchte gerne auf einem vServer bei Hetzner einen WireGuard Server aufsetzen.
Zudem möchte ich weitere verschiedene Dienste (bspw. Pi-Hole und andere Webdienste) auf weiteren vServern zu hosten, welche ebenfalls in dem VPN sind.
Damit nicht jedes Endgerät aus meinem Heimnetzwerk eine einzelne Verbindung zu dem VPN benötigt und auch damit die Fritzbox auf das Pi-Hole zugreifen kann, möchte ich die VPN-Verbindung gerne über die Fritzbox einrichten.

Soweit ist das denke ich auch kein problem. Ich möchte aber ungern meinen gesamten Traffic über die VPN leiten, sondern eben nur den benötigten (hier bspw. DNS, HTTP, HTTPS).
Ist dies "einfach" umzusetzen oder muss ich den gesamten Traffic über die VPN schicken?

PS: Mir ist bewusst, dass ich auch einfach einen kleinen Homeserver/Pi nutzen könnte, ich möchte dies aber gern für mehrere Haushalte bereitstellen, ungern den anderen Haushalten Zugriff in mein privates Netzwerk gewähren und auch einfach mal was neues versuchen :)

Mfg Jannick (L1nd)
 
Das ist in der fritzbox nur bedingt möglich, im raspi sollte das aber mit allow ip oder so einstellbar sein. Anleitung dazu gibt es im Internet
 
  • Gefällt mir
Reaktionen: L1nd- und madmax2010
AllowedIPs = 10.150.0.0/16, 10.123.0.0/16
in der client config macht bspw., dass nur 10.150.0.0/16, 10.123.0.0/16 durchs VPN geroutet wird
 
  • Gefällt mir
Reaktionen: R O G E R und L1nd-
Ups. Post lesen hilft.
Nur DNS und HTTP(S) geht schon auch, erfordert aber ein wenig firewall fummelei.
muss gerade los, kann aber nachher mal zusammen tippen wie ich es grob mit iptables + routing table basteln wurde

grob so vermutlich:
Bash:
ip route add 10.150.0.0/16 dev wg0 table wg0
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp --dport 53 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 53 -j MARK --set-mark 1
ip rule add fwmark 1 table wg0
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
 
  • Gefällt mir
Reaktionen: gaym0r, Teckler und L1nd-
@madmax2010 Danke für die Antwort!
Was passiert dann jetzt mit den Paketen, die nicht DNS, HTTP oder HTTPS sind? Werden die vom Server einfach abgelehnt und von der FritzBox dann "ganz normal", also ohne VPN, ins Internet geschickt oder wie genau funktioniert das dann?
 
@L1nd-
Nur die Pakete, die Zeile 2-5 matchen, werden in das wg0 interface geroutet, alles andere wird ganz normal geroutet. Das ist aber dann eine Sache, die du pro Client konfigurieren müsstest. Und es beschränkt sich auf Linux.

Mit einer professionelleren Firewall wie Opnsense kannst du dein Vorhaben vermutlich besser umsetzen.
 
  • Gefällt mir
Reaktionen: madmax2010 und L1nd-
Alternativ allen Traffic richtung Raspi schicken, dort aufsplitten und entsprechend routen

Welchen Grund hast du denn, dass da nur HTTP und DNS durch sollen? bei den meisten bleibt dann ja kaum noch was über.
 
  • Gefällt mir
Reaktionen: L1nd-
@madmax2010 Mein eigentlicher Gedanke war dabei, es möglichst einfach zu halten. Es scheint ja aber so, als wäre es deutlich komplizierter, wenn ich das filtern möchte.
Zusätzliche Gedanken waren, dass ich an meinem Server dann mehr Ports freigeben muss, bzw mich generell damit beschäftigen muss, welche Ports benötigt werden (bspw. zusätzlich für versch. Online-Games (hier wollte ich auch eine Verschlechterung des Pings vermeiden), Teamspeak, SSH, SFTP, IMAP, SMTP und was da alles nunmal schnell zusammen kommt).
Da ich mehrere Haushalte integrieren wollte, könnte da ja auch nochmal mehr dazukommen.

Aber scheinbar ist es deutlich einfacher, den gesamten Traffic durch die VPN zu leiten.
 
Ich versteh das plötzlich nicht mehr... :D Soll über den Wireguard-Tunnel auch gesurft werden oder geht es einzig um den Zugriff auf Dienste, die du bei Hetzner hostest? Warum reicht dann nicht die Limitierung auf das Zielsubnetz?
 
  • Gefällt mir
Reaktionen: madmax2010 und L1nd-
gaym0r schrieb:
Ich versteh das plötzlich nicht mehr... :D Soll über den Wireguard-Tunnel auch gesurft werden oder geht es einzig um den Zugriff auf Dienste, die du bei Hetzner hostest? Warum reicht dann nicht die Limitierung auf das Zielsubnetz?
Sorry, eventuell war ich da etwas unpräzise xD
Ich möchte im Endeffekt, dass die Fritzbox mit der VPN verbunden ist, um ein Pi-Hole als DNS nutzen zu können. Zudem sollen alle Endgeräte, die an der Fritzbox angemeldet sind, auf weitere Dienste zugreifen können, die auch auf Servern in dem VPN gehostet werden. Es geht also primär nur um den Zugriff auf die Dienste.

Ich möchte aber natürlich weiterhin, auch wenn ich mit der VPN verbunden bin, Surfen, Zocken, etc. können. Ob der Traffic dabei über die VPN läuft oder nicht ist mir komplett egal. Es soll eben nur nichts eingeschränkt sein.

Im Bezug auf
Warum reicht dann nicht die Limitierung auf das Zielsubnetz?
muss ich leider gestehen, verstehe ich nicht ganz was du meinst. Dafür bin ich eventuell auch noch nicht genug im Thema drin.
 
L1nd- schrieb:
muss ich leider gestehen, verstehe ich nicht ganz was du meinst. Dafür bin ich eventuell auch noch nicht genug im Thema drin.
Angenommen dein internes Subnetz bei Hetzner ist 192.168.10.0/24, dann ist in der Wireguard-Config (sei es nun auf der Fritzbox oder auf den einzelnen Clients) definiert, dass nur Traffic nach 192.168.10.0/24 in den Tunnel geschickt wird. Alles andere läuft dann ganz normal über deinen normalen Internetanschluss (local breakout)

Meiner Meinung nach ist es unnötig, da noch auf spezielle Protokolle zu filtern... Zum Pi-Hole werden eh nur DNS-Requests geschickt.
 
  • Gefällt mir
Reaktionen: madmax2010 und L1nd-
@gaym0r Achso, das ist ja super!
Dann hab ich einfach viel zu kompliziert gedacht. Wenn sowieso nur Pakete, dessen Zieladressen in dem VPN sind, durch den Tunnel geschickt werden, stellen sich die ganzen anderen Fragen und Probleme ja gar nicht.
 
Zurück
Oben