Hallo und frohes Neues zusammen.
Ich habe vor kurzem mir einen VPN zugelegt und habe nun ein paar Fragen dazu wie die Einrichtung funktioniert.
Zu meinem Vorhaben: ich möchte nur einzelne Clients über diesen VPN schicken. Also nicht den gesamten Traffic. Also muss ich ja unter OpenVPN keinen Server sondern einen Client einrichten. So weit so gut, allerdings ist nun da bei der Einrichtung die Frage auf welches Interface ich das lege und wie müssen danach die Firewall Regeln aussehen? Ich hab zwar schon was dazu gelesen, allerdings verstehe ich da nicht ganz in welche Richtung diese gehen sollen?
Vielleicht können wir das ja hier zusammen lösen.
Ich zeichne demnächst noch mal auf wie bei mir der Aufbau ist, da meine OPNsense über proxmox läuft.
Danke
Du legst die Verbindung auf dem WAN Interface an, dazu erstellst du ein Gateway für das VPN.
Dann erstellst du einen Alias unter Firewall und fügst IP oder MAC der Clients dazu. Anschließend erstellst du eine FW Regel vor der default allow des LAN (ggf. auch weitere Interfaces), gibst als Quelle den Alias an und unten bei Gateway das VPN.
Wenn der Tunnel nur v4 kann erstellst du eine weitere Regel für v6, die sämtlichen v6 traffic für den Alias blockt, alternativ machst du die erste Regel auch für v6.
Das war es im Grunde schon...
Okay, dann Probier ich das mal nach meiner Arbeit mal aus.
Wenn ich das richtig gesehen habe, wird das Gateway automatisch mit Erzeugung des Clients erstellt, richtig?
Mir ist auch aufgefallen das in den Logs vom Client drinsteht das die Verbindung abgebrochen wurde.
Kann aber auch an einem falschen Interface liegen natürlich.
Ich schau mir das noch mal an. Ich gebe auf jeden Fall Rückmeldung.
Ich weiß leider nicht mehr genau wie das war... Ich glaube es muss ein Interface mit dem VPN erstellt werden, dann gibt es auch ein Gateway...
Das Interface erstellst du ja im selben Atemzug.
EDIT
@tiermutter
die v6 Block regel in Richtung in oder out? So weit ich weiss kann mein VPN Betreiber IPv6, aber ich beziehe nur IPv6 und gebe nur IPv4 raus.
Okay, der VPN will keine verbindung aufbauen. Im Log steht CLIENT disconnected...vorgestern hats noch funktioniert.
okay...komisch.
ich hab die tage ne verbindung zum VPN hinbekommen und jetzt geht gar nichts.
einer der errors ist :
event_wait : Interrupted system call (code=4)
oder
MANAGEMENT: Client disconnected
also das war vorher definitiv nicht so und ich weiss auch nicht was ich da so ganz viel anders mache als vorher.
mein VPN Anbieter ist Perfect Privacy und ich hab den Client wie in der Beschreibung angelegt.
Okay, es gibt einen kleinen Teilerfolg zu melden.
Ich bekomm wieder ne Verbindung zum VPN. So weit so gut
Allerdings (so wie ich das sehe) routet das Ganze nicht über den VPN.
Sobald ich die Regel so setze, sehe ich trotzdem noch die deutsche IP.
wir haben das thema schon öfter gehabt, einfach mal die forum suche nutzen (stichwor policy base routing)
@micneu
alles schön und gut, aber die beiträge die ich direkt finde sind entweder auf englisch, oder ich hab keinen schimmer wovon gesprochen wird.
da meine OPNsense ne weile nicht existent war und alles wieder vergessen habe, verstehe ich folgendes richtig:
also ich muss ne allow (pass in richtung in?) Regel aus meinem LAN über den Alias und das VPN IPv4 Gateway erstellen und das Reicht?
Kann ja irgendwo nicht sein...weil wenn ich ne regel habe die in richtung in zeigt, muss ich ja auch ne out regel haben damit der alias auch in die richtung schickt und nicht nur bekommt. oder liege ich da grade auf dem holzweg?
sow wie ich mich errinere:
- vpn anlegen
- interface vom vpn
- outbound nat für das vpn interface
- und dann festlegen wer das vpn interface als gateway verwenden soll
In bedeutet, dass die Regel für einen ANKOMMENDEN Client gewertet wird, was ja auch der Fall ist, denn der Client kommt VOM LAN IN die Firewall. Damit ist es erlaubt und es bedarf keiner weiteren Bearbeitung mit OUT. Der Traffic wird dann also an das VPN Gateway gesendet und nicht über die Default Regel (die ja im Grunde nichts anderes ist als die neue Regel) an das im Routing Table hinterlegte Gateway (WAN).
Outbound NAT braucht es natürlich... Die Firewall Regel wird damit dann ja auch automatisch angelegt, das braucht es also nicht manuell.
Im Outbound NAT wird dann der alias als Source genommen...
und da ist jetzt wieder ne Sache drin, die mich verwirrt.
Wenn ich unter NAT - Outbound die Regel anlegen will, kann ich ja das VPN Gateway nicht auswählen außer ich habe das händisch angelegt.
Ich denke du verstehst worauf ich hinaus möchte. Ich hab meinen VPN auch erst mal nur als Client eingerichtet, und ein Interface zugeordnet. In den LAN Regeln hingegeben, kann ich ein Gateway abweichend vom Standart Gateway angeben
Schade das es keinen Discord gibt wo man mal eben über die genannten Probleme sprechen könnte, aber ich versuche so viele Infos wie möglich zu geben.
Nun, ich mache das ja auch nicht jeden Tag... vielleicht wird die Regel doch nicht automatisch erstellt...
Ich mache mal Screenshots...
Hier die Screenshots...
Die Block v6 Regel halt, weil NVPN kein v6 im Tunnel unterstützt. Sonst würde v6 Traffic am Tunnel über das Default GW gehen.
Daher in der NAT Regel auch nur v4.
Wenn ich so darüber nachdenke, würde v6 Traffic über die GUA selbst dann am Tunnel vorbeigehen, wenn v6 unterstützt wäre... die Regel ist in jedem Fall erforderlich, um GUA / direkten v6 Traffic ins WAN zu blockieren...
Mein Anbieter gibt IPv6 her im VPN.
Das ich den Client auf dem WAN Interface angelegt habe ist ja auch richtig meine ich
Ich probiers morgen mal aus. Danke!
Mach erstmal alles ohne v6, also v6 komplett für den alias blocken.
Nur um erstmal Fehlerquellen zu verringern.
Um v6 können wir uns dann noch kümmern...
Hat funktioniert!
Wunderbar. V6 auch schon aktiv oder noch nicht?
Für v6 hab ich keine Regel angelegt. Somit also nicht erlaubt.
Wobei ich sagen muss, das meine Firewall nur IPv6 bezieht, aber nicht herausgibt.
Könnte man auch ändern, wobei ich nicht weiß worin der Vorteil liegt. Bin auch am überlegen meinen ThinClient als OPNsense zu benutzen, aber das bedarf noch einiger Recherche da ich gelesen habe das die DualCores gerne mal abkacken mit einem 4 Port NIC.
Einen wunderschönen zusammen.
Ich kram den Post mal wieder aus dem Archiv, da mein neues Problem in die selbe Kerbe schlägt.
Ich habe einen VPN zu Mullvad hergestellt, die Verbindung scheint auch zu stehen.
Ich habe ein Gateway für die Verbindung erstellt damit ich Hosts darüber schicken könnte.
Jetzt habe ich ein Outbound NAT erstellt, im LAN ebenfalls die allow rule gesetzt und eine allow any für das jeweilige Netz, wenn ich aber schaue, habe ich immer noch meine deutsche IP Adresse. Übersehe ich was markantes? Ich hab mich jetzt nicht jeden Changelog durchgelesen und steh davor auch grade wie der Ochse vorm Berg.
Du musst in der Allow-Regel auf LAN explizit den VPN-Gateway setzen. Sog. Policy Based Routing.
ich hab eine allow Regel im LAN, als source hab ich nen Alias angelegt wo ich dann alle IP Adressen mit rein werfen kann, auf das entsprechende Gateway.
Hab die Regel aus dem LAN mal angehangen
Und diese Regel steht über der generellen Allow-Regel für alle Clients, die nicht über den Tunnel gehen sollen?
Ne, die stand vorher ganz unten.
Hab sie grade mal einen weiter nach oben geholt. Zumindest kann der Client jetzt keine Domains mehr auflösen.
Zur Info: das ist einfach ne Test VM in Proxmox inkl. GUI damit man damit mal ein wenig spielen kann.
Ping auf 1.1.1.1 klappt, ping auf google.com ergibt nichts, ebenso wie curl google.com.
Interessant das das nicht funktioniert, weil ich den Mullvad DNS im Tunnel mit angegeben habe und "disable routes".
Die Regeln werden, wenn sie "quick" sind, der Reihe nach abgearbeitet und nach dem ersten Match werden keine weiteren Regeln mehr betrachtet.
Deshalb immer Spezielles vor Allgemeinem.
ja das verstehe ich.
Jetzt muss ich nur schauen warum ich keine DNS Auflösung habe :D
Hab mir auch mal nebenher die Dokumentation angeschaut, aber die wirft grade mehr Fragezeichen auf.
okay, also ich bin mir nicht ganz sicher, aber ich habe die Regeln so eingestellt wie in einem Post hier vorher.
Damit habe ich 0, aber auch wirklich 0 DNS Auflösung und das geht mir nicht so ganz in die Birne.
Ich hab den VPN per Wireguard erstellt inkl DNS Eintrag da ich den DNS von Mullvad gerne nutzen mag. Es besteht ein eigenes Gateway.
Vorlage war dieses Video: https://www.youtube.com/watch?v=toB_9F-VTVo
Warum? Ich hab komplett auf dem Schlauch gestanden.
Quote from: diabolo511 on August 07, 2026, 08:08:35 PMokay, also ich bin mir nicht ganz sicher, aber ich habe die Regeln so eingestellt wie in einem Post hier vorher.
Damit habe ich 0, aber auch wirklich 0 DNS Auflösung und das geht mir nicht so ganz in die Birne.
Eine solche Policy-Routing Regel schickt konsequent jeden Traffic, auf welchen sie zutrifft, auf das Gateway. Die könnte auch für DNS Anfragen zutreffen, während das Ziel aber eine lokale IP ist?
Wenn du interne Adressen erreichen möchtest, musst du die Regel so anlegen, dass sie diese nicht erfasst oder für interne Ziele eine eigene Pass-Regel darüber stellen.
Quote from: diabolo511 on August 07, 2026, 08:08:35 PMIch hab den VPN per Wireguard erstellt inkl DNS Eintrag
Was heißt das? Kann man in Wireguard einen DNS eintragen?
Quote from: diabolo511 on August 07, 2026, 08:08:35 PMda ich den DNS von Mullvad gerne nutzen mag.
Wie soll das geschehen?
Soll das nur auf den betroffenen Geräten oder generell gelten?
Quote from: diabolo511 on August 07, 2026, 08:08:35 PMVorlage war dieses Video: https://www.youtube.com/watch?v=toB_9F-VTVo
Na hoffentlich hast du nicht dieselben Fehler gemacht wie dieser Guru. ;-)
Ich pinge standartmäßig ein mal 8.8.8.8 an so wie google.com um zu schauen ob Traffic auch nach außen geht. Da stoße ich ja auf das erste Problem, das ich nicht ganz verstehe. Ein ping auf die reine IP Adresse geht raus, auf die Domain aber nicht.
Ich habe einen Alias über den ich einzelne Clients über den VPN schicken möchte.
Ja, man kann einen DNS Server in Wireguard in die config eintragen.
Welchen Fehler hat der Mann begangen? Wär cool wenn man sowas auflösen kann.
Quote from: diabolo511 on August 07, 2026, 09:03:03 PMEin ping auf die reine IP Adresse geht raus, auf die Domain aber nicht.
Den Grund dafür hast du doch eh schon erkannt. Du kannst keine Hostnamen auflösen, kein DNS.
Quote from: diabolo511 on August 07, 2026, 09:03:03 PMIch habe einen Alias über den ich einzelne Clients über den VPN schicken möchte.
Also nochmal: Je nachdem, welche Regel du sonst noch hast, schickt diese Gateway-Regel möglicherweise auch DNS Requests auf das Gateway.
Hier hast du nichts dazu erklärt.
Ich nehme aber an, dass dein Client so konfiguriert ist, dass er OPNsense als DNS verwendet. D.h. die LAN IP der Firewall.
Nun, wenn du diesen Request auf den VPN Server schickst, wird das Paket dort verworfen, weil da die Ziel-IP unbekannt ist.
Quote from: diabolo511 on August 07, 2026, 09:03:03 PMJa, man kann einen DNS Server in Wireguard in die config eintragen.
Das kenne ich nicht. Wenn dann würde so etwas dem VPN Client, also OPNsense, diesen DNS-Server zuweisen, wenn die Verbindung hergestellt wird.
Das würde aber nur funktionieren, wenn du den lokalen DNS im Forwarder-Modus betreibst. Und ggf. braucht das auch noch eine Route, kommt auf die Ziel-IP an.
Das obige ist vielleicht gar nicht das, was du möchtest. Ob du alle DNS-Anfragen auf Mullvad schicken möchtest, oder nur die im der Clients im Alias, hast du nicht verraten.
Wie auch immer, eine einfache Methode, die Request auf den gewünschten Server und auch über die VPN zu schicken, ist sie einfach mit einer NAT-Regel weiterzuleiten. Allerdings kannst du dann keine lokalen Namen mehr auflösen. Ist das gewünscht, muss du das interne DNS entsprechend konfigurieren. Was verwendest du da?
Quote from: diabolo511 on August 07, 2026, 09:03:03 PMWelchen Fehler hat der Mann begangen? Wär cool wenn man sowas auflösen kann.
Die WAN-Regel, die sicherstellen soll, dass kein Traffic anderswo hingeht als auf den Mullvad Server hat er für eingehenden Traffic erstellt. Die hätte Direction out haben sollen. Erwähnt hat er es.
Überdies bin ich mir gar nicht sicher, ob dies Regel überhaupt funktionieren würde, ob diese die IP Adressen im Alias überhaupt sieht.
Okay für mich war das eigentlich relativ logisch zwecks DNS.
Ich möchte nur, das die VPN Clients den Mullvad DNS nutzen, der Rest geht seinen regulären Weg.
Es sei dazu auch gesagt das ich echt kein Profi bin und auch noch einiges zu lernen hab.
Der Client ist so eingestellt, das der Mullvad DNS über den VPN genutzt werden soll.
Das mit der Gateway Regel muss ich mir selber noch mal anschauen, konnte die Woche über nicht daran arbeiten.