Kleine "private" Cloud mit pfSense als Firewall
-
@m0nji Danke für deine ausführliche Erläuterung!
Ich habe meine Konfiguration entsprechend berichtigt.
Was ich jedoch noch nicht so ganz verstehe:
Wenn nun auch das LAN Interface in der pfSense auf DHCP läuft, wie kann ich dann Regeln für die Clients definieren? Im Heimnetz würde man ja eigentlich die Clients an die LAN Schnittstelle bringen, dort dann entsprechend von der Sense den DHCP Server laufen lassen und den Clients über das LAN Interface die Firewall Regeln vorschreiben. Nun ist das mit dem DHCP Server der Sense in der Hetzner Umgebung natürlich nicht gegeben, aufgrund der Hetzner Netzwerk-Struktur der Cloud Instanzen.Wenn ich nun jedoch dem Windows Client wie folgt das Gateway und den DNS Server vorgebe, dann kann dieser noch immer weder direkte IP Adressen noch domains singen bzw. erst garnicht auflösen.
EDIT: Ich habe das Problem gefunden. Ich vermutete ein Problem beim NAT Mapping und dem war auch so. Das Mapping war ausgegraut mit einem X davor. Als ich dann die Regel anwählte und nochmal auf "Hybrid Outbound NAT rule generation." stellte, ging es nach einem Klick auf save :) D.h. der Client ist nun online mit deaktiviertem public IP Interface unter dem Gateway 10.38.0.1
Nur bleibt die Frage nach der Regeldefinition in der pfSense. Bleibt es dann bei der "bekannten Logik", dass ich Firewall Regeln für das LAN Interface definiere, welche dann für alle Clients in dem Subnetz 10.38.10.0/24 gelten? :) -
wenn DNS nicht funktioniert, hast du vielleicht die Access List Einstellungen vergessen?!
Funktioniert eine Auflösung direkt über die pfSense unter Diagnostic --> DNS Lookup? -
@exuded said in Kleine "private" Cloud mit pfSense als Firewall:
Nur bleibt die Frage nach der Regeldefinition in der pfSense. Bleibt es dann bei der "bekannten Logik", dass ich Firewall Regeln für das LAN Interface definiere, welche dann für alle Clients in dem Subnetz 10.38.10.0/24 gelten? :)
Was möchtest du denn noch machen? Sobald die Clients das richtige Gateway nutzen, bleibt es natürlich dabei, dass die pfSense für die Regeln zuständig ist.
-
@m0nji
Der Anwendungsfall wäre:
Mehrere Clients hinter dem pfSense Gateway sollen mit verschiedenen OpenVPN Zugängen erreichbar gemacht werden. Jedoch nur auf bestimmten Ports. Zugleich soll der Nutzer mit einem OpenVPN Zugang für Client 1, nicht den Client 2 sehen können. -
Ja du kannst dann per Remote via OpenVPN zur pfsense connecten und über das OpenVPN Interface dann die Regeln setzen um in das LAN Netz zu springen (deine Clients). Ich mache das aktuell zwar nicht via OpenVPN sondern mit IPsec aber regeltechnisch das gleiche.
-
@m0nji Danke für den Hinweis :)
Gibt es dann in der Regelsetzung des OpenVPN Interfaces auch die Möglichkeit "OpenVPN Nutzer 1" nur auf Client 1 zuzulassen sowie "OpenVPN Nutzer 2" nur auf Client 2? Ein Sprung ins komplette LAN Netz wäre dann m.E. nicht so gut -
Kann Hetzner denn den Zugriff der Server untereinander blocken?
Denn sonst bringt die das nicht so viel.Dann verbindet sich halt Server A mit Server B direkt und richtet Unheil an.
-
Das stimmt. Sowas wäre natürlich unschön.
Ohne bei Hetzner nachgefragt zu haben gehe ich mal davon aus, dass Hetners Lösung dafür in den verschiedenen Subnetze besteht.
Nur kann ich in der pfSense weitere LAN Interfaces anlegen, sodass je Subnetz ein LAN Interface in der pfSense besteht? -
@exuded said in Kleine "private" Cloud mit pfSense als Firewall:
@m0nji Danke für den Hinweis :)
Gibt es dann in der Regelsetzung des OpenVPN Interfaces auch die Möglichkeit "OpenVPN Nutzer 1" nur auf Client 1 zuzulassen sowie "OpenVPN Nutzer 2" nur auf Client 2? Ein Sprung ins komplette LAN Netz wäre dann m.E. nicht so gutJein....so lange du bei OpenVPN ebenfalls auf DHCP setzt, wird das schwierig. Du müsstest sicherstellen, dass die Clients eben immer wieder die gleiche IP aus dem OpenVPN Netz bekommen. Ein kurzes googlen brachte das Ergebnis: https://wpcomputersolutions.com/pfsense-set-static-ip-specific-openvpn-client/
@nocling said in Kleine "private" Cloud mit pfSense als Firewall:
Kann Hetzner denn den Zugriff der Server untereinander blocken?
Denn sonst bringt die das nicht so viel.Dann verbindet sich halt Server A mit Server B direkt und richtet Unheil an.
Hetzner bietet zusätzlich eine Firewall an allerdings noch im Beta Status. Hier wird auch geschrieben, dass es noch nicht für die privaten Netze funktioniert: https://docs.hetzner.com/de/cloud/firewalls/faq/
Also ja, spätestens wenn du dich per RDP auf Client 1 verbunden hast, steht dir theoretisch der Weg zu Client 2 frei. Könnte man umgehen, wenn man die Subnetze kleiner macht und die Clients dann in unterschiedliche Subnetze packt.EDIT: man muss die Subnetze noch nicht mal kleiner machen. Man hat ja noch 253 weitere freie 24er Netz im 10.38.er Netz.
Wenn also Windows Client 1 im 10.38.20.0/24 ist und Windows Client 2 im 10.38.30.0/24 Netz ist, kannst du wiederum über die pfsense die Regeln setzen. Somit umgehst du auch gleich, dass du von den Windows Clients auch auf die pfSense kommst. 50 Clients möchte ich so aber nicht verwalten, da dies auch 50 zusätzliche Interfaces in der pfsense heißen würden. Aber das hat hier nichts mehr mit Hetzner zu tun. Innerhalb eines Subnetzes greift nie eine Firewall ein... -
@m0nji said in Kleine "private" Cloud mit pfSense als Firewall:
Könnte man umgehen, wenn man die Subnetze kleiner macht und die Clients dann in unterschiedliche Subnetze packt.
Wenn ich dann jeweils ein /32 Subnetz pro Client bei Hetzner anlegen würde, wie könnte ich dann jedes einzelne Subnetz als LAN Interface in die pfSense einbinden? Ich brauche maximal 4, wahrscheinlich aber nur 2 Clients bzw. 2 Subnetze mit jeweils 1 Client
-
@exuded
Noch mal zum Verständnis. Warum müssen die Windows Clients überhaupt voneinander isoliert werden? Der OpenVPN User hat doch sicher nur RDP Account für einen der 4 Server? -
@m0nji
Also eigentlich wird nichtmal der RDP Zugang benötigt, sondern nur der Zugang zu einem bestimmten Port um Daten via Python Script auf dem Rechner des Users herunterzuladen.
Der RDP Zugang natürlich nur für mich als Admin, aber das kann ich ja dann sicherstellen, indem ich den RDP Zugang nicht weitergebe. -
@exuded
dann spar dir den Quatsch mit den Subnetzen und setze die Regeln in der Windows Firewall des jeweiligen Windows Clients. So das die Windows Clients untereinander nicht kommunizieren können.Im OpenVPN Server musst du halt nur sicherstellen, dass die VPN User immer wieder die gleiche IP aus dem OpenVPN Netz bekommen. In den pfSense Rules auf dem OpenVPN Interface gewährst du dann beispielsweise:
OpenVPN User 1 (192.168.10.10) Zugriff über Port 443 (Beispiel Port) zu Windows Client 1 (10.38.10.2) -
@m0nji
Das war nun auch der Plan.
Allerdings bekomme ich es in dem Hetzner Setup nicht hin, dass ein User via OpenVPN auf die Sense einhält und dann bspw. per RDP auf den anderen Windows Client hinter der Sense im Hetzner Netzwerk... Das OpenVPN Tunnel Netzwerk ist als 10.0.0.0/24 und das lokale Netz im VPN Server ist eingerichtet als 192.168.1.0/24. Ist hier vllt der Fehler? Muss das Netz übereinstimmen mit dem 10.38.10.0/24 Netz?
Ich kann, wenn per VPN verbunden als Nutzer nichts pingen, außer der 10.0.0.1.EDIT: Lösung lag in den Einstellungen des OpenVPN Servers. Für den LAN Access benötigte es unter "Advanced Configuration" des OpenVPN Servers den Eintrag "push "route 10.38.10.0 255.255.255.0"
Danach war die RDP Verbindung zum Windows Client unter 10.38.10.2 dann direkt möglich :) -
Hallo nochmal :) @m0nji @NOCling
Kann mir jemand erklären, weshalb der PC hinter der pfSense via VPN nun zwar über Remote Desktop erreichbar ist, jedoch ein Ping von einem User PC im VPN an den Windows Pc mit "request timeout" fehlschlägt?
Edit: hat sich erledigt. Es fehlte nur die korrekte windows 10 Firewall Einstellung. -
@JeGr @m0nji @exuded
Ahoi,
ich knüpfe hier noch einmal an die Thematik bei Hetzner mit dem /32 Netz pro Host an.
Ich habe eine pfSense. Ausgehender Traffic Richtung WAN und Traffic untereinander läuft auch über die Maschinen im privaten Netz.
Ich habe jedoch auch einen IPsec Tunnel zwischen pfSense und einer Sophos.
Traffic von den Hetzner Hostsin den Tunnel zur Sophos und alles dahinter ist kein Problem. Traffic von der Sophos bzw. den Maschinen hinter der Sophos in Richtung der Hetzner pfSense und den Hosts hinter der pfSense geht jedoch nicht durch.
Ich denke das Problem ist, dass ich ja kein /24 Netz habe in das ich den gesamten Traffic für die Hosts schicken kann. Die pfSense müsste wohl den Traffic der aus dem Tunnel kommt auch zum Hetzner GW 10.0.0.1 leiten. Da scheitert der ganze Spaß aber wohl aktuell.
Hat jemand ein solches Setup mal aufgebaut bzw. hat einen Tipp zu den nötigen Rules?Besten Dank euch
Grüße
mnt -
@mnt mehrere Fragen:
- Siehst du auf der pfSense den ankommenden Traffic via Diagnostics--> States oder via Firewall Logs?
- Hast du in den ipsec Rules auf der pfSense als Destination das Subnet manuell angegeben oder "LAN Net" ausgewählt? "LAN Net" funktioniert nicht.
- Hast du die Rück-Routen auf den Clients hinter der pfSense bedacht? Diese müssen manuell gesetzt werden solange du noch die Public IPs auf den Clients hinter der pfSense aktiv hast.
-
@exuded said in Kleine "private" Cloud mit pfSense als Firewall:
EDIT: Lösung lag in den Einstellungen des OpenVPN Servers. Für den LAN Access benötigte es unter "Advanced Configuration" des OpenVPN Servers den Eintrag "push "route 10.38.10.0 255.255.255.0"
Das braucht man nicht als Adv. Option. Ein oder mehrere Netze können problemlos bei "LAN networks" angegeben werden und werden auch gepusht. Das als extra Option zu setzen ist Quatsch :)
@mnt said in Kleine "private" Cloud mit pfSense als Firewall:
Traffic von den Hetzner Hostsin den Tunnel zur Sophos und alles dahinter ist kein Problem. Traffic von der Sophos bzw. den Maschinen hinter der Sophos in Richtung der Hetzner pfSense und den Hosts hinter der pfSense geht jedoch nicht durch.
Weil den Kisten die Route zu dem Netz der Sophos fehlt?
@mnt said in Kleine "private" Cloud mit pfSense als Firewall:
ich knüpfe hier noch einmal an die Thematik bei Hetzner mit dem /32 Netz pro Host an.
/32 ist doch quatsch. Bei Hetzner ein LAN zu definieren mit /32? Was soll damit erreicht werden, mit /32 ist ja nur EIN Host adressiert, nicht mehrere, kein Routing etc. Wie soll das konfiguriert sein?
-
Das private Hetzner Netz lautet 10.0.0.0/24, das Netz hinter der Sophos ist 192.168.0.0/24
Traffic von den Hosts im 10.0.0.0/24 läuft ohne Probleme in Richtung 192.168.0.0/24 Netz. Ping geht durch.
@m0nji Diese Richtung sehe ich dann auch in Diagnostics --> States.
Traffic von 192.168.0.0/24 (Sophos) nach 10.0.0.0/24 (pfSense) geht nicht durch.In den P2 Settings und Firewall Rules habe ich das Netz manuell mit 10.0.0.0/24 angegeben. Das "LAN Net" wäre ja nur 10.0.0.0/32 - soweit klar.
Die Clients hinter der pfSense haben keine Public IP. Die haben nur das private Netz und bekommen vom Hetzner DHCP beispielsweise 10.0.0.3/32 zugewiesen mit dem Hetzner Default Gateway 10.0.0.1. Von da läuft der Traffic auch problemlos Richtung Sophos:
Routenverfolgung zu .... [192.168.0.12] über maximal 30 Hops: 1 3 ms 2 ms 3 ms 10.0.0.1 2 1 ms <1 ms <1 ms 10.0.0.2 3 * * * Zeitüberschreitung der Anforderung. 4 15 ms 16 ms 15 ms ..... [192.168.0.12]
@JeGr Das definierte Hetzner Netz ist ein /24. Die Cloud Server bekommen als Subnetzmaske vom Hetzner DHCP 255.255.255.255 also /32. Das kann ich ja nicht beeinflussen soweit ich weiß.
-
@mnt
Leider immer noch nicht ganz eindeutig.
Folgendes bitte prüfen:Hetzner Cloud Console:
Hetzner empfiehlt ein 16er Netz anzulegen und darin dann deine 24er Subnetze. Ob das wirklich eine Auswirkung hat, weiß ich bis heute auch nicht aber es ist die Empfehlung!
Meine Server sind im Subnetz 10.38.10.0/24
Die Hetzner pfSense hat die 10.38.10.1
Hetzner pfSense:
Wichtig bei dieser Regel, nicht LAN Net auszuwählen, da LAN Net eben nur eine 32er Maske hat. Damit ist erstmal pauschal gewährleistet, dass deine Server bei Hetzner überall hin kommen.
Die Phase2 hattest du ja augescheinlich korrekt angelegt.Sofern du keine Public IPs auf den Clients hinter der Hetzner pfSense hast, sollten dort auch keine weiteren Routen notwendig sein.
Auf Sophos Seite muss dann natürlich noch eine Firewall Regel vom IPsec Interface zu deinen Clients/Server hinter der Sophos