Wireguard Fritzbox-pfSense
-
Mir ist gerade noch aufgefallen das unter Status Gateways die WAN Gateways offline sind.
Ist das richtig?
-
Hi, ich habe die Anleitung mal kurz überflogen. Finde ich relativ umständlich...
Ich benutze auf meinen FritzBoxen immer folgende Konfiguration. Und passe dort immer manuell den Private-Key usw. an
In dem Beispiel hat die FritzBox die 192.168.24.x und die PFSense die 10.10.10.x (internes Netzwerk) und die 10.10.20.x (Wireguard Netz)
[Interface] PrivateKey = [PRIVATEKEY] Address = 192.168.24.1/24 DNS = 192.168.24.1 DNS = fritz.box [Peer] PublicKey = [PUBLICKEY] PresharedKey = [PRESHAREDKEY] AllowedIPs = 10.10.10.0/24,10.10.20.0/24 Endpoint = [DNSNAME]:51820 PersistentKeepalive = 25
Ich habe sonst keine besonderen Einstellungen gemacht. Nur ein ganz normalen Wireguard Client auf der PFSense angelegt
Nachtrag: Ich habe natürlich für jede FritzBox in der PFSense ein Gateway & statische Route angelegt. Das wäre hier z.B. 10.10.20.35 (FritzBox Wireguard IP) -> 192.168.24.0/24
-
Danke! Sieht aus, als ginge es in Babyschritten voran mit deiner angepasste Konfig-Datei.
Jetzt kann ich wenigstens schonmal vom Interface der PFSense die FritzBox pingen, was vorher ins leere lief. Von Rechnern & Co. geht's immer noch nicht. Da fehlt also noch der Feinschliff, irgendwo ne Regel vergessen?
FritzBox vom Interface der PFSense pingen geht, andere Geräte im Subnet der FritzBox nicht.
Geht doch, nur ein einzelnes Gerät im Subnet nicht, andere Baustelle also. -
@Teddy wir kennen deine config nicht, daher nur stochern im dunkeln möglich ;)
ich tippe mal fast auf die falsche statische route bzw. falsche gateway konfiguration@xt_ntwrk: du meinst mit umständlicher anleitung die von v64.tech? habe mir die zwar nicht angeschaut aber deine config sieht ja auch so aus wie meine ganz ob, also von daher passt das ;)
@alex303: als erstes würde ich bei den standardgateway mal ein gateway auswählen und nicht auf automatisch stehen lassen! welche clients ggf. über den wg tunnel ins internet sollen, konfigurierst du per firewall rules (policy based routing). die internen clients hinter der fritte erreichst du durch die statische route in der pfsense.
dann bitte auch bei dem WG interface die MTU verkleinern. mind auf 1420 runter...ich würde dort aber mal mit 1300 anfangen. wenn dann mal alles läuft kann der wert auch noch etwas nach oben.
auch hier sieht man keine weitere config von wireguard auf der pfsense noch auf der fritte.
hast du meine config von oben probiert? also gerade die fritzbox seite ist am anfang verwirrend und folgt nicht ganz dem standard! -
FritzBox: 192.168.178.1
PFSense LAN Subnet: 192.168.3.0
Wireguard Netz: 10.10.20.0System-Log sagt nur: Mar 15 22:27:41 dpinger 28841 WGFB 10.10.20.1: sendto error: 93
[Interface]
PrivateKey = 0CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX4=
Address = 192.168.178.1/24
DNS = 192.168.178.1
DNS = fritz.box[Peer]
PublicKey = QXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXjg=
PresharedKey = lNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXaQ=
AllowedIPs = 192.168.3.0/24,10.10.20.0/24
Endpoint = DDNSMEINESPFSENSE:51820
PersistentKeepalive = 25![alt text](
-
@m0nji said in Wireguard Fritzbox-pfSense:
als erstes würde ich bei den standardgateway mal ein gateway auswählen und nicht auf automatisch stehen lassen!
Wo stellt man das ein?
@m0nji said in Wireguard Fritzbox-pfSense:
welche clients ggf. über den wg tunnel ins internet sollen, konfigurierst du per firewall rules (policy based routing)
Das brauche ich nicht, über den Tunnel zur Fritzbox werden nur Daten von der Heizung gesteuert.
@m0nji said in Wireguard Fritzbox-pfSense:
die internen clients hinter der fritte erreichst du durch die statische route in der pfsense.
Soweit komme ich noch nicht, da sobald ich das Gateway WG1 aktiviere ich über die pfSense nicht mehr ins Internet komme.
Irgendwas ist hier noch nicht richtig konfiguriert, ich weis nur nicht was.
Gruß
Alexander -
@alex303 said in Wireguard Fritzbox-pfSense:
Wo stellt man das ein?
Das Standardgateway (Default gateway) der pfSense wirst Du wohl noch selbst finden, andernfalls ist das hier nicht das richtige für Dich.
-
@Bob-Dig said in Wireguard Fritzbox-pfSense:
Das Standardgateway (Default gateway) der pfSense wirst Du wohl noch selbst finden, andernfalls ist das hier nicht das richtige für Dich.
Sorry, hatte das auf dem Handy geschaut und das nicht gesehen.
Auf dem PC sieht das schon besser aus.
WG Gateway ist an und das Internet funktioniert weiter.Ist das denn richtig das bei den WAN Gateway im Status immer noch Offline steht?
-
@Teddy deine interface config auf der pfsense ist schon mal falsch. dort muss 10.10.20.2 mit einer 30er maske rein anstelle von 10.10.20.0/31. du kannst auch eine 24er maske nehmen...
in diesem fall hat dein pfsense wg interface dann als die 10.10.20.2 adresse und kann mit der 30er maske auch die 10.10.20.1 erreichen.
wie siehts mit der statischen route aus?BTW: Interface WG MTU wie gesagt auf 1400 oder 1300 stellen
-
@alex303
Unter System --> Routing --> Gateways stellst du dein "WAN_PPPOE" ein für IPV4 und "WAN_DHCP6" für IPV6. Sieht dann ungefähr so aus
Nur das ich aktuell kein IPV6 nutze.
Editiere auch mal dein "WAN_PPPOE" Gateway und stell bei "Monitor IP" bspw. "8.8.8.8" ein. Nicht in jedem Fall kann das Standard GW angepingt werden...Wenn du jetzt nach dem Aktivieren des WG Gateways nach wie vor Internet hast, würde ich jetzt weiter machen bei der Statischen Route.
Also Destination Network 192.168.45.0/24 und Gateway wäre dann "WGnach..."BTW: Interface WG MTU wie gesagt auf 1400 oder 1300 stellen
-
@m0nji said in Wireguard Fritzbox-pfSense:
Also drauf achten, dass die reale Fritzbox IP, in meinem Beispiel 172.21.22.22/24, eingetragen wird.
Nachdem ich dann NUR die IP der Fritte eingetragen habe funktioniert es jetzt.
Vielen Dank für euere Unterstützung.
@m0nji said in Wireguard Fritzbox-pfSense:
Interface WG MTU wie gesagt auf 1400 oder 1300 stellen
Woran kann man erkennen wann der richtige Wert eingetragen ist?
Muss man bei MSS auch etwas eingetragen?
Soll man MTU auf im LAN Interface eintragen? -
Danke, MTU umgestellt und die interface Konfiguration korrigiert.
Aktuelle Konfiguration für die FritzBox (welche weiterhin 192.168.178.1 hat und wie bei deiner Konfiguration auch unter "Address" festgelegt wurde.
[Interface]
PrivateKey = QEAXXXXXXXXXXXXXXXXXXXXXXXXXG00=
Address = 192.168.178.1/24
DNS = 192.168.178.1, fritz.box[Peer]
PublicKey = Xc9HXXXXXXXXXXXXXXXXXXXXXXXXXCu7BQ=
PresharedKey = E/bXXXXXXXXXXXXXXXXXXXXXXXXXXf1zkQ=
AllowedIPs = 192.168.3.0/24, 10.10.20.0/24
Endpoint = pfsense.mnas.eu:51820
PersistentKeepalive = 25Bin dort ein wenig ratlos, woran es noch liegen kann.
Der Tunnel wird sauber aufgebaut, ich kann vom Subnet der FritzBox aus auf das gesamte Netz hinter der PFSense zugreifen, umgekehrt allerdings nicht, kein Ping möglich, nichts, nada.
Heißt aber, es kann nicht (mehr) so viel falsch konfiguriert sein / fehlen, wenn das soweit schonmal klappt. Habe schonmal verschiedene Regeln für die Firewall und NAT versucht. -
@alex303 sehr gut!
bzgl. mtu müsstest du mal im netz suchen, da gibt es tonnen an anleitungen. ich kann dir an dieser stelle nur sagen, dass die standard mtu bei wireguard nicht optimal ist für diverse szenarien, bspw bemerken wir in der firma abbrüche bei z.b. rdp verbindungen über den tunnel.
erster google treffer um es etwas besser zu verstehen und zu berechnen: https://schroederdennis.de/vpn/wireguard-mtu-size-1420-1412-best-practices-ipv4-ipv6-mtu-berechnen/ (ohne wertung)die mtu setzt du direkt auf dem dazugehörigen WG interface, NICHT auf dem LAN interface. MSS musst du meines wissens nach nicht ändern bei wireguard.
-
@Teddy das was man hier sieht, sieht auch erstmal korrekt aus. kannst du denn von der pfsense (diagnostic --> ping) hosts auf der fritzbox seite anpingen, wenn du dort das wg interface auswählst?
prüf auch mal bitte die states (diagnostic --> states) und gib als ziel, während du ein ping auf einen host hinter der fritzbox ausführst, diesen host an. du solltest dort zwei einträge sehen. einmal dein lan interface und dein wg interface. -
@m0nji Ping auf der Oberfläche der PFSense an die FritzBox selbst und andere Geräte im Subnet der Fritzbox funktionieren anstandslos. Das verwundert mich eben so, dass mittlerweile sämtliche Pings anstandslos durchlaufen von der PFSense aus, aber von den Clients aus die Pings ins leere laufen.
PING 192.168.178.1 (192.168.178.1) from 10.10.20.2: 56 data bytes
64 bytes from 192.168.178.1: icmp_seq=0 ttl=64 time=64.922 ms
64 bytes from 192.168.178.1: icmp_seq=1 ttl=64 time=63.797 ms
64 bytes from 192.168.178.1: icmp_seq=2 ttl=64 time=65.670 ms--- 192.168.178.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 63.797/64.796/65.670/0.770 msStates? Wo kann ich dort ein Ziel angeben oder meintest du filtern nach den entsprechenden Einträgen? States habe ich noch nie genutzt, daher frage ich.
-
@Teddy du gibst bei "Filter expression" einfach die IP ein, welche du parallel anpingst. interface bitte auf ALL lassen.
-
@m0nji
WGFB icmp 10.10.20.2:36942 -> 192.168.178.1:36942 0:0 3 / 3 252 B / 252 BIch bin wieder einen kleinen Schritt weiter.
Dein Tipp mit der richtigen Konfiguration vom Gateway war also schonmal super und half weiter.Fast mein gesamter Netzwerkverkehr wird durch einen VPN getunnelt (brauche ich sowieso, da nur CGNAT mit Starlink und somit kein Zugriff aufs Heimnetz / Plex & Co ansonsten).
Nun kann ich vom PFSense Netzwerk so einige Adressen im FritzBox Subnet pingen. Aber nicht alle und auch nicht die FritzBox. Spannende Frage ist nun natürlich warum....Die gepingten IP's lassen sich auch per Browser aufrufen, bspw. komme ich auf die Repeater der FritzBox, aber nicht auf die FritzBox selbst.
-
@Teddy da ist irgendwie noch einiges nicht korrekt.
- deine firewall rules auf dem lan interface ergeben in summe wenig sinn. du hast ganz unten für ipv4 und ipv6 eine rule, die ALLES darf (standard) und demzufolge kannst du dir die rules oben drüber sparen! gerade die "traffic through vpn" rule ist falsch, weil du die source nicht definierst und die destination sollte wohl eher lauten !RFC1918, da du nicht willst, dass interner verkehr über den openvpn tunnel geht. du hast aber nur das lan subnet definiert anstatt das gesamte rfc918. diese openvpn rule musst du generell erstmal deaktivieren bis dein wireguard sauber läuft.
- wozu willst du bei CGNAT nach EXTERN alles über den openvpn tunnel jagen? wozu? eingehend würde ich ja noch verstehen aber doch nicht ausgehend!?! das ist doch nur dann sinnvoll, wenn du beispielsweise geoip sperren umgehen willst. wenn es aber darum geht, dass du intern services von extern erreichen willst, dann ist eher der openvpn rules tab wichtig ;). oder aber man schaut sich dann Cloudflare Tunnel, Tailscale oder Netbird an.
-
@m0nji
Achja, die lieben Standardregeln, wo ich mich nie drum gekümmert habe. Erstmal deaktiviert, hatte irgendwann mal gedacht die wären nicht löschbar, aber das waren ja nur die BOGON im WAN interface & die LOCKOUT Rule hier.Naja, witzigerweise funktionierte aber alles, wie es sollte. Hatte bei den Regeln auch teilweise mit tagging gearbeitet, so wie es vor Jahren in zahlreichen Anleitungen zu VPN & Co. zu finden war, um den Datenverkehr zu blockieren, wenn die VPN Verbindung verloren geht.
Genau um GeoIP geht es auch, bzw. wenn man mal einen Film sehen möchte, der beim üblichen Streaminganbieter nicht im Angebot ist ;)Aber auf die Schnelle fällt dir nicht auf, wo es kneifen könnte, dass nur manche IP Adresse im Subnet der FritzBox erreichbar sind?
-
@Teddy
was sagen denn die states wenn du einen funktionierenden und einen nicht funktionierenden host anpingst? vorhin hast du mir nur eine zeile kopiert. wie ich da aber schon geschrieben habe, müssen es zwei zeilen sein. einmal das lan interface und einmal das wg interface pro ping durchlauf.
und das gleiche würde ich danach noch einmal ausführen mit deaktivierter "traffic through vpn" rule + aktivierter standard rule. du hattest jetzt nur geschrieben, dass du diese deaktiviert hast.ich gehe auch davon aus, dass du unter den vpn --> wireguard --> peer einstellungen "Allowed IPs" 10.10.20.0/24 und 192.168.178.0/24 eingetragen hast?
so oder so muss du diese ominöse vpn rule anpassen. sie ist halt nicht sauber. das geht jetzt aber bissel über den ansatz dieser anleitung drüber hinaus