Hilfe zu openvpn

Started by kruemelmonster, July 28, 2022, 01:37:39 PM

Previous topic - Next topic
July 28, 2022, 01:37:39 PM Last Edit: July 28, 2022, 01:59:28 PM by kruemelmonster
Hallo *,

ich bin gerade dabei mich in das Thema VPN einzuarbeiten.

Ich habe ein openvpn erstellt. Mit meinem Funktelefon komme ich in das vpn herein. Laut "openvpn für Android" ist die Initialisierung komplett durchgelaufen.
Der Verbindungsstatus der opnsense zeigt folgendes:

Reale Adresse           Virtuelle Adresse    Verbunden seit    
46.114.170.196:45590    10.100.100.6         2022-07-28 13:15:04


Weiter komme ich nicht. Allerdings steht da auf der Sense, das bei einer Verbindung über VPN bei der IP-Adresse ein "C" stehen soll. Das fehlt bei mir.

Im VPN-Server habe ich als Tunnelnetzwerk die 10.100.100.0/24 eingestellt. Außerdem 192.168.8.0/24 als lokales Netzwerk sowie 192.168.8.3 als DNS-Server.

Außerdem habe ich noch die Firewallregeln laut dieser Anleitung https://docs.opnsense.org/manual/how-tos/sslvpn_client.html# angelegt. Danach müsste ich doch eigentlich zumindest über das VPN rein und auch weiter ins Internet kommen?

Im Protokoll vom openvpn-Server findet sich noch diese Warnung:
'auth' is used inconsistently, local='auth SHA256', remote='auth SHA2-256'
Ist die eventuell ursächlich für den Mißerfolg?

Hat jemand eine Idee, was ich da verkehrt mache?

Danke

Mini-PC; Celeron N5105; 16GB RAM; 4 x i226

> 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA2-256'

Hast du in der OPNsense SHA2-256 statt SHA-256 ausgewählt? Das kannst du recht leicht ändern, entweder dein Client oder der Server hat hier kein Match.

Ansonsten ist das ein wenig Mager an Infos, ich lese da jetzt einfach mal raus, dass dein LAN wohl 192.168.8.0/24 ist und du 10.100.100.0/24 als VPN definiert hast? Oder welche Netze spielen hier eine Rolle?

Ansonsten ist erstmal die Frage ob das VPN per se funktioniert. Dazu wäre es gut, am Androiden erstmal zu schauen ob du bspw. wenn es die Regeln erlauben die Sense selbst erreichen oder etwas im LAN aufmachen kannst bevor du schaust ob Internet geht.

Für Internet via VPN der Sense muss im Outbound NAT auch das Netz vom VPN mit berücksichtigt sein. Das hängt aber davon ab ob du das auf automatisch hast oder manuell konfiguriert. Leider hast du auch keine Regeln oder sonstigen Screens gepostet bei denen man sehen könnte wie dein VPN oder deine Regeln konfiguriert sind. Daher wirds schwer das zu erraten wo der Fehler liegt.

Darum würde ich erstmal sehen ob der eingewählte Client überhaupt irgendein lokales Gerät erreicht und dann weiter prüfen ob er DNS bekommt, ob er ins Internet kommt, etc. Auch die Regeln dazu ansehen im Livelog ob irgendwas geblockt wird hilft da sehr!

Cheers
\jens
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

Quote from: JeGr on July 28, 2022, 05:04:53 PM
> 'auth' is used inconsistently, local='auth SHA256', remote='auth SHA2-256'

Hast du in der OPNsense SHA2-256 statt SHA-256 ausgewählt? Das kannst du recht leicht ändern, entweder dein Client oder der Server hat hier kein Match.

Auf den ersten Blick nicht. Habe mehrfach in der opnsense nachgesehen. Dort steht alles auf SHA256. Muss mal auf der Android-Seite nachsehen.

Aber das ist seltsamerweise jetzt nicht mehr das absolute Problem. War es vorher anscheinend auch nicht. Ich habe mich da wohl in meinen eigenen Regelwerken und vlans verknotet. Die Warnung tritt noch auf aber ich kann inzwischen einiges machen:

Ich komme in das VPN rein und auch zum Internet wieder raus. Ich kann per IP-Adresse auch meine internen Systeme erreichen (z. B. meine Rezept-Datenbank auf dem Raspi). Aber mein eigentliches Ziel ist, das VPN mittels DNS (mit pi-hole) zu nutzen. Der DNS-Server ist auf dem gleichen Raspi wie auch die Rezept-DB. Nur die Namensauflösung bekomme ich momentan noch nicht auf den Raspi umgebogen.

Also: 10.100.100.0/24 ist das OpenVPN, der Client bekommt die 10.100.100.6/24. Soweit gut, Verbindungen wie bereits beschrieben auch gut. Wie bekomme ich aber dem opnvpn beigebracht, das es doch bitteschön DNS-Anfragen an die Adresse 192.168.8.3 senden möge, amit der pi-hole dort auch entsprechend filtern kann und die lokale Namensauflösung funktioniert?
Mini-PC; Celeron N5105; 16GB RAM; 4 x i226

> Wie bekomme ich aber dem opnvpn beigebracht, das es doch bitteschön DNS-Anfragen an die Adresse 192.168.8.3 senden möge

Normalerweise über den VPN Server. Solltest du auf dem Client nachsehen können, welcher DNS hier vorliegt, könnte das helfen. Sonst mal im VPN Log auf dem Client lesen, er sollte da per Push vom Server die DNS Daten und die DHCP Domain mitbekommen. Die bekommt er via

VPN / OpenVPN / Server
-> DNS Default Domain
-> DNS Domain Search List (für den Fall dass es mehrere lokale Domains gibt, die man finden können soll)
-> DNS Servers

Jeweils Haken und Werte ausfüllen. Dann sollten diese auch per Push an den Client rausgehen. Sollte das korrekt ausgefüllt sein und der Client es sauber bekommen, müsste in seinem Log (mit verbosity 3) sowas auftauchen:

<Datum> PUSH: Received control message: 'PUSH_REPLY,route <LAN> <LAN Broadcast>,dhcp-option DOMAIN lab.test,dhcp-option DNS 10.20.30.123,dhcp-option DNS 10.20.30.124,block-outside-dns,register-dns,route-gateway 10.100.100.1,topology subnet,ping 10,ping-restart 60,ifconfig 10.100.100.6 255.255.255.0,peer-id 0'

Das ist jetzt wie gesagt nur "grob geschätzt" was das in deinem Fall sein sollte, ich hab hier als Dummy die DNS Server 10.20.30.123/124 und die Domain lab.test durchgeschoben und der Client kommt mit 10.100.100.6 an.

Cheers
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

die Push-Mitteilung wird sauber umgesetzt:
2022-08-02 21:18:25 PUSH: Received control message: 'PUSH_REPLY,route 192.168.8.0 255.255.255.0,dhcp-option DNS 192.168.8.3,route 10.100.100.1,topology net30,ping 10,ping-restart 60,ifconfig 10.100.100.6 10.100.100.5,peer-id 1,cipher AES-256-GCM'

DNS-Server: 192.168.8.3, 192.168.8.3, 192.168.8.3, Domäne: dom.tld

ich verwende "OpenVPN für Android". Da kann ich manuell auch zusätzlich den DNS-Server eintragen, weshalb er wohl hier auch 3 mal auftaucht.

Allerdings habe ich in meinem Netzwerk alles auf vlan umgestellt, mit einer möglicherweise suboptimalen DNS-Konfiguration. Zusätzlich sind alle vlans ausgehend per Firewall dicht gemacht, so das ich nur die notwenigen Ports zu öffnen gedenke - was bisher auch funktioniert.

Ich verwende unbound auf der opnsense unter 192.168.8.1; nur lokale Einträge für's Heimnetz und Zugriff nach außen über DOT. Zusätzlich den pi-hole auf 192.168.8.3 (wegen der DNS-Filter) mit den unbound als Forwarder. Alle meine Systeme hängen im 8-er Subnetz, das geht ohne Probleme - spricht, der pi-hole filtert korrekt, lokal wird alles sauber von unbound als Forwarder aufgelöst.
Zusätzlich habe ich in den Netzen jeweils eine Weiterleitung für DNS. Alles was DNS als Ziel hat aber nach außen, wird auf die opnsense umgeleitet. Scheint zu funktionieren, denn ein "dig domain.x.y 8.8.8.8" wird vom internen DNS-Server beantwortet.

Das VPN hat das 10.100.100.0/24 und zusätzlich am FunkTel. im laufenden VPN noch die Routen 10.100.100.1/32 und 10.100.100.4/30. Mit den beiden Routen kann ich nicht so recht was anfangen. Die Standard-Firewallregeln für openvpn habe ich in der opnsense auch eingerichtet. Soweit geht ja auch alles.

Nur eben die Sache mit dem pi-hole als DNS (192.168.8.3), nach meinem Verständnis müsste der doch aus den vpn erreichbar sein, weil ich im openvpn-Server das Subnetz 192.168.8.0/24 als lokales Netz und die opnsense doch zwischen den Subnetzen routet? Ausgehend habe ich das vlan 192.168.8.0/24 mit Zielport 53 Richtung pi-hole für alle DNS-Anfragen sofern nicht vom WAN kommend geöffnet. Irgendwie steige ich da nicht durch.


Mini-PC; Celeron N5105; 16GB RAM; 4 x i226