[solved] openVPN Verbindung ohne Netzwerkzugriff

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

[solved] openVPN Verbindung ohne Netzwerkzugriff

Beitrag von 101010 » 13.05.2018 22:47:42

Hallo,

ich möchte mich über VPN an dem Netzwerk meiner Hochschule anmelden, um Literaturrecherche betreiben zu können. Leider haut das nicht hin und ich weiß nicht wieso. Denn der letzte Satz bei der Initialisierung "Initialization Sequence Completed" wird angezeigt. Die Verbindung scheint also zu stehen.

Jetzt öffne ich den Browser und gebe eine Internetseite zum Testen ein: https://openvpn-recherche.bcw-gruppe.de/ und sehe das, was Ihr jetzt seht, wenn Ihr diesen Link benutzt. Ich sollte aber ein grünes rundes Schild sehen, unter dem geschrieben steht: "Sie sind mit ... verbunden".

Wie kann ich herausbekommen, woran das liegt? Und was ist an Debian anders, als an Ubuntu 16.04, bei dem noch alles geklappt hat?

Hier noch mein Skript:
client
dev tap
dev-type tap
proto tcp
connect-timeout 20
remote openvpn-recherche.bcw-gruppe.de port
remote openvpn-recherche.bcw-gruppe.de port

# Diesen Teil habe ich für Ubuntu hinzugefügt, damit es funktioniert:
##########################################
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
##########################################

remote-cert-tls server
auth-user-pass
route-metric 1
push-peer-info

<ca>
-----BEGIN CERTIFICATE-----
;-)
-----END CERTIFICATE-----
</ca>
Freue mich über jede Idee und Anleitung.
Zuletzt geändert von 101010 am 26.05.2018 17:06:44, insgesamt 1-mal geändert.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von eggy » 14.05.2018 21:00:04

Schau Dir mal die Routen an, evtl wird da was nicht richtig gesetzt:
entweder mit "route -nv" oder mit "ip r" jeweils einmal vor dem Tunnelaufbau und dann mit kurz Warten nach dem Aufbau.
Was hat sich geändert?
Ausserdem könnte "dmesg" sachdienlichen Hinweise enthalten, ebenso die VPN-logs unter /var/log/openvpn (oder so ähnlich, such da mal selbst).
Alternativ kannst Du die OpenVPN config auch auf der Shell mitgeben (evtl "openvpn --config configdatei" oder so ähnlich, einfach mal in die manpage schauen, wie das genau war) dann bekommst Du mitgeteilt was passiert.

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von DynaBlaster » 15.05.2018 19:19:58

Code: Alles auswählen

up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Existiert denn die Datei /etc/openvpn/update-resolv-conf und wird sie beim Starten des VPN-Tunnels auch ausgeführt? update-resolv-conf sieht stark nach einer Manipualtion der DNS-Server aus und vermutlich wird da irgendetwas an der DNS-Auflösung für https://openvpn-recherche.bcw-gruppe.de/ "gedreht", sobald der VPN-Tunnel aufegbaut ist.

Vermutlich wird die öffentliche IP von https://openvpn-recherche.bcw-gruppe.de/ irgendwie auf die IP des angesprochenen Webservers aus dem OpenVPN-Netz "umgebogen". Und erst wenn deine http(s)-Anfragen diesen Server über deine zugeteilte OpenVPN-IP erreichen, lässt er dich durch.

Ich würd schauen, was in dieser /etc/openvpn/update-resolv-conf drin steht und das zur Not manuell ausführen.

Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von 101010 » 17.05.2018 17:50:19

Hi,

danke für Eure Antworten.

Ich übergebe die .config-Datei immer an openvpn über die Shell mit folgender Rückgabe:
Thu May 17 17:27:06 2018 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Thu May 17 17:27:06 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]87.190.244.48:1194
Thu May 17 17:27:06 2018 Attempting to establish TCP connection with [AF_INET]87.190.244.48:1194 [nonblock]
Thu May 17 17:27:07 2018 TCP connection established with [AF_INET]87.190.244.48:1194
Thu May 17 17:27:07 2018 TCP_CLIENT link local: (not bound)
Thu May 17 17:27:07 2018 TCP_CLIENT link remote: [AF_INET]87.190.244.48:1194
Thu May 17 17:27:07 2018 [server] Peer Connection Initiated with [AF_INET]87.190.244.48:1194
Thu May 17 17:27:09 2018 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: register-dns (2.4.0)
Thu May 17 17:27:09 2018 TUN/TAP device tap0 opened
Thu May 17 17:27:09 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Thu May 17 17:27:09 2018 /sbin/ip link set dev tap0 up mtu 1500
Thu May 17 17:27:09 2018 /sbin/ip addr add dev tap0 172.24.126.114/16 broadcast 172.24.255.255
Thu May 17 17:27:09 2018 /etc/openvpn/update-resolv-conf tap0 1500 1586 172.24.126.114 255.255.0.0 init
Thu May 17 17:27:09 2018 Initialization Sequence Completed
Ich sehe dort einen Error. Irgendwas scheint mit dem dns nicht zu stimmen. Leider bin ich zu sehr Laie um zu wissen, was genau da nicht klappt. Ich bin ein einfacher Windows-Flüchtling, der nun erste Versuche mit Debian unternimmt und dazulernen will. Daher kann ich auch nicht viel zur /etc/openvpn/update-resolv-conf sagen. Ich habe sie nicht verändert. Sie besteht so, wie sie von Anfang an war:
#!/bin/bash
#
# Parses DHCP options from openvpn to update resolv.conf
# To use set as 'up' and 'down' script in your openvpn *.conf:
# up /etc/openvpn/update-resolv-conf
# down /etc/openvpn/update-resolv-conf
#
# Used snippets of resolvconf script by Thomas Hood and Chris Hanson.
# Licensed under the GNU GPL. See /usr/share/common-licenses/GPL.
#
# Example envs set from openvpn:
#
# foreign_option_1='dhcp-option DNS 193.43.27.132'
# foreign_option_2='dhcp-option DNS 193.43.27.133'
# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
#

[ -x /sbin/resolvconf ] || exit 0
[ "$script_type" ] || exit 0
[ "$dev" ] || exit 0

split_into_parts()
{
part1="$1"
part2="$2"
part3="$3"
}

case "$script_type" in
up)
NMSRVRS=""
SRCHS=""
for optionvarname in ${!foreign_option_*} ; do
option="${!optionvarname}"
echo "$option"
split_into_parts $option
if [ "$part1" = "dhcp-option" ] ; then
if [ "$part2" = "DNS" ] ; then
NMSRVRS="${NMSRVRS:+$NMSRVRS }$part3"
elif [ "$part2" = "DOMAIN" ] ; then
SRCHS="${SRCHS:+$SRCHS }$part3"
fi
fi
done
R=""
[ "$SRCHS" ] && R="search $SRCHS
"
for NS in $NMSRVRS ; do
R="${R}nameserver $NS
"
done
echo -n "$R" | /sbin/resolvconf -a "${dev}.openvpn"
;;
down)
/sbin/resolvconf -d "${dev}.openvpn"
;;
esac
Nach dem VPN-Verbindungsaufbau erhalte ich über ip route folgende Infos:
default via 192.168.178.1 dev wlp1s0 proto static metric 600
87.190.244.48 via 192.168.178.1 dev wlp1s0
169.254.0.0/16 dev wlp1s0 scope link metric 1000
172.23.255.0/24 via 172.24.0.1 dev tap0 metric 1
172.24.0.0/16 dev tap0 proto kernel scope link src 172.24.126.114
192.168.178.0/24 dev wlp1s0 proto kernel scope link src 192.168.178.41 metric 600
Ich bin also über mein Gateway mit 87.190.244.48 verbunden. Das dürfte https://openvpn-recherche.bcw-gruppe.de/ sein. Weiter nehme ich an, dass ich dort eine interne IP erhalte, nämlich 172.24.126.114.

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von DynaBlaster » 17.05.2018 19:23:50

Ich habe gerade nochmal recherchiert. Die Datei /etc/openvpn/update-resolv-conf gehört wohl genauso zur Standardinstallation und macht eigentlich nix anderes, als wie vermutet, einen DNS-Server hinzuzufügen. Dafür wertet das Script die Optionen aus, die der Client beim Verbinden vom Server "gepushed" kriegt. Da das aber hier

Code: Alles auswählen

Thu May 17 17:27:09 2018 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: register-dns (2.4.0)
nicht klappt, fällt auch das Script auf die Nase bzw. wird nicht vollständig/korrekt ausgeführt. Wenn du genau in das Script schaust, sieht man, das der versucht in dem "spilt"-Teil die übergebenen DNS-Server zu extrahieren und dann später mittels /sbin/resovconf hinzuzügen.

Problem liegt vermutlich auf der Serverseite: Hier https://community.openvpn.net/openvpn/ticket/809 steht, das ab OpenVPN 2.4 der Client jetzt nicht mehr mit "push "dhcp-option DNS 10.20.220.15 10.20.220.11"" klarkommt und zwingend nur eine IP-Adresse pro "push "dhcp-option DNS ..." erwartet. In älteren Versionen hat der Client in dem Fall wohl die 2. IP schlicht verworfen.

Ggf. mal den OpenVPN-Server-Betreiber fargen, was da serverseitig konfiguriert ist. Alternativ mal schauen, was dein OpenVPN-Log als PUSH_REPLY zurückbekommt (ggf. musst das Logging-Level in deiner openvpn-client-Konfiguration hochschrauben (einfach verb 3 (oder 4 oder noch höher) in die Datei anfügen). Dann solltest du zumindest die bereitgestllten DNS-einträge vom Server sehen.

Und den könntest du dann manuell setzen. Äquivalent zum Script, müsste das dann in etwa so aussehen:

Code: Alles auswählen

echo -n "DNS-SERVER-IP.aus.push.reply" | /sbin/resolvconf -a "tap0.openvpn"

Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von 101010 » 22.05.2018 17:17:31

Hi,

vielen Dank für Deine Recherchen!

Ich habe in meiner recherche.ovpn Datei verb auf 4 gesetzt.

Jetzt erhalte ich diese Informationen bezüglich PUSH_REPLY:
PUSH: Received control message: 'PUSH_REPLY,route 172.23.255.0 255.255.255.0,redirect-private,dhcp-option DNS 172.24.0.1,register-dns,route-gateway 172.24.0.1,ping 10,ping-restart 60,ifconfig 172.24.207.211 255.255.0.0,peer-id 0,cipher AES-256-GCM'
Tue May 22 16:50:43 2018 us=809297 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: register-dns (2.4.0)
Tue May 22 16:50:43 2018 us=809382 OPTIONS IMPORT: timers and/or timeouts modified
Tue May 22 16:50:43 2018 us=809395 OPTIONS IMPORT: --ifconfig/up options modified
Tue May 22 16:50:43 2018 us=809405 OPTIONS IMPORT: route options modified
Tue May 22 16:50:43 2018 us=809414 OPTIONS IMPORT: route-related options modified
Tue May 22 16:50:43 2018 us=809424 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Tue May 22 16:50:43 2018 us=809433 OPTIONS IMPORT: peer-id set
Tue May 22 16:50:43 2018 us=809443 OPTIONS IMPORT: adjusting link_mtu to 1658
Tue May 22 16:50:43 2018 us=809452 OPTIONS IMPORT: data channel crypto options modified
Hast Du da noch eine Idee zu oder bestätigt das Deinen Verdacht bezüglich der Problemursache auf der Serverseite?

Danke!

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von DynaBlaster » 23.05.2018 18:45:18

Hoi,

Ich würd jetzt versuchen, erstmal 172.24.0.1 via Ping zu erreichen, wenn das OpenVPn aufgebaut ist.

Und dann mal das hier:

Code: Alles auswählen

echo -n "172.24.0.1" | /sbin/resolvconf -a "tap0.openvpn"
anschliessend einen ping auf openvpn-recherche.bcw-gruppe.de absetzen. Vermutlich antwortet dann irrgendwas mit 172.x.x.x.

oder halt manuell die /etc/resolv.conf bearbeiten und als nameserver 172.24.0.1 eintragen.

Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von 101010 » 24.05.2018 16:03:29

OK, ich muss jetzt allerdings kurz nochmal nachfragen, weil ich es nicht weiß:

Was ist die /sbin/resolvconf? Bei mir existiert sie nämlich (noch) nicht. Wofür ist sie und was macht sie?

Der ping auf 172.24.0.1 hat geklappt.

Benutzeravatar
DynaBlaster
Beiträge: 958
Registriert: 25.03.2004 18:18:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DF0://dynablaster.adf

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von DynaBlaster » 24.05.2018 19:16:16

https://packages.debian.org/stretch/all ... f/filelist

Das ist eine ausführbare Datei (keine Konfigurationsdatei) mit der Einträge in der /etc/resolv.conf für die DNS-Auflösung geändert werden können: https://wiki.debian.org/resolv.conf

Benutzeravatar
101010
Beiträge: 31
Registriert: 05.05.2018 22:48:25
Wohnort: NRW

Re: openVPN Verbindung ohne Netzwerkzugriff

Beitrag von 101010 » 26.05.2018 17:05:10

Also nochmal vielen Dank für Deine Hilfe DynaBlaster!!!

Ich habe jetzt das Paket resolvconf mit apt-get installiert. Das war alles! Jetzt läuft es ohne Probleme. Das muss damals bei Ubuntu schon installiert gewesen sein. Deshalb hat es auf meinem alten Rechner geklappt und auf dem neuen nicht.

Vielen Dank!!!!!!

Antworten