VPN Point to Site ICMP funktioniert, TCP nicht
-
Hallo zusammen,
ich versuche Point to Site VPN Verbindung mit Wireguard VPN aufzubauen. Ziel ist vom VPN-Client zum OnPrem Server kommunizieren zu können.
Ping funktioniert aus beiden Richtungen.
Versuche ich jedoch die Website aufzurufen, welche der Server bereitstellt, scheitert dies.
Das VPN Interface des OnPrem-Routers ist als Gateway hinterlegt mit einer statischen Routingregel für das Netz 192.168.1.0/24.
Die Firewallregeln sind Any-Any für beide VPN Interfaces der pfSense. Auf dem WAN-Interface sind noch die Ports für die Wireguard-Tunnel freigegeben: 51280 & 51281.
Ich konnte feststellen, dass die SYN Pakete auf dem Server ankommen. Die SYN,ACK Pakete konnte ich mittels Packet Capture auf dem Interface 10.111.111.17 noch sehen. Auf dem Interface 10.111.111.193 hingegen nicht mehr.Wo liegt mein Fehler bzw. was fehlt in der Konfiguration? Ich habe wenig Erfahrung mit pfSense, also gern die Erklärung für Dummies Für Sonstige Verbesserungsvorschläge bin ich ebenfalls offen. Vielen Dank
+---+ +---+ |WAN| |WAN| | | | | | | | | +---------+ 192.168.1.0/24 +-+---+--+ 10.111.111.16/28 +--+---+--+ 10.111.111.192/26 +------------+ | |----------------------------| |--------------------------------| |-----------------------------------| | | Server | 192.168.1.2 192.168.1.1 | Router | 10.111.111.18 10.111.111.17 | pfSense | 10.111.111.193 10.111.111.194 | VPN-Client | | |----------------------------| |--------------------------------| |-----------------------------------| | +---------+ +--------+ +---------+ +------------+
-
- danke für das schema
- ist die pfSense und der Router in beiden Netzen jeweils das Default gateway?
- was ist der Router für ein Produkt?
- Point to Site VPN ist das sowas wie "wireguard roadwarrior"
- Bitte mal von der Sense Screenshot der WG Config
- was läuft auf dem server für ein OS und welchen webserver setzt ihr ein, habt ihr zufällig was in der config eingeschränkt (netze oder was auch immer)
- warum hast du auf dem WAN 2 Ports für WG?
- ist das dein Transfernetz 10.111.111.16/28
- das ist dein LAN auf der Sense 10.111.111.192/26?
- Der Router und die Sense, sind das Unterschiedliche Standorte?
┌─ ─┐ ┌─ ─┐ │ │ │ │ │ │ WAN│ WAN│ │ │ │ │ │ │ ┌────────┐ 192.168.1.0/24 ┌─────┴──┐ 10.111.111.16/28 ┌─────┴──┐ 10.111.111.192/26 ┌──────────┐ │ ├─ ── ── ── ── ── ── ── ── ── ┤ ├─ ── ── ── ── ── ── ── ── ── ── ┤ ├─ ── ── ── ── ── ── ── ── ── ── ── ┤ │ │ Server │ 192.168.1.2 192.168.1.1 │ Router │ 10.111.111.18 10.111.111.17 │pfSense │ 10.111.111.193 10.111.111.194 │VPN-Client│ │ │── ── ── ── ── ── ── ── ── ──│ │── ── ── ── ── ── ── ── ── ── ──│ │── ── ── ── ── ── ── ── ── ── ── ──│ │ └────────┘ └────────┘ └────────┘ └──────────┘ Server LAN? ist das ein LAN oder ein Transfernetz? Transfernetz wireguard roadwarrior?
-
Überprüf doch mal die MTU des Wireguard unter Interfacess [z.B. WGTun0 (tun_wg0)] "General Configuration"
Ist das MTU-Feld leer wird die Vorgabe 1500 verwendet.
Dann funtioniert ping (ICMP) aber keine TCP Verbindung wie SSH. Setze die MTU auf 1412 oder niedriger.Ich konnte Anfangs auch pingen aber keinen Server am anderen Ende des Tunnels per SSH (TCP-Port 22) erreichen.
Nach Änderung der MTU auf 1412 oder niedriger klappt es nun. Fritzboxen nutzen sogar nur eine MTU 1380 für WIreguard Tunnel als nicht veränderbare Vorgabe.
-
Danke für den Hinweise. Ich habe die MTU Size auf beiden VPN Interfaces auf 1200 gesetzt. Leider ohne Erfolg. Ein weiterer Test mit 1000 war ebenfalls nicht erfolgreich. Auch das WAN Interface der pfSense zusätzlich auf 1200 MTU Size zu setzen führte nicht zum Erfolg.
Zu den Fragen von @micneu
- Der Router ist eine FritzBox und das Default Gateway des 192.168.1.0 /24 Netzes
- Die pfSense ist das Gateway in den beiden 10.111.111.x Netzen
- Das Netz 10.111.111.192 /26 ist als "wireguard roadwarrior" Konfiguration gedacht, also Endgeräte, die sich irgendwo mit "freiem" Internet verbinden und auf die Ressourcen im 192.168.1.0/24 Netz zugreifen sollen.
- Das Netz 10.111.111.16/28 ist der VPN Tunnel zwischen der Sense und der FritzBox.
- Die FritzBox und die Sense sind zwei verschiedene Standorte, die Sense stehet bei Hetzner, die FritzBox bei mir Zuhause
- Meinen Internetanschluss habe ich von der Telekom, klassisches DSL, soweit ich weiß mit einer (wechselnden) IPv4 Adresse für FritzBox
- Der Server ist ein Windows Server 2019 mit einem dort laufen ein IIS und Jellyfin welches seinen eignen integrierten Webserver (ich schätze Kestrel) mitbringt. Alternativ ein Rasbian mit OctoPrint, welches einen der Python-basierten Webserver nutzt (ich weiß leider nicht welchen). Bei keinem der beiden habe ich aktiv eine Einschränkung bezüglich der Netze getroffen.
- Die Anfragen werden auch beantwortet (konnte man im Wireshark auf dem Windows Server schön sehen) Auf SYN folgt ein SYN ACK, welches aber nie beim Client (10.111.111.194) ankommt.
- mit Packet Caputure auf der pfSense konnte ich die Antworten bis zum Interface 10.111.111.17 beobachten, auf 10.111.111.192 waren sie nicht mehr zu sehen.
- nachfolgende ein aktualisiertes Schema, und die Screenshots von der WG Konfig.
┌─ ─┐ ┌─ ─┐ │ │ │ │ │ │ WAN│ WAN│ │ │ │ │ │ │ ┌────────┐ 192.168.1.0/24 ┌─────┴──┐ 10.111.111.16/28 ┌─────┴──┐ 10.111.111.192/26 ┌──────────┐ │ ├─ ── ── ── ── ── ── ── ── ── ┤ ├─ ── ── ── ── ── ── ── ── ── ── ┤ ├─ ── ── ── ── ── ── ── ── ── ── ── ┤ │ │ Server │ 192.168.1.2 192.168.1.1 │FritzBox│ 10.111.111.18 10.111.111.17 │pfSense │ 10.111.111.193 10.111.111.194 │VPN-Client│ │ │── ── ── ── ── ── ── ── ── ──│ │── ── ── ── ── ── ── ── ── ── ──│ │── ── ── ── ── ── ── ── ── ── ── ──│ │ └────────┘ └────────┘ └────────┘ └──────────┘ Server LAN? Site-to-Site-VPN mit Wireguard wireguard roadwarrior
- Der Router ist eine FritzBox und das Default Gateway des 192.168.1.0 /24 Netzes
-
@TheBlackOne said in VPN Point to Site ICMP funktioniert, TCP nicht:
192.168.1.0 /24
Du hast dein Fritzbox-LAN von 192.168.178.0/24 auf 192.168.1.0/24 geändert?
-
@theblackone was ich nicht erstehe warum steht der server bei dir zuhause?
Das was du gezeichnet hast kann nicht stimmen, Wireguard auf der Fritzbox hat kein Transfernetz, es wird das LAN der Fritzbox genommen.
Entweder hast du was Falsch konfiguriert (da du die config nicht gepostet hast können wir das nicht überprüfen).
Zu deinem aufbau, ich bin der meinung das es so nicht Funktionieren kann.
Ich habe gerade von kurzen einen S2S Wireguard zwischen Fritzbox & pfSense gebaut. Und die Fritzbox kann nach meinem wissen auch nur 1 Netz über das VPN Routen. Das was du willst, wird nach meiner einschätzung nicht klappen.
Frage, warum hast du bei dir nicht einen sense stehen oder warum ist der Server nicht in der Firma oder im RZ?PS: gut, ich liege Falsch, das scheint nicht Firmentechnisches zu sein. Da du einen Webserver hast, meine empfehlung schau dir mal FRP reverse proxy an (setze ich selber erfolgreich ein) da kannst du irgend wo (selbst hinter LTE einen webserver laufen lassen und der verbindet sich halt mit deinem server im internet und ist daruch immer erreichbar)
-
Soweit ich es verstanden habe darf die MTU auch nicht kleiner als 1280 sein.
Zur Berechnung der MTU gibt es von Dennis Schröder eine Internetseite (WireGuard MTU Size 1412 - Best Practices IPv4/IPv6 : https://schroederdennis.de/vpn/wireguard-mtu-size-1420-1412-best-practices-ipv4-ipv6-mtu-berechnen/)
Ich lese gerade die anderen Komnentare. Gut möglich dass Du gleich mehrere Fehler ind er Konfiguration hast.
Lies mal das:
https://v64.tech/t/anleitung-site2site-wireguard-verbindung-zwischen-pfsense-und-fritzbox/438/13
Mit dieser Anleitung und mit meiner Ergänzung in den Kommentaren am Ende hat es bei mir funktioniert und läuft seit Wochen fehlerfrei durch. -
@micneu said in VPN Point to Site ICMP funktioniert, TCP nicht:
Und die Fritzbox kann nach meinem wissen auch nur 1 Netz über das VPN Routen.
Sie kann zumindest eine Netzt zu Netz-Verbindung und zudem noch Netz zu Client Verbindungen gleichzeitig.
Ich verwalte eine Remote FB 7490. Die hat eine permanente Netz zu Netz-Verbindung zu einer pfsense und es ist dennoch möglich noch mit einem Smartphone, Notebook etc. einen Tunnel zur FB herszustellen und pber diesen dann sogar wieder in das Netz der pfsense zu gelangen.
Allerdings will TheBlackOne
gar keine Point to Site VPN Verbindung mit Wireguard zu einer FB aufbauen, sondern Ziel ist ein OnPrem Server. Okay, scheinbar ist nun doch eine FB im Spiel.Dann hilft das weiter:
https://v64.tech/t/anleitung-site2site-wireguard-verbindung-zwischen-pfsense-und-fritzbox/438/13
Mit dieser Anleitung und mit meiner Ergänzung in den Kommentaren am Ende hat es bei mir funktioniert und läuft seit Wochen fehlerfrei durch.
(pfsense bei mir Zuhause, FritzBox an entferntem Standort) -
@eagle61 so meinte ich das nicht.
du kannst unter linux/sense/windoof in der wireguard config mehrere netze angeben. das unterstützt die fritzbox nach meiner meinung nicht (habe ich so hören sagen mitbekommen, nie getestet da ich sowas nicht brauche -
Hi,
diesmal habe ich dran gedacht auch die WG-Config mit hoch zu laden.
Die beiden Tunnel sind gleich konfiguriert. Sie erlauben das Netz 192.168.178.0/24 und 10.111.111.0/24.
Zur Erklärung: Im Schema steht das Heimnetz mit 192.168.1.0/24. Das war nur für das Schema. In den Konfigs ist es die 192.168.178.0/24 Die Tunnel sind "gleich" konfiguriert, daher nur die Bilder vom Tunnel zur FritzBox.Mein Ansatz zum Problem des Routing des Fritzbox war das 10.111.111.0/24 Netz freizugeben. Ich denke auch nicht, dass es sich um ein Routingproblem handelt, da Ping und Traceroute funktionieren, oder liege ich da falsch?
Hier mal was ich mit dem Setup erreichen will bzw. warum ich mich für diesen Aufbau entschieden habe:
- VPN für meine Endgeräte wenn ich unterwegs bin
- Sicherer Zugriff auf Internet
- Zugriff auf die Server Zuhause
Warum stehen die Server Zuhause?
Der Media-Server besteht aus alter Hardware mit einer großen Platte, war billiger als sich entsprechenden Speicher in der Cloud zu mieten. Der OctoPi steuert meinen 3D-Drucker, der kann nicht in die Cloud.
Einen Reverse Proxy wollte ich nicht, da damit die Server öffentlich erreichbar wären, wenn ich nichts weiter tue, oder meinst du @micneu in der Kombination mit VPN dann aber ohne den Traffic direkt zu Routen?Ich hänge nicht an der Zwei-Tunnel Lösung. Mein erster Ansatz war, alles in einen Tunnel zu hängen, als mehrere Peers, das hat aber dazu geführt, dass niemand mehr über den Tunnel kommunizieren konnte.
Wireguard auf der Fritzbox
[Interface] PrivateKey = PrivateKey Address = 10.111.111.18/28 DNS = 10.111.111.2 [Peer] PublicKey = PublicKey AllowedIPs = 192.168.178.0/24, 10.111.111.0/24 Endpoint = 203.0.113.196:51820 PersistentKeepalive = 25
Wireguard auf dem Client
[Interface] PrivateKey = PrivateKey Address = 10.111.111.194/26 DNS = 10.111.111.2 [Peer] PublicKey = PublicKey AllowedIPs = 10.111.111.0/24, 192.168.178.0/24 Endpoint = 203.0.113.196:51821 PersistentKeepalive = 25
- VPN für meine Endgeräte wenn ich unterwegs bin
-
@TheBlackOne said in VPN Point to Site ICMP funktioniert, TCP nicht:
Wireguard auf der Fritzbox
Davon hätte ich gerne den Screenshot, denn ich dachte, die Fritzbox nutzt immer die eigene LAN-IP für WireGuard.
-
Die Werte in den grauen Feldern, kann man nicht anpasse. Die werden aus der Wireguard-Konfigdatei gezogen.
-
@TheBlackOne said in VPN Point to Site ICMP funktioniert, TCP nicht:
Die Werte in den grauen Feldern, kann man nicht anpasse. Die werden aus der Wireguard-Konfigdatei gezogen.
Ich meinte den anderen Button, also den für die WG-Config der FB selbst, nicht für den Peer. Da müsste dir auch die private IP der Fritte angezeigt werden.
-
Das ist alles was ich für WG an der FritzBox konfiguriert habe. Die FB ist lediglich lediglich ein Peer. Dadurch habe ich keine Probleme mit der wechselnden öffentlichen IP, da die sich immer wieder von selbst verbindet.
-
@TheBlackOne said in VPN Point to Site ICMP funktioniert, TCP nicht:
Die beiden Tunnel sind gleich konfiguriert. Sie erlauben das Netz 192.168.178.0/24 und 10.111.111.0/24.
Also meines Wissens nach werden Site to Site und Roadwarrior-Tunnel unterschiedlich konfiguriert. Site to Site Tunnel sind Wireguard-Tunnel zwischen verschiedenen Netzen, also z.B. zwischen einer Fritspox und einer pfsende.
Roadwarrior-Tunnel sind Wireguard-Tunnel zwischen einem einzelnen moblen Endgerät, wie Smartphone oder Notebook von dem aus Du z.B. von einem mobile Netzwerk aus ins heimische Internet willst oder gar eingelogt in einem Hotel-Netz oder einem Cafe, sicher allen Internetverkehr (z.B. für sicheres Onlinebanking) über das heimische Netzwerk durch den WIreguard-Tunnel umleiten willst.
Ich habe und nutze beides. Das geht auch, die Konfiguration ist aber zumindest auf einer pfsense unterschiedlich.
Beides können sowohl Fritz-Boxen wie auch pfsense, entsprehcende Konfiguration vorausgesetzt und beides auch gleichzeitig.WIllst du für einen Wireguard-Tunnel den gesamten Internetverkehr umleiten braucht es seitens der pfsense zusätzlich auch noch eine Outbound-Firewall-Rule. (Firewall / NAT / Outbound), dort dann unter Outbound NAT Mode - Hybrid Outbound NAT rule generation.
(Automatic Outbound NAT + rules below) markieren und eine Rule für das Transfernetz des Roadwarrior-Runnels anlegen.Damit sind wir auch beim wichtigsten Punkt. FritzBoxen kennen für Wireguard (genau wie auch schon für IPSec) kein separates Transfernetz. Alle anderen Wireguard-Tunnel jedoch schon.
Daher brauchst Du für Roadwarrior-Tunnel das Transfernetz, der Tunnel zwischen FB und pfsense hat aber keines.
Seitens der pfsense benötigst Du dann auch noch Firewall-Rules unter Firewall / Rules / WireGuard. Manche Anleitungen verorten diese Rules nicht unter Firewall / Rules / WireGuard sondern unter dem Transfertunnel (z.B. Firewall / Rules / WGTUN0). Das ist meines WIssens nach aktuell aber nicht mehr der richtige Weg.
Dort musst Du dann pasende Rules anlegen, passend für die Zielrechner und Ports die du erreichen willst. Also etwa eine Regel die TCP-Port 22 erlaubt für einen Server den du vom anderen Ende des Tunnels per SSH erreichen willst (also z.B. via Roadwarrior vom Notebook aus im hinter der pfsense. Hast du dort nur eine rule die ICMP erlaubt kannst du den zwar anpingen aber hast immer noch keine Erlaubnis per ssh (weil das ist ja TCP) den SSH-Server zu erreichen.
-
@TheBlackOne said in VPN Point to Site ICMP funktioniert, TCP nicht:
Das ist alles was ich für WG an der FritzBox konfiguriert habe.
Das ist nicht korrekt, da der Assistent das macht. Wie gesagt, es ist der andere Button, der die Tunnel-Config auf Seite der Fritzbox anzeigt. Und da darf nur die IP der FB auftauchen, die musst Du nämlich in der Config von der anderen Seite schon dort eintragen.
-
Hier brauche ich glaube ich noch mal ein Auffrischung: Bisher dachte ich, wenn Ping funktioniert, dann ist zumindest bei dem Thema Routing/NAT alles passend konfiguriert und meine Probleme liegen eher bei Firewall, MTU Size etc. Irre ich mich da?
-
Ich hänge hier auch mal noch den die Packet Capture Ausgaben von den beiden Tunnelinterfaces auf der pfSense dran. Es wird vom VPN-Client (10.111.111.194) der Homeserver (192.168.178.40) erst gepingt und dann versucht eine https Verbindung zu Port 8096 aufzubauen.
Protokoll von "WGtoHome" das Interface der pfSense mit der Fritzbox auf der anderen Seite
10:18:29.528761 IP 10.111.111.194 > 192.168.178.40: ICMP echo request, id 1629, seq 1, length 64 10:18:29.544324 IP 10.111.111.18 > 10.111.111.194: ICMP echo reply, id 1629, seq 1, length 64 10:18:30.641733 IP 10.111.111.194 > 192.168.178.40: ICMP echo request, id 1630, seq 1, length 64 10:18:30.657190 IP 10.111.111.18 > 10.111.111.194: ICMP echo reply, id 1630, seq 1, length 64 10:18:31.769912 IP 10.111.111.194 > 192.168.178.40: ICMP echo request, id 1631, seq 1, length 64 10:18:31.785601 IP 10.111.111.18 > 10.111.111.194: ICMP echo reply, id 1631, seq 1, length 64 10:18:38.241731 IP 10.111.111.194.42492 > 192.168.178.40.8096: tcp 0 10:18:38.248959 IP 10.111.111.194.42500 > 192.168.178.40.8096: tcp 0 10:18:38.257544 IP 10.111.111.18.8096 > 10.111.111.194.42492: tcp 0 10:18:38.264558 IP 10.111.111.18.8096 > 10.111.111.194.42500: tcp 0 10:18:39.249772 IP 10.111.111.194.42492 > 192.168.178.40.8096: tcp 0 10:18:39.249794 IP 10.111.111.194.42500 > 192.168.178.40.8096: tcp 0 10:18:39.262905 IP 10.111.111.18.8096 > 10.111.111.194.42492: tcp 0 10:18:39.278293 IP 10.111.111.18.8096 > 10.111.111.194.42500: tcp 0 10:18:41.242700 IP 10.111.111.194.42500 > 192.168.178.40.8096: tcp 0 10:18:41.242733 IP 10.111.111.194.42492 > 192.168.178.40.8096: tcp 0 10:18:41.278328 IP 10.111.111.18.8096 > 10.111.111.194.42492: tcp 0 10:18:41.293476 IP 10.111.111.18.8096 > 10.111.111.194.42500: tcp 0 10:18:45.293411 IP 10.111.111.18.8096 > 10.111.111.194.42500: tcp 0 10:18:45.293509 IP 10.111.111.18.8096 > 10.111.111.194.42492: tcp 0
Protokoll von "WGfromInternet" das Interface der pfSense mit den Tunneln zu den Endgeräten irgendwo in freier Wildbahn
10:20:37.481752 IP 10.111.111.194 > 192.168.178.40: ICMP echo request, id 1665, seq 1, length 64 10:20:37.497618 IP 10.111.111.18 > 10.111.111.194: ICMP echo reply, id 1665, seq 1, length 64 10:20:38.601706 IP 10.111.111.194 > 192.168.178.40: ICMP echo request, id 1666, seq 1, length 64 10:20:38.617664 IP 10.111.111.18 > 10.111.111.194: ICMP echo reply, id 1666, seq 1, length 64 10:20:39.728646 IP 10.111.111.194 > 192.168.178.40: ICMP echo request, id 1667, seq 1, length 64 10:20:39.744584 IP 10.111.111.18 > 10.111.111.194: ICMP echo reply, id 1667, seq 1, length 64 10:20:44.848783 IP 10.111.111.194.47004 > 192.168.178.40.8096: tcp 0 10:20:44.848897 IP 10.111.111.194.47002 > 192.168.178.40.8096: tcp 0 10:20:45.841665 IP 10.111.111.194.47002 > 192.168.178.40.8096: tcp 0 10:20:45.849767 IP 10.111.111.194.47004 > 192.168.178.40.8096: tcp 0 10:20:48.041692 IP 10.111.111.194.47002 > 192.168.178.40.8096: tcp 0 10:20:48.041751 IP 10.111.111.194.47004 > 192.168.178.40.8096: tcp 0
Die Firewallregeln sind momentan für die Wireguard Interfaces Any Any. Auch unter Firewall / Rules / WireGuard ist erstmal Any Any konfiguriert.
-
@TheBlackOne said in VPN Point to Site ICMP funktioniert, TCP nicht:
Bisher dachte ich, wenn Ping funktioniert, dann ist zumindest bei dem Thema Routing/NAT alles passend konfiguriert und meine Probleme liegen eher bei Firewall, MTU Size etc. Irre ich mich da?
Nicht so ganz. Wie du schon im Titel geschrieben hattest, sind das verschiedene Protokolle (ICMP und TCP). TCP ist anders als ICMP "stateful". D.h. die Pakete müssen den Router in einer bestimmten Abfolge passieren. Die Verbindung muss mit einem SYN Paket geöffnet werden, dann lässt der Router SYN-ACK aus der anderen Richtung durch, usw.
Bei ICMP ist das nicht relevant.So führt beispielsweise ein asymmetrisches Routing zu einem Nicht-funktionieren von TCP. ICMP beeinträchtigt das nicht.
Asymmetrisches Routing bedeutet, dass die Pakete in der einen Richtung (Request) einen anderen Weg nehmen als in der entgegengesetzten (Respond).
In der pfSense ist ein solches Problem im Firewall Log sichtbar, wenn TCP Pakete mit anderen Flags als S oder SEC blockiert werden.
Voraussetzung ist, dass das Logging der Default Block Rule aktiviert ist. -
Bei AVM Kisten muss man doch noch NetBios über VPN zulassen für SMB Zugriff.
Nicht das hier mal wieder mehr hinter steckt als der Name vermuten lässt.
Mal einschalten und den Tunnel neu aufbauen.