OpenVPN über HTTP-Proxy

Status
Für weitere Antworten geschlossen.

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Hi zusammen,

folgende Situation: OpenVPN ist auf meiner DS211j auf der neuesten DSM installiert und funktioniert auch vom Handy aus. Desweiteren funktioniert der Zugriff über OpenVPN von meinem Firmen Laptop innerhalb meines Home Netzwerkes. Leider ist bei mir im Firmennetzwerk anscheinend der entsprechende Port (1194) gesperrt, und auch eine einfache Weiterleitung über Port 80 funktioniert nicht. Ein Freund von mir hat mir gesagt, dass es möglich sein müsste eine Verbindung über den Port 443 (HTTPS) über einen HTTPS Proxy zu erstellen zu erstellen.
Laut dem Tutorial, welches er mir geschickt hat, müssen folgende Aktionen dafür durchgeführt werden:

Client:
- Transportprotokoll von UPD auf TCP umstellen
- den entsprechenden Proxy eintragen

Server:
- Transportprotokoll von UPD auf TCP umstellen
- Port von 1194 auf 443 umstellen

Auf dem Client habe ich die Änderungen (glaube ich) soweit jetzt alle vollzogen, allerdings scheitert es bei mir gerade an der Server Config.
Über das Webinterface lassen sich diese Angaben ja nicht ändern (zumindest habe ich nichts gefunden). Habe dann mal über ssh ein bisschen rumgesucht und eine eine Datei "synovpn_port" im Ordner /volume1/@appstore/VPNCenter/etc/ gefunden mit folgendem Inhalt:

[vpn_server_pptp]
title="VPN Server (PPTP)"
desc="VPN Server"
port_forward="yes"
dst.ports="1723/tcp"

[vpn_server_openvpn]
title="VPN Server (OpenVPN)"
desc="VPN Server"
port_forward="yes"
dst.ports="1194/udp"

Ist das die entsprechende Config Datei wo ich die Parameter für OpenVPN ändern kann? Hat da irgendwer schon Erfahrungen mit gesammelt?
Bin nicht so der Linux Crack (hatte vorher nie viel damit zu tun) deshalb Sorry falls ich hier dumme Fragen stelle...

Gruß Zerro
 

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Hi, habe jetzt nochmal weiter gesucht und im Ordner /volume1/@appstore/VPNCenter/etc/openvpn die Datei server.conf entdeckt. Kann mir jemand sagen ob ich beide Dateien (server.conf & synovpn_port) anpassen muss oder nur eine der beiden?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn du OpenVPN auf Port 443 haben willst, dann musst du aber sicherstellen, dass der Apache (https) nicht auch denselben Port will. Sonst startet einer der beiden Dienste nicht mehr. Zusätzlich kann es dir auch passieren, das diese ganze Aktion nichts bringt, weil z.B. ein möglicher FirmenSSL-Proxy bemerkt dass es sich bei der Anfrage auf Port 443 nicht um https handelt und die Verbindung droppt
 

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Hi, habe für den https Zugriff den Port 5001 weitergeleitet, also sollte dass Ok sein (oder werfe ich da grad was durcheinander?).
Ein anderer Kollege hatte mir noch erklärt dass es die Möglichkeit gibt die VPN Pakete als http (https?) zu tarnen, da dass aber vermutlich noch mehr fummelei wäre wollte ich erstmal den Weg hier probieren.
Nochmal zur ursprünglichen Frage: welches File ich editieren muss weißt du nicht oder?
 

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82
Würd mal Port UDP/53 benutzen, der ist oft offen.
 

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
53 mit UDP funktioniert nicht, scheint auch gesperrt zu sein. mit tcp über 443 kriege ich folgende Meldung:

Mon Nov 07 14:14:45 2011 Attempting to establish TCP connection with XXX:XX
Mon Nov 07 14:14:45 2011 TCP connection established with XXX:XX
Mon Nov 07 14:14:51 2011 recv_line: TCP port read timeout expired
Mon Nov 07 14:14:51 2011 SIGTERM[soft,init_instance] received, process exiting

Sieht mir so aus als wenn die Verbindung hergestellt werden kann, der Proxy mich aber nicht durchlässt...
 

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82
und TCP/80?
 

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Für TCP muss ich ja erst wieder die Config auf dem Server ändern, und dafür brauche ich noch die Antwort auf meine ursprüngliche Frage welches File ich dafür abändern muss :)
 

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Hi zusammen,

Habe jetzt die Änderungen (Port auf 443 unt Protokoll auf tcp) in beiden Dateien durchgeführt, anscheinend zieht sich der VPN Server die Config Files aber nicht herran, ich kann mich immernoch mit meinem Handy über udp und Port 80 eine VPN Verbindung aufbauen. Auch ein Neustart des NAS hat nix gebracht... Hat jemand noch eine zündende Idee?
 

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82
Installier doch den IPKG OpenVPN, der ist um einiges Besser ;)
 

Zerro

Benutzer
Mitglied seit
24. Okt 2011
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Habe ich auch schon überlegt, bin eigentlich mehr der Freund von Guis :)
Irgendwie muss das ja gehen, der muss seine Config doch von irgendwoher ziehen... oder muss ich dem sagen dass er sich die Config nochmal neu ziehen muss...
 

Eisblume

Benutzer
Mitglied seit
18. Nov 2011
Beiträge
56
Punkte für Reaktionen
0
Punkte
6
Hi,

konntest Du das Problem lösen ? Ich stehe vor dem gleichen Problem, in der Firma ist nur http-Port 80 geöffnet. Ich weiss aber nicht wie bzw. wo ich auf der Synology die openvpn.conf auf tcp umstellen kann !

VG
Eisblume
 

MaCoM

Benutzer
Mitglied seit
06. Dez 2009
Beiträge
347
Punkte für Reaktionen
0
Punkte
0
@Eisblume

kopiere die /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf nach /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user

und in der "openvpn.conf.user" passt du dann alles an z.B.

dev tun
proto tcp
port 1194
 

Eisblume

Benutzer
Mitglied seit
18. Nov 2011
Beiträge
56
Punkte für Reaktionen
0
Punkte
6
Hi,

hab ich gemacht:

Code:
- /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user 3/34 8%
push "route 192.168.1.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
dev tun
proto tcp
port 1723

management 127.0.0.1 1195

server 10.8.0.0 255.255.255.0


dh /var/packages/VPNCenter/target/etc/openvpn/keys/dh1024.pem
ca /var/packages/VPNCenter/target/etc/openvpn/keys/ca.crt
cert /var/packages/VPNCenter/target/etc/openvpn/keys/server.crt
key /var/packages/VPNCenter/target/etc/openvpn/keys/server.key

max-clients 5


persist-tun
persist-key

verb 3

In der openvpn.ovpn aufm client habe ich folgendes eingetragen:

Code:
dev tun
tls-client
remote xxxxxxxxxx.no-ip.org 1723

pull
proto tcp-client
script-security 2

ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass

In meinem Router, einer Fritzbox 7270 habe ich Port 1723 (tcp) geöffnet und auf Port 1723 der Synology weitergeroutet.

Wenn ich jetzt beim Client openvpn starte kann ich mich auch beim Proxy anmelden, anschliessend gebe ich die Zugangsdaten fürs OpenVPN meine Syno ein, aber es kommt folgende Fehlermeldung:

Code:
Fri Mar 23 11:58:54 2012 OpenVPN 2.2.2 Win32-MSVC++ [SSL] [LZO2] [PKCS11] built on Dec 15 2011
Fri Mar 23 11:59:02 2012 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Fri Mar 23 11:59:02 2012 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Fri Mar 23 11:59:02 2012 LZO compression initialized
Fri Mar 23 11:59:02 2012 Attempting to establish TCP connection with xx.xx.xx.xx:8080
Fri Mar 23 11:59:02 2012 TCP connection established with xx.xx.xx.xx:8080
Fri Mar 23 11:59:05 2012 TCPv4_CLIENT link local: [undef]
Fri Mar 23 11:59:05 2012 TCPv4_CLIENT link remote: xx.xx.xx.xx:8080
Fri Mar 23 11:59:05 2012 Connection reset, restarting [0]
Fri Mar 23 11:59:05 2012 SIGUSR1[soft,connection-reset] received, process restarting
Fri Mar 23 11:59:10 2012 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Fri Mar 23 11:59:10 2012 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Fri Mar 23 11:59:10 2012 LZO compression initialized
Fri Mar 23 11:59:10 2012 Attempting to establish TCP connection with xx.xx.xx.xx:8080
Fri Mar 23 11:59:10 2012 TCP connection established with xx.xx.xx.xx:8080
Fri Mar 23 11:59:12 2012 TCPv4_CLIENT link local: [undef]
Fri Mar 23 11:59:12 2012 TCPv4_CLIENT link remote: xx.xx.xx.xx:8080
Fri Mar 23 11:59:12 2012 Connection reset, restarting [0]
Fri Mar 23 11:59:12 2012 SIGUSR1[soft,connection-reset] received, process restarting
Fri Mar 23 11:59:17 2012 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Fri Mar 23 11:59:17 2012 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Fri Mar 23 11:59:17 2012 LZO compression initialized
Fri Mar 23 11:59:17 2012 Attempting to establish TCP connection with xx.xx.xx.xx:8080
Fri Mar 23 11:59:17 2012 SIGTERM[hard,init_instance] received, process exiting

Was fehlt dem denn jetzt noch ??

Sonnige Grüße ;-)
Eisblume
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@Eisblume

kopiere die /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf nach /usr/syno/etc/packages/VPNCenter/openvpn/openvpn.conf.user

und in der "openvpn.conf.user" passt du dann alles an z.B.

dev tun
proto tcp
port 1194
nach Möglichkeit sollte immer UDP verwendet werden. tcp bietet weniger Leistung und auch weniger Schutz bzw verzichtest du mit dem Einsatz von tcp auf einen wesentlichen Schutzmechanismus von OpenVPN. Dies liegt daran, dass bei TCP der Server antworten muss. Bei UDP ist jedoch kein Antwortpaket des Servers vorgeschrieben (also kein SYN ACK). Über TCP sind also Portscans möglich und man wird immer ermitteln können, dass der Port offen sein muss. Bei UDP schweigt der Server jedoch (braucht noch eine einfache Konfiganpassung) und ein Scanner kann nicht sagen ob überhaupt ein System hinter der IP und Port steht.
Also wenn irgendwie möglich bei VPN-Geschichten immer UDP als Transportprotokoll verwenden :)
 

Eisblume

Benutzer
Mitglied seit
18. Nov 2011
Beiträge
56
Punkte für Reaktionen
0
Punkte
6
Stimmt schon !! Problem ist nur, das bei mir und dem Threaderöffner UDP beim Client nicht funzt !
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Stimmt schon !! Problem ist nur, das bei mir und dem Threaderöffner UDP beim Client nicht funzt !
Der Threastarter weiss nicht ob udp funzt oder ned. Er weiss nur dass Port 1194 geblockt wird und das wird unabhängig von UDP/TCP passieren. Er braucht den TCP Port nur, weil er für OpenVPN einen Port verwenden will, auf dem normalerweise nur TCP Protokolle erwartet werden. Wenn auf Port 443 oder 80 plötzlich mit UDP geantwortet würde, dann würde die Verbindung sofort verworfen werden. Weil jeder Proxy weiss: http(s) gibt es nur via TCP :)
 

Eisblume

Benutzer
Mitglied seit
18. Nov 2011
Beiträge
56
Punkte für Reaktionen
0
Punkte
6
Sorry, aber ich bin halt "noch" nicht so fit in der Materie :) !

Bei mir ist es so, dass im Netzwerk des Client nach aussen alles gesperrt ist, bis auf Port 80! Auf dem Rechner hab ich einen openVPN-Client installiert, dem ich sagen kann, dass er über den internen Proxy nach außen kommunizieren soll (was ja auch funktioniert). Ich habe es so verstanden, dass wenn ich vom Client aus lediglich über Port 80 kommunizieren kann, dass dies nur über das tcp-Protokoll möglich ist (und ich deshalb auch eine tcp-Portfreigabe in meinem Router einstellen muss).

Deshalb auch die tcp-Einstellungen in meiner Config!

Btw. soll keine Dauerlösung sein, ich will nur mal schauen, OB es klappt :) ! Normalerweise reicht mir das VPN aus, welches mir die FritzBox bietet! Werd mich aber wohl noch was mit der openvpn-Doku beschäftigen !
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ja wenn du via Port 80 oder 443 rauswillst dann musst du tcp verwenden. Nach Möglichkeit würde ich dann aber 443/tcp verwenden (https). Denn ein Proxy wird wohl erkennen können wenn auf Port 80 eine SSL Verbindung raus will und könnte das blocken. Für Port 443 wäre aber eine SSL Verbindung vollkommen normal und erwartet
Ich kann mir kaum vorstellen, dass Port 443 gesperrt ist, wenn gleichzeitig Port 80 erlaubt ist. Sonst wären ja keine sauberen https Verbindungen möglich
 

Schmarsi

Benutzer
Mitglied seit
21. Feb 2012
Beiträge
55
Punkte für Reaktionen
0
Punkte
0
Habe soweit alles gemacht. Alle Ports freigegeben, Firewall entsprechend eingestellt. Dann VPN Server auf der DS installiert und die Clientkonfigurationsdateien heruntergeladen. Per SSH die openvpn.conf.user erstellt nach obiger Vorlage. Dann bei Tunnelblick die ca.crt in das Konfigurationsverzeichnis mitsamt der angepassten "openvpn.ovpn" kopiert. Bekomme leider nur eine Fehlermeldung von Tunnelblick, wenn ich die openvpn.conf öffnen bzw mich zum Server verbinden möchte. Er scheint die ca.crt nicht zufinden, nur wieso nicht? Sie ist ja da - im korrekten Verzeichnis.

Hier der Log:

Rich (BBCode):
2013-01-22 15:23:18 *Tunnelblick: OS X 10.8.2; Tunnelblick 3.2.8 (build 2891.3099)
2013-01-22 15:23:22 *Tunnelblick: Attempting connection with openvpn/openvpn; Set nameserver = 1; monitoring connection
2013-01-22 15:23:22 *Tunnelblick: /Applications/Tunnelblick.app/Contents/Resources/openvpnstart start openvpn/openvpn.ovpn 1337 1 0 0 0 49 -atDASNGWrdasngw 
2013-01-22 15:23:22 *Tunnelblick: Established communication with OpenVPN
2013-01-22 15:23:22 OpenVPN 2.2.1 i386-apple-darwin10.8.0 [SSL] [LZO2] [PKCS11] [eurephia] built on Aug 10 2012
2013-01-22 15:23:22 *Tunnelblick: openvpnstart: /Applications/Tunnelblick.app/Contents/Resources/openvpn/openvpn-2.2.1/openvpn --cd /Users/X/Library/Application Support/Tunnelblick/Configurations --daemon --management 127.0.0.1 1337 --config /Users/X/Library/Application Support/Tunnelblick/Configurations/openvpn/openvpn.ovpn --log /Library/Application Support/Tunnelblick/Logs/-SUsers-SX-SLibrary-SApplication Support-STunnelblick-SConfigurations-Sopenvpn-Sopenvpn.ovpn.1_0_0_0_49.1337.openvpn.log --management-query-passwords --management-hold --script-security 2 --up /Applications/Tunnelblick.app/Contents/Resources/client.up.tunnelblick.sh -m -w -d -atDASNGWrdasngw --down /Applications/Tunnelblick.app/Contents/Resources/client.down.tunnelblick.sh -m -w -d -atDASNGWrdasngw --up-restart
2013-01-22 15:23:30 *Tunnelblick: Flushed the DNS cache
2013-01-22 15:23:30 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
2013-01-22 15:23:30 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
2013-01-22 15:23:30 Cannot load CA certificate file ca.crt path (null) (SSL_CTX_load_verify_locations): error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
2013-01-22 15:23:30 Exiting

Inhalt der openvpn.ovpn

Rich (BBCode):
dev tun
tls-client
remote XXX.dyndns.org 443

pull
proto tcp-client
script-security 2

ca ca.crt
comp-lzo
reneg-sec 0
auth-user-pass

Weiß jemand, wo der Fehler liegt?!

Gruß


EDIT:

Dieser Fehler ist behoben. Das Zertifkat darf NICHT in einem Unterordner liegen, daher der Fehler.

Nun aber folgendes Problem:

2013-01-22 15:42:03 TCP: connect to XX.XX.XX.XX:443 failed, will try again in 5 seconds: Connection refused

Klingt eigentlich danach, dass ein Port geblockt ist oder? Port 443 ist definitiv offen im Router und an die DS weitergeleitet. In der DSM Firewall ist der Port 443 auch freigegeben. Wo kann das Problem liegen?
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat