Echnaton84
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
Hallo Allerseits Ich habe versucht eine VPN-Verbindung zwischen meinem Cloudserver und einem Nordvpn-server aufzubauen (via shell), wie hier beschrieben wird: https://nordvpn.com/de/tutorials/linux/openvpn/ Wenn ich den letzten Befehl abschicke,um die Verbindung aufzubauen, erhalte ich folgenden Output: administrator@32196:/etc/openvpn/ovpn_udp$ sudo openvpn nl115.nordvpn.com.udp.ovpn
Thu Apr 26 15:57:40 2018 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 22 2017
Thu Apr 26 15:57:40 2018 library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
Enter Auth Username: ****************
Enter Auth Password: *****************
Thu Apr 26 15:59:16 2018 WARNING: --ping should normally be used with --ping-restart or --ping-exit
Thu Apr 26 15:59:16 2018 Control Channel Authentication: tls-auth using INLINE static key file
Thu Apr 26 15:59:16 2018 Outgoing Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Thu Apr 26 15:59:16 2018 Incoming Control Channel Authentication: Using 512 bit message hash 'SHA512' for HMAC authentication
Thu Apr 26 15:59:16 2018 Socket Buffers: R=[212992->212992] S=[212992->212992]
Thu Apr 26 15:59:16 2018 UDPv4 link local: [undef]
Thu Apr 26 15:59:16 2018 UDPv4 link remote: [AF_INET]93.190.140.250:1194
Thu Apr 26 15:59:16 2018 TLS: Initial packet from [AF_INET]93.190.140.250:1194, sid=17c81ef3 31823a60
Thu Apr 26 15:59:16 2018 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Thu Apr 26 15:59:16 2018 VERIFY OK: depth=1, C=PA, ST=PA, L=Panama, O=NordVPN, OU=NordVPN, CN=nl115.nordvpn.com, name=NordVPN, emailAddress=cert@nordvpn.com
Thu Apr 26 15:59:16 2018 Validating certificate key usage
Thu Apr 26 15:59:16 2018 ++ Certificate has key usage 00a0, expects 00a0
Thu Apr 26 15:59:16 2018 VERIFY KU OK
Thu Apr 26 15:59:16 2018 Validating certificate extended key usage
Thu Apr 26 15:59:16 2018 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Thu Apr 26 15:59:16 2018 VERIFY EKU OK
Thu Apr 26 15:59:16 2018 VERIFY OK: depth=0, C=PA, ST=PA, L=Panama, O=NordVPN, OU=NordVPN, CN=nl115.nordvpn.com, name=NordVPN, emailAddress=cert@nordvpn.com
Thu Apr 26 15:59:16 2018 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Thu Apr 26 15:59:16 2018 Data Channel Encrypt: Using 512 bit message hash 'SHA512' for HMAC authentication
Thu Apr 26 15:59:16 2018 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Thu Apr 26 15:59:16 2018 Data Channel Decrypt: Using 512 bit message hash 'SHA512' for HMAC authentication
Thu Apr 26 15:59:16 2018 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Thu Apr 26 15:59:16 2018 [nl115.nordvpn.com] Peer Connection Initiated with [AF_INET]93.190.140.250:1194
Thu Apr 26 15:59:18 2018 SENT CONTROL [nl115.nordvpn.com]: 'PUSH_REQUEST' (status=1)
Thu Apr 26 15:59:18 2018 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1,sndbuf 524288,rcvbuf 524288,dhcp-option DNS 103.86.96.100,dhcp-option DNS 103.86.99.100,route-gateway 10.8.8.1,topology subnet,ping 60,ping-restart 180,ifconfig 10.8.8.68 255.255.255.0,peer-id 7'
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: timers and/or timeouts modified
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: --sndbuf/--rcvbuf options modified
Thu Apr 26 15:59:18 2018 Socket Buffers: R=[212992->425984] S=[212992->425984]
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: --ifconfig/up options modified
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: route options modified
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: route-related options modified
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: peer-id set
Thu Apr 26 15:59:18 2018 OPTIONS IMPORT: adjusting link_mtu to 1637
Thu Apr 26 15:59:18 2018 ROUTE_GATEWAY 185.178.194.1/255.255.255.0 IFACE=enp0s5 HWADDR=00:1c:42:39:3f:fc
Thu Apr 26 15:59:18 2018 TUN/TAP device tun0 opened
Thu Apr 26 15:59:18 2018 TUN/TAP TX queue length set to 100
Thu Apr 26 15:59:18 2018 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wie man sieht wird die Initialisations Sequenz nicht abgeschlossen.
Normalerweise (bei erfolgreichem Verbindungsaufbau) steht in der letzten Zeile so etwas wie "Initialisation sequence completed".
Was hier nicht der Fall ist. Der Vorgang bleibt einfach bei der letzten Zeile stehen und ich kann keine weiteren Befehle ausführen, bis ich den Server neu starte.
Auch der Abbruch mit ctrl+c ist nicht möglich. Ich möchte hinzufügen, dass das selbe Vorgehen auf meinem Heimserver(auch Ubuntu 16.04) zum erwünschten Ergebnis führt.
Es liegt also definitiv am cloud-server. Woran könnte das liegen?
Und wie könnte man das Problem beheben?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Die letzte Zeile heißt, dass er anschließend versucht, das Interface entsprechend zu konfigurieren. Das scheint fehlzuschlagen. Zeige mal bitte die Ausgaben folgender Befehle, wenn der OpenVPN-Befehl hängen bleibt:
ip l
ip a
ip r
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
Hallo Danke für die Antwort. Wie oben erwähnt kann ich, nachdem der OpenVPN-Befehl hängen geblieben ist, keine weiteren Befehle ausführen. Um wieder Befehle ausführen zu können, muss ich das System über das Webinterface meines Hosters neu starten. Soll ich die genannten Befehle nach dem Neustart ausführen, oder bringt das nichts ?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Echnaton84 schrieb: Wie oben erwähnt kann ich, nachdem der OpenVPN-Befehl hängen geblieben ist, keine weiteren Befehle ausführen.
Kannst du nicht einfach eine zweite SSH-Session in einem anderen Terminal aufmachen?
Um wieder Befehle ausführen zu können, muss ich das System über das Webinterface meines Hosters neu starten.
Das heißt du konfigurierst das OpenVPN via SSH, und kannst das System anschließend nicht mehr über das Netzwerk erreichen? Dann könnte es sein, dass dir einfach die Default-Route gebügelt wird, und der Server anschließend nur noch über das VPN erreichbar ist. Das würde auch bedeuten, dass dein Verbindungsaufbau funktioniert, allerdings kriegst du das in deiner Konsole nicht mit, weil die SSH-Session auf einmal weg ist. Editiere mal deine Verbindungsdatei und schreibe dort die Zeile
route-nopull
rein. Dann baut er das VPN auf, biegt aber die Default-Route nicht um.
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
misterunknown schrieb:
Das heißt du konfigurierst das OpenVPN via SSH, und kannst das System anschließend nicht mehr über das Netzwerk erreichen?
Genau das ist das Problem. misterunknown schrieb:
Editiere mal deine Verbindungsdatei und schreibe dort die Zeile
route-nopull
rein. Dann baut er das VPN auf, biegt aber die Default-Route nicht um.
Welche Verbindungsdatei wäre das? Und wo genau müsste ich die Zeile hinschreiben?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Echnaton84 schrieb: Welche Verbindungsdatei wäre das?
Diese hier:
nl115.nordvpn.com.udp.ovpn
Einfach mal mit einem Texteditor öffnen und reinschauen. An welcher Stelle du die Zeile hinzufügst sollte egal sein.
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
O mein Gott, es hat funktioniert. Ich bin dir unheimlich dankbar. Nur aus Neugierde, wieso hat sich das ganze auf meinem Heimserver anders Verhalten? Immerhin habe ich dort die selbe Verbindungsdatei verwendet. Ich hätte jetzt gedacht, dass ich Irgendetwas an den Netzwerkeinstellungen des vServers ändern muss um das ganze zum laufen zu bringen.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Echnaton84 schrieb: Nur aus Neugierde, wieso hat sich das ganze auf meinem Heimserver anders Verhalten?
Dort warst du vermutlich nicht per SSH drauf, oder? Wenn doch, gab es vielleicht eine höher priorisierte Route für das private Netz.
Ich hätte jetzt gedacht, dass ich Irgendetwas an den Netzwerkeinstellungen des vServers ändern muss um das ganze zum laufen zu bringen.
Du musst dir aber im klaren sein, dass die VPN-Verbindung zwar aufgebaut ist, aber kein Traffic darüber geht, sondern der Server hängt nach wie vor am normalen Netz. Nachdem du jetzt verifiziert hast, dass es am Routing lag, müsstest du dir Gedanken über dein Routing-Setup machen. Welcher Traffic soll durchs VPN? Welcher darf/kann nicht durchs VPN? Das kommt auf deinen Anwendungsfall an.
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
misterunknown schrieb:
Dort warst du vermutlich nicht per SSH drauf, oder? Wenn doch, gab es vielleicht eine höher priorisierte Route für das private Netz.
Doch ich war per SSH drauf.
Du musst dir aber im klaren sein, dass die VPN-Verbindung zwar aufgebaut ist, aber kein Traffic darüber geht, sondern der Server hängt nach wie vor am normalen Netz. Nachdem du jetzt verifiziert hast, dass es am Routing lag, müsstest du dir Gedanken über dein Routing-Setup machen. Welcher Traffic soll durchs VPN? Welcher darf/kann nicht durchs VPN? Das kommt auf deinen Anwendungsfall an.
Ok was müsste ich denn machen, wenn der ganze Traffic durchs VPN geleitet werden soll?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Echnaton84 schrieb: Doch ich war per SSH drauf.
Dann war die Route für das private Netz signifikanter, als die OpenVPN-Default-Route.
Ok was müsste ich denn machen, wenn der ganze Traffic durchs VPN geleitet werden soll?
Das soll er ja eben nicht, wie du schmerzlich feststellen musstest, als deine SSH-Session gestorben ist.
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
misterunknown schrieb:
Das soll er ja eben nicht, wie du schmerzlich feststellen musstest, als deine SSH-Session gestorben ist.
Ok du hast recht, also was müsste ich tun wenn der ganze Traffic ausser die SSH-Verbindung übers VPN soll?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Echnaton84 schrieb: Ok du hast recht, also was müsste ich tun wenn der ganze Traffic ausser die SSH-Verbindung übers VPN soll?
Es gibt verschiedene Möglichkeiten der Abbildung. Einen einzelnen Dienst anders zu behandeln ist komplex, da du die Pakete im Kernel speziell markieren müsstest und anschließend anhand dieser Markierung ein regelbasiertes Routing bauen musst. Einfacher ist es da den Traffic zu kategorisieren, und die Regeln nach anderen Gesichtspunkten zu erstellen. Ein Beispiel wäre:
Aller eingehender Traffic auf dem physischen Interface, soll auch über dieses Interface wieder rausgeroutet werden. Nur Traffic der lokal generiert wird, soll durchs VPN.
Das wäre relativ einfach abzubilden. Noch einfach wäre es, das Routing auf Basis der Absende-IP zu regeln. Üblich wäre beispielsweise einen Proxy zu nutzen, der ausgehenden Traffic mit einer bestimmten Absende-IP versieht, und der Kernel anhand dieser den Traffic durch VPN leitet. Das funktioniert natürlich nur für Protokolle die sich durch einen Proxy sprechen lassen. Die Frage ist also: Was genau willst du konzeptionell erreichen?
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
Ok, danke nochmals für die Antworten. Was ich erreichen will ist, dass die Kommunikation zwischen meinem Server und einem Webserver durch das VPN geleitet wird. Genauer gesagt, die Kommunikation zwischen einem Browser und dem Webserver.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Echnaton84 schrieb: Was ich erreichen will ist, dass die Kommunikation zwischen meinem Server und einem Webserver durch das VPN geleitet wird.
Das ist doch mal was konkretes. Wenn es ein bestimmter Webserver ist, dann kannst du das Routing einfach entsprechend anpassen:
ip route add $WEBSERVER_IP dev tun0
Genauer gesagt, die Kommunikation zwischen einem Browser und dem Webserver.
Welches Programm die Verbindung zu dem Webserver aufnehmen will ist dann egal, der Kernel wird immer die oben genannte Route verwenden. Wenn du alle Verbindungen vom Browser aus durch das VPN leiten willst, ist das auch kein Problem. Du kannst beispielsweise einen Proxy-Dienst auf dem Server installieren und jeglichen Traffic, der über den Proxy geht durch VPN leiten. Das habe ich hier schon mal beschrieben.
|
Echnaton84
(Themenstarter)
Anmeldungsdatum: 18. Januar 2015
Beiträge: 36
|
Ok danke, das mit dem Proxy klingt sehr gut. Ich habe heute leider keine Zeit mehr das auszuprobieren, ich werde das ganze aber morgen mal durchgehen. Nur dass ich das richtig verstehe, da du immer von ausgehenden Verbindungen sprichst: Wenn ich es mit dem Proxy mache, wird schon die ganze Kommunikation zwischen Webserver und Browser durchs VPN gehen oder? Also auch vom Webserver zum Browser?
|