leidiges OpenVPN Thema

Started by servantofevil, September 22, 2019, 06:55:27 PM

Previous topic - Next topic
Hallo,

umso mehr man sucht, umso mehr findet man ABER alles was man versucht ist zum scheitern verurteilt :(

mein vorhaben ist eigentlich ein ganz Einfaches:

LAN A - OPNSense OpenVPN - Modem - Internet - Fritzbox - Client LAN B
          192.168.0.0/24                      10.0.8.0/24        192.168.2.0/24

nun möchte ich wie viele andere auch, von allen Clients in LAN A auf alle Clients in LAN B zugreifen und umgekehrt.

Dazu habe ich alles fein säuberlich nach Anleitung(en) installiert und konfiguriert und es wurden folgende Dateien erzeugt:

die Server.conf sieht derzeit so aus

dev ovpns1
verb 3
dev-type tun
dev-node /dev/tun1
writepid /var/run/openvpn_server1.pid
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp
cipher AES-256-CBC
auth SHA512
up /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkup
down /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkdown
local MEINE DERZEITIGE WAN IP (wird automatisch eingetragen)
client-disconnect "/usr/local/etc/inc/plugins.inc.d/openvpn/attributes.sh server1"
tls-server
server 10.0.8.0 255.255.255.0
client-config-dir /var/etc/openvpn-csc/1
username-as-common-name
auth-user-pass-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify user 'Local Database' 'false' 'server1'" via-env
tls-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify tls 'OpenVPN+Server+Zertifikat' 1"
lport 1194
management /var/etc/openvpn/server1.sock unix
push "route 192.168.0.0 255.255.255.0"
client-to-client
route 192.168.2.0 255.255.255.0
ca /var/etc/openvpn/server1.ca
cert /var/etc/openvpn/server1.cert
key /var/etc/openvpn/server1.key
dh /usr/local/etc/dh-parameters.4096.sample
tls-auth /var/etc/openvpn/server1.tls-auth 0
comp-lzo adaptive
passtos
topology subnet



zusätzlich noch "Client Specific Override" - Datei /var/etc/openvpn-csc/1/vpnuser

iroute 192.168.2.0 255.255.255.0


Das Ergebnis ist, dass ich zwar aus LAN B auf alles pingen kann in LAN A.
Von LAN A aus komme ich jedoch nicht ins LAN B.

Von der OPNSense selbst kann ich 10.0.8.2 pingen (also komme ich so schon mal ans Ende des Tunnels)
Ein Ping auf den entsrechenden Rechner der per OpenVPN Client die Verbindung herstellt ist jedoch nicht möglich.

Netstat -rn zeigt mir:

192.168.2.0/24   10.0.8.2  UGS   ovpns1

das schient mir auch korrekt so?!

ein Dauerping von einem Client in LAN A auf Client LAN B läuft ins Leere, aber firewall sagt:

ovpns1      Sep 22 18:52:42   192.168.0.6:61046   192.168.2.36:9630   tcp   let out anything from firewall host itself   



wo kann ich bei der Analyse weiter ansetzen?

September 22, 2019, 08:12:48 PM #1 Last Edit: September 22, 2019, 08:18:00 PM by banym
Hast du Site-to-Site VPN mit der Fritzbox konfiguriert oder hast du hinter der Fritzbox nur einen Client im LAN B der sich mit der OpenVPN verbindet?

Twitter: banym
Mastodon: banym@bsd.network
Blog: https://www.banym.de

hab einen Client hinter der Fritte, da DS-Lite

O.k dann ist den Problem aber ein anderes.
Nur weil ein Client eine Verbindung aufbaut, hat das Netz auf der anderen Seite keinen Zugriff.

Am einfachsten ist es, Du lässt die Fritzbox einen Tunnel per IPsec mit der Opnsense aufbauen. Das kann die Fritzbox selbst. https://avm.de/service/vpn/tipps-tricks/fritzbox-mit-einem-firmen-vpn-verbinden/

Sonst müsstest du hinter der Fritzbox einen OpenVPN Dienst mit Site-to-Site konfigurireren und den Rechner als Router konfigurieren. Diesen Router musst du dann all deinen Clients als statische Router für das andere Netz bekannt machen. Das macht meiner Erfahrung viele Probleme, manche Geräte können keine statischen Routen oder ähnliches. Zusätzlich möchtest du einen normalen Rechner nicht als Router verwenden.

Die OpenVPN Client Verbindung ist per Default erstmal nur dazu gedacht einem Client in ein anderes Netzwerk zu gewähren, aber dabei nicht sein lokales Netzwerk freizugeben. Das wäre auch in den meisten Fällen eher Subergau.
Twitter: banym
Mastodon: banym@bsd.network
Blog: https://www.banym.de

> Am einfachsten ist es, Du lässt die Fritzbox einen Tunnel per IPsec mit der Opnsense aufbauen. Das kann die Fritzbox selbst. https://avm.de/service/vpn/tipps-tricks/fritzbox-mit-einem-firmen-vpn-verbinden/

Richtig kann sie, die Cipher sind aber grottig. Toll ist die Verschlüsselung da nicht.

> hab einen Client hinter der Fritte, da DS-Lite

Und da ist auch nur ein einziger Client oder wie stellt sich das dar? Das sind dann ganz andere Voraussetzungen!

> Sonst müsstest du hinter der Fritzbox einen OpenVPN Dienst mit Site-to-Site konfigurireren und den Rechner als Router konfigurieren. Diesen Router musst du dann all deinen Clients als statische Router für das andere Netz bekannt machen. Das macht meiner Erfahrung viele Probleme, manche Geräte können keine statischen Routen oder ähnliches. Zusätzlich möchtest du einen normalen Rechner nicht als Router verwenden.

Nö, man könnte problemlos eine zweite OPNsense hinter die Fritzbox hängen. DS lite hin oder her. Hat die A Seite vielleicht auch IPv6? Dann könnte man den Tunnel selbst nämlich ganz entspannt per v6 aufbauen und das v4 private Netz darüber tunneln.

"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.

So übel sind die Verschlüsselungen bei aktuellen nicht mehr, ich würde aber generell VPN mit Firtzbox vermeiden.
Habe zwangsweise eine mit AES256/SHA512 DH15 angebunden, das ist meiner Mainung vertretbar und auch wohl noch nicht das Maximum was aktuelle Fritz.Boxen könnten. Die Doku dazu ist jedoch ziemlich veraltet und nicht aktiv gepflegt.

Aber da keine Regeln und andere Funktionen nutzbar sind, nicht mein Fall.


Twitter: banym
Mastodon: banym@bsd.network
Blog: https://www.banym.de

also hinter der Fritte ist ein Client aktiv, der das Routing übernehmen soll/kann.

Das Schlimme ist...das Ganze hat bereits funktioniert...dann hab ich aber die OPNSense zerschossen, neu installiert (auf Dev aktuelle Version) und seit dem bekomme ich das Ganze nicht mehr ans Laufen.

Daher frag ich mich, warum ich von dem Client Zugang erhalte und direkt von der OPNSense auf diesen Client nicht?!
Ich komme doch schon durch den Tunnel ans andere Ende (10.0.8.2) - aber die Route in der OPNSense selbst scheint ignoriert zu werden?! Oder müsste da als Gateway die 10.0.8.1 stehen statt der 10.0.8.2?! dann gibts hier wohl einen Bug.

Ich hatte in der ursprünglichen Konfiguration der virtuellen Schnittstelle opvns1 auch ein Interface zugewießen...jedoch klappt es auch damit nicht...oder meine Konfig war eine ganz andere.

Je nachdem ob ich in der Server Konfig ein eigenes und ein Remote Netz mitgebe, funktioniert auch Remote seitig nichts.


Quote from: servantofevil on September 22, 2019, 06:55:27 PM
ein Dauerping von einem Client in LAN A auf Client LAN B läuft ins Leere, aber firewall sagt:

ovpns1      Sep 22 18:52:42   192.168.0.6:61046   192.168.2.36:9630   tcp   let out anything from firewall host itself   



wo kann ich bei der Analyse weiter ansetzen?

Ich würde einfach mal den angenommenen Lauf der Pakete der Reihe nach überprüfen.
Die Firewall verlassen die Pakete ja laut Log. Danach sollten die Pakete ja am VPN Endpunkt ankommen.
Somit mal auf dem VPN Client am Interface lauschen und schauen was ankommt.
tcpdump -n -i <interface>
Kannst ja auch noch mit Filtern einschränken.
Wenn du eintreffende Pakete (z. B. ICMP Echo Requests) siehst aber keine Replies, am Interface welches die Pakete im nächsten Schritt verlassen sollten lauschen ...usw.
So kann man eingrenzen wo die Pakete geblockt werden bzw. eine Route fehlt etc.