Zum Inhalt springen

OpenVPN auf vServer


Peter1

Empfohlene Beiträge

Hallo,

ich habe mir einen vServer gemietet, den ich als VPN-Server nutzen möchte. Zunächste habe ich mich erstmal mit Linux beschäftigt und das Ding hoffentlich "halbwegs" abgesichert (langes komplexes Root-Pw, direkten Root-Login verboten, SSH-Verbindung mit PublicKey und Passphrase, nur einen Benutzer...falls jemand noch Ideen hat, das Ganze noch besser abzusichern, darf er sich gerne äußern:-)).

Auf dem vServer soll außschließlich OpenVPN laufen (vielleicht noch sftp) und zwar für folgenden Zweck:

Es gibt eine beliebige Anzahl von Clients (in der Realität werden es 2 bis 3 sein), die sich mit dem VPN Server verbinden sollen (natürlich mit bestmöglicher Verschlüsselung --> Zertifikate). Das Ganze soll zwei Zwecke erfüllen: Zum einen sollen die Clients Daten austauschen können (wie im LAN eben auch), am besten auch mit dem Server, wobei dafür auch sftp bereitsteht, von daher nicht ganz so wichtig, und zum anderen um den Server als Gateway zu nutzen.

Dazu habe ich folgendes Tutorial verwendet:

Henning Dippel » OpenVPN-Server

1. Installation ging problemlos!

2. Erstellen der Zertifikate auch!

3. Starten des Server geht nicht!

Bei Punkt 3 brauche ich Hilfe, da es meiner Meinung nach hier ein wenig "vServer-spezifisch" wird, was im Tutorial nicht berücksichtigt ist. Starte ich den OpenVPN-Server mit folgender Config, dann erhalte ich eine Fehlermeldung mit folgenden Wortlaut:

cannot ioctl tunsetiff tun operation not permitted (errno=1)

Attempting falback to Kernel 2.2 TUN/TAP Interface

cannot allocate TUN/TAP dev dynamically


local [IP]

port 1149

proto udp

dev tun

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

ca /etc/openvpn/examples/easy-rsa/2.0/keys/ca.crt

cert /etc/openvpn/examples/easy-rsa/2.0/keys/server.crt

key /etc/openvpn/examples/easy-rsa/2.0/keys/server.key

dh /etc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem

push "route 10.8.0.0 255.255.255.0" # teste einmal mit und ohne "route 10.8.0.0 255.255.255.0"

push "redirect-gateway def1"

;push  "dhcp-option DNS 208.67.222.222" Was das ist weiß ich nicht, darum kommentiert

;push  "dhcp-option DNS 208.67.220.220"

comp-lzo

keepalive 10 60

ping-timer-rem

persist-tun

persist-key

status openvpn-status.log

Das Problem hört sich danach an, als würde ich versuchen das TUN-Device zu konfigurieren, obwohl ich das nicht "darf". Deswegen habe ich mal die Zeile mit "server ..." kommentiert, weil ich die Befürchtung hatte, dass es daran liegen könnte. Dann erhalte ich jedoch die Meldung:

Parameter ca_file can only be specified in TLS-mode, i.e. where --tls-server or --tls-client is also specified.

Benutze ich die entsprechenden Parameter (z.B. openvpn --TLS-Server [server.conf]), dann wird mir gesagt, dass ich den Pfad des CA angeben muss. Wenn ich den angebe, fragt er nach DH usw. Irgendwann habe ich ein vierzeiliges Kommando und es geht trotzdem nicht weiter, zumal es ja in der server.conf drinne steht.

Meine Frage wäre jetzt: Wie sieht eine vernünftige/funktionierende Server-Config für meine Ansprüche, der die Besonderheiten eines vServers beachtet, aus?

Vielen Dank...

ciao Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Irgendwie finde ich das Projekt unsinnig, wenn man einen Server hat und darauf über eine verschlüsselte Verbindung verbinden will, nimmt man SSH / SCP / SFTP. Ein VPN verbindet ein gesamtes Netzwerk, das Du hier nicht hast. Für VPN muss der Kernel das TUN/TAP Device unterstützen, d.h. es muss in den Kernel kompiliert sein bzw. als Modul vorliegen. Bei einem VServer hat man i. Allgm. keine Möglichkeit Kernelmodule zu verändern, da der Kernel passend zu der Virtualisierungsumgebung installiert ist und somit keine Modifikation zu lässt.

In meinen Augen solltest Du bekannte Dienste wie SSH verwenden und die VPN Installation nicht durchführen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mit einem VPN bin ich aber flexibler. Ich kann ohne größere Umstände neue Nutzer aufnehmen und Daten austauschen oder Spiele spielen. Des Weiteren sind dann alle Rechner in meinem Heimnetz verbunden, sonst müsste ich ja auf jeden einen SSH-Client installieren und so macht das DD-WRT;-)

Mit 2-3 Clients meinte ich jeweils Router (es kann aber auch vorkommen, dass sich ein einzelner PC verbindet z.B. öffentliches WLAN).

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK...das war schonmal ein sehr guter Tip...DANKE:-)

Das TUN-Device hieß in Wirklichkeit TUN844-33 (herausgefunden mit ifconfig) und ich hatte in der Config nur "dev tun" stehen. Ok...hätte man auch selbst drauf kommen können, anstatt ales blind abzuschreiben.

Leider hat sich dadurch ein neuer Fehler ergeben:

Note: Cannot set tx queue length on tun844-33: Operation not permitted (errno=1)

SIOCSIFADDR: Permission denied

SIOCSIFFLAGS: Permission denied

SIOCSIFDSTADDR: Permission denied

SIOCSIFFLAGS: Permission denied

SIOCSIFMTU: Operation not permitted

Tue May 10 07:58:45 2011 Linux ifconfig failed: external program exited with error status: 1

Aus den Fehlermeldungen werde ich nun gar nicht schlau, außer dass nichts gesendet werden kann, weil nicht erlaubt und dass irgendein Programm ifconfig beendet hat? Ist diese Interpretation richtig. An was kann das wieder liegen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sooo...jetzt ist das Problem auch aus der Welt.

Jetzt steht da: Initialization Sequence Completed

Ich denke mal das heißt soviel wie "ich bin am Ziel".

Dennoch gibt es zwei Probleme: Zum einen kann sich der Client nicht verbinden ("TLS Handshake failed") und es steht weiterhin da: "Note: Cannot set tx queue length on tun844-33: Operation not permitted (errno=1)" --> Ist das problematisch?

Ich hoffe mir kann jemand helfen. Danke:-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mh...irgendwas stimmt nicht. Der Fehler passiert unabhängig davon ob der VPN-Server läuft oder nicht. Kann das sein, dass der Client den Server nicht erreicht? Ich kann den Server im übrigen problemlos pingen. Muss ich eventuell dem Server irgendwas in Richtung "Forwarding" beibringen?

Meine "Server-Logs" beim starten:

Tue May 10 10:36:08 2011 OpenVPN 2.1.0 x86_64-pc-linux-gnu [sSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 20 2010

Tue May 10 10:36:08 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables

Tue May 10 10:36:08 2011 /usr/bin/openssl-vulnkey -q -b 1024 -m <modulus omitted>

Tue May 10 10:36:08 2011 TUN/TAP device tun844-33 opened

Tue May 10 10:36:08 2011 Note: Cannot set tx queue length on tun844-33: Operation not permitted (errno=1)

Tue May 10 10:36:08 2011 UDPv4 link local (bound): [AF_INET]xxx.xxx.xxx.xxx:1149

Tue May 10 10:36:08 2011 UDPv4 link remote: [undef]

Tue May 10 10:36:08 2011 Initialization Sequence Completed

Mein Client-Logs:

Tue May 10 12:39:06 2011 OpenVPN 2.2.0 Win32-MSVC++ [sSL] [LZO2] built on Apr 26 2011

Tue May 10 12:39:06 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables

Tue May 10 12:39:07 2011 LZO compression initialized

Tue May 10 12:39:07 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]

Tue May 10 12:39:07 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]

Tue May 10 12:39:07 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]

Tue May 10 12:39:07 2011 Local Options hash (VER=V4): '41690919'

Tue May 10 12:39:07 2011 Expected Remote Options hash (VER=V4): '530fdded'

Tue May 10 12:39:07 2011 UDPv4 link local: [undef]

Tue May 10 12:39:07 2011 UDPv4 link remote: xxx.xxx.xxx.xxx:1194

Tue May 10 12:40:07 2011 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)

Tue May 10 12:40:07 2011 TLS Error: TLS handshake failed

Tue May 10 12:40:07 2011 TCP/UDP: Closing socket

Tue May 10 12:40:07 2011 SIGUSR1[soft,tls-error] received, process restarting

Tue May 10 12:40:07 2011 Restart pause, 2 second(s)

server.conf:


local xxx.xxx.xxx.xxx

port 1149

proto udp

dev tun844-33

tls-server

mode server

ca /etc/openvpn/examples/easy-rsa/2.0/keys/ca.crt

cert /etc/openvpn/examples/easy-rsa/2.0/keys/server.crt

key /etc/openvpn/examples/easy-rsa/2.0/keys/server.key

dh /etc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem

comp-lzo

keepalive 10 60

ping-timer-rem

persist-tun

persist-key

status openvpn-status.log

client.conf:

client

dev tun

proto udp

remote XXX.YYY.ZZZ.XXX 1194

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt

cert client.crt

key client.key

comp-lzo

verb 3

Danke für eure Hilfe:-)

Bearbeitet von Peter1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Sorry für die verschiedenen Bezeichnungen, aber ja die IPs sind gleich.

Ich habe iptables nicht installiert und ich denke, dass es auch nicht vorinstalliert ist. Müsste ich mal checken. Falls es doch installiert ist, wie müsste ich es konfigurieren? Könnte es auch noch an was anderes liegen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe das Ganze auf Port 443 (SSL) umgestellt. Ist das problematisch? Es scheint jetzt "besser" zu gehen. Der Client-log sieht jetzt so aus:

Tue May 10 14:23:31 2011 OpenVPN 2.2.0 Win32-MSVC++ [sSL] [LZO2] built on Apr 26 2011

Tue May 10 14:23:31 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables

Tue May 10 14:23:31 2011 LZO compression initialized

Tue May 10 14:23:31 2011 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]

Tue May 10 14:23:31 2011 Socket Buffers: R=[8192->8192] S=[8192->8192]

Tue May 10 14:23:31 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]

Tue May 10 14:23:31 2011 Local Options hash (VER=V4): '41690919'

Tue May 10 14:23:31 2011 Expected Remote Options hash (VER=V4): '530fdded'

Tue May 10 14:23:31 2011 UDPv4 link local: [undef]

Tue May 10 14:23:31 2011 UDPv4 link remote: xxx.xxx.xxx.xxx:443

Tue May 10 14:23:32 2011 TLS: Initial packet from xxx.xxx.xxx.xxx:443

Tue May 10 14:23:32 2011 VERIFY OK: ...

Tue May 10 14:23:32 2011 VERIFY OK: ...

Tue May 10 14:23:32 2011 VERIFY OK: ...

Tue May 10 14:23:32 2011 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key

Tue May 10 14:23:32 2011 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication

Tue May 10 14:23:32 2011 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key

Tue May 10 14:23:32 2011 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication

Tue May 10 14:23:32 2011 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA

Tue May 10 14:23:32 2011 [server] Peer Connection Initiated with xxx.xxx.xxx.xxx:443

Tue May 10 14:23:34 2011 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)

Tue May 10 14:23:34 2011 PUSH: Received control message: 'PUSH_REPLY,ping 10,ping-restart 60'

Tue May 10 14:23:34 2011 OPTIONS IMPORT: timers and/or timeouts modified

Tue May 10 14:23:34 2011 TAP-WIN32 device [LAN-Verbindung 3] opened: \\.\Global\{3FE4A4E8-CD7C-4DA9-BED4-621D8CD264DB}.tap

Tue May 10 14:23:34 2011 TAP-Win32 Driver Version 9.8

Tue May 10 14:23:34 2011 TAP-Win32 MTU=1500

Tue May 10 14:23:34 2011 ERROR: --dev tun also requires --ifconfig

Tue May 10 14:23:34 2011 Exiting

Die letzten Zeilen des Server-logs waren:

Tue May 10 12:23:30 2011 [client-IP]:59092 [client2] Peer Connection Initiated with [AF_INET][client-IP]:59092

Tue May 10 12:23:30 2011 MULTI: no dynamic or static remote --ifconfig address is available for client2/1[client-IP]:59092

Tue May 10 12:25:32 2011 client2/[client-IP]:59092 [client2] Inactivity timeout (--ping-restart), restarting

An was kann der Fehler liegen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also Port 443 würde ich nicht unbedingt nehmen, da das ein Port ist, der oft benutzt wird und daher auch diverse Angriffe darauf gehen könnten, die dir dein Log vollspammen. Zudem blockierst du dir den Port selber, falls du ihn irgendwann mal nutzen möchtest.

Wie geschrieben - nimm am besten einen Port aus dem dynamischen Port-Bereich oberhalb Port 1023. Also z.B. Port 4711 oder 54321 oder 13254 oder so.

Scheint ja mit anderem Port auf jeden Fall schon mal weiter zu gehen.

Gibt zu viele mögliche Ursachen. DA musst du am besten selber mal dich durchwühlen.

klick mich.

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK...Es geht:-)

Ich bin jetzt verbunden. "ifconfig" hat in der client.ovpn gefehlt. Damit stellt man quasi die "lokale VPN-IP" ein.

Dennoch zwei Fragen:

1. Wie bekomme ich das hin, dass der komplette Internet-Verkehr durch den VPN-Server läuft (also als Gateway)?

2. Woher bekomme ich die "lokale VPN-IP" des Servers? (das müsste doch eigentlich die sein, die ich bei "ifconfig" hinter dem Tun Dev angezeigt bekomme oder?)

Bearbeitet von Peter1
Link zu diesem Kommentar
Auf anderen Seiten teilen

1.) Den VPN-Server als Default Gateway eintragen und alles sollte darüber gehen. Würde ich aber nicht unbedingt machen, sondern nur das, was auch darüber gehen soll... bremst deinen Zugang sonst aus und du verbrauchst noch Traffic. (Keine Ahnung, ob du Traffic bezahlen musst ab x TB oder ob nicht).

2.)Wenn du als root ifconfig [Name_des_Tunnelinterfaces] eingibst, solltest du das eigentlich angezeigt bekommen.

Eigentlich solltest du die IP-Adresse ja auch selber in der Config festgelegt haben...

Wenn du die Standardconfig gelassen soweit gelassen hast, hat dein Server eine interne IP-Adresse aus dem Netz 10.8.0.0/24.

Link zu diesem Kommentar
Auf anderen Seiten teilen

zu 1.) Soll ja nicht ständig so sein. Nur an unsicheren Orten, ergo offenen WLANs. --> Außerdem Traffic-Flat;-) Werde es jetzt mal ausprobieren.

zu 2.) Leider konnte ich eben die IP Adresse nicht festlegen, da man die Konfiguration des TUN Dev auf vServer nicht ändern darf. "ifconfig" ergab 10.0.0.125 bzw. 10.0.0.126. Leider konnte ich weder die eine noch die andere Adresse pingen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Monate später...

Hallo Leute,

dieses Thema interessiert mich sehr und auch musste feststellen dass Howtos fast immer nicht vps/vserver spezifisch aufgebaut sind. Ich möchte deshalb ein öffentliches Howto erstellen und auf meiner Website veröffentlichen dass andere Leute davon auch etwas haben. Leute mit wenig Kenntnissen sollten auch was damit anfangen können.

Der erste Schritt meiner "IDEE" ist erstmal einen vserver als VPN Server zu erstellen. Die Clients sollen modifizierte Fritz!Boxen sein und auch Software Clients. Dass ganze soll jeder Zeit erweiterbar sein. Sicherheit gegen Hacker ist sehr wichtig. Im Netz sollen die Clients mit einander kommunizieren können, auf Websapps des Servers zugreifen können. Proxy, Inhaltsfilter, ... Man kann viel machen, doch erstmal ist die Verbindung zu Server wichtig.

Die Serverkonfiguration:

Anbieter ist Alvotech

768 MB RAM garantiert

3072 MB RAM dynamisch

60 GB Speicher

1 feste IP-Adresse inkl.

Traffic-Flatrate

TUN ist aktiviert

Folgende Betriebssystem sind möglich:

Debian Squeeze Minimal (64bit)

Debian Lenny Minimal (32bit)

Debian Lenny Minimal (64bit)

Debian Lenny Confixx 3.3 (64bit) exkl. Lizenz (+ 7,90 € pro Monat)

Debian Lenny ispCP Omega (64bit)

CentOS 5 Minimal (32bit)

CentOS 5 Minimal (64bit)

Ubuntu Hardy Minimal (64bit)

Ubuntu Jaunty Minimal(64bit)

Ubuntu Lucid Lynx Minimal (64bit)

openSUSE 11.3 Minimal (64bit)

...

Bevorzuge Ubuntu

Die Firewall ist erstmal deaktiviert um keine Hindernisse vorab zu bekommen. IPtables ist grundsätzlich nicht installiert da die Firewall von Alvotech auf iptables bassiert und man diese über das Webmenü steuern kann.

Wie fangen wir am besten an?

Es gibt soviele VPN Howtos? Welche sind einfach und gut? Welche Endconfig hat Peter1 den benutzt (server.conf)

Vielen Dank schon mal für die Hilfe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bin mit dem Howto OpenVPNnebenbei schon gestartet.

Als Server habe ich Ubuntu Lucid 64Bit installiert. Es kommt eine Fehlermeldung mit dieser server.conf.

Hat jemand eine Idee was dass sein könnte?

Meine server.conf:

local ipadresse

port 1194

proto upd

dev tunxxxx-xx (laut vserver über ifconfig)

ca ca.crt

cert server.crt

key server.key

dh dh1024.pem

server 10.8.0.0 255.255.255.0

ifconfig-noexec

keepalive 10 120

comp-lzo

persist-key

persist-tun

status openvpn-status.log

verb 3

* Stopping virtual private network daemon(s)... * Stopping VPN 'server' [ OK ]

* Starting virtual private network daemon(s)... * Autostarting VPN 'server' [ OK ]

SIOCADDRT: Operation not permitted

Die log sagt folgendes:

OpenVPN CLIENT LIST

Updated,Mon Aug 22 09:20:39 2011

Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since

ROUTING TABLE

Virtual Address,Common Name,Real Address,Last Ref

GLOBAL STATS

Max bcast/mcast queue length,0

END

Hat jemand eine idee?

Vielen Dank für eure Hilfe schon mal...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habe gerade mal alles laut Anleitung über Port 443 und tcp laufen lassen. Kann jetzt eine Verbindung aufbauen. Mit 1194 udp kann ich es gerade nicht tersten da ich hier in der Firma der Port 1194 gesperrt ist.

Open VPN meldet dass er die IP 10.0.1.6 hat... Habe mal einen Apache Server auf dem vserver aufgesetzt. Aber der ist nur über die öffentliche IP erreichbar. Wie kann ich jetzt noch den Server im VPN Netzwerk erreichbar machen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...