FreifunkAdvanced / ff-advanced

Other
11 stars 6 forks source link

OpenVPN Konfiguration #60

Closed bitnukl closed 11 years ago

bitnukl commented 11 years ago

Leider habe ich keine aktuelle Anleitung gefunden, wie ich OpenVPN einrichten kann, ich würde aber gern einen Tunnel einrichten, durch den ich den Internetverkehr schicken kann.

Es scheint auch generell etwas mit OpenVPN schief zu laufen, ich konnte keine Verbindung mit meinem Server herstellen, selbst wenn ich OpenVPN über die Kommandozeile aufrufe.

openvpn --remote 123.1.2.3 --port 5000 --dev tun1 --ifconfig 172.20.1.1 172.20.1.2

OpenVPN startet ohne Fehlermeldung, es kommt aber einfach zu keiner Verbindung. Von einem Client im br-mesh hingegen funktioniert es sofort. Habe auch getestet die Firewall auszuschalten, ohne Erfolg.

SkaveRat commented 11 years ago

Eine Anleitung für VPNtunnel.se gibt es hier:

https://wiki.freifunk-rheinland.org/Firmware:VPN/VPNTunnelSE

wurde beim Umzug vergessen, von daher konntest du auch nichts finden ;)

Andere Anbieter sollten ähnlich sein. Da sollte es auch reichen die IPs/Adressen zu ändern.

Erstmal closed - Gerne reopen wenn noch etwas ist

RubenKelevra commented 11 years ago

Hab meinen Router hier so für einen anderen VPN-Anbieter zu konfigurieren versucht, die Anleitung klappt so irgendwie nicht. Er geht immernoch direkt ins Internet (sollte das bei aktivieren eines VPN nicht unmöglich werden?).

SkaveRat commented 11 years ago

Kannst du mal den "verb" wert in der config hochdrehen? bei 3 starten und aufwärts arbeiten ;)

Dann kannst du mit logread mal schauen ob auth-fehler stattfinden

bitnukl commented 11 years ago

Die Anleitung hatte ich schon gefunden, dachte sie ist nicht mehr aktuell, weil sie fehlte. :)

Mit der Anleitung komme ich auch nicht weiter. Was mir zudem auffällt ist, dass in der Anleitung nichts an der Routing Tabelle gemacht wird, scheinbar wird erwartet, dass der Server die Route setzt, was durchaus möglich ist.

Ich hab mal folgendes Gemacht:

root@host:~# openvpn --remote 123.1.2.3 --proto udp --port 5000 --dev tun0 --ifconfig 172.16.1.2 172.16.1.1 --verb 99

Fri Jan 4 22:21:10 2013 us=152250 OpenVPN 2.2.2 mips-openwrt-linux [SSL] [LZO2] [EPOLL] built on Oct 22 2012 Fri Jan 4 22:21:10 2013 us=153939 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables Fri Jan 4 22:21:10 2013 us=155323 *** WARNING ***: all encryption and authentication features disabled -- all data will be tunnelled as cleartext Fri Jan 4 22:21:10 2013 us=156731 Socket Buffers: R=[163840->131072] S=[163840->131072] Fri Jan 4 22:21:10 2013 us=178504 TUN/TAP device tun0 opened Fri Jan 4 22:21:10 2013 us=179585 TUN/TAP TX queue length set to 100 Fri Jan 4 22:21:10 2013 us=181096 /sbin/ifconfig tun0 172.16.1.2 pointopoint 172.16.1.1 mtu 1500 Fri Jan 4 22:21:10 2013 us=205497 Data Channel MTU parms [ L:1500 D:1450 EF:0 EB:4 ET:0 EL:0 ] Fri Jan 4 22:21:10 2013 us=205862 UDPv4 link local (bound): [undef]:5000 Fri Jan 4 22:21:10 2013 us=206057 UDPv4 link remote: 123.1.2.3:5000 Fri Jan 4 22:21:11 2013 us=295918 event_wait returned 0 Fri Jan 4 22:21:12 2013 us=381353 event_wait returned 0 Fri Jan 4 22:21:13 2013 us=466491 event_wait returned 0 Fri Jan 4 22:21:14 2013 us=551934 event_wait returned 0 Fri Jan 4 22:21:15 2013 us=636503 event_wait returned 0 Fri Jan 4 22:21:16 2013 us=721999 event_wait returned 0 .....

Es ist einfach so, als gäbe es den Server nicht, die gleiche Zeile auf einem PC (Windows u Linux) geht sofort!

SkaveRat commented 11 years ago

Die Anleitung funktioniert bei mir Problemlos. Die Firewall regeln habe ich unten an die firewall.user angehangen.

bitnukl commented 11 years ago

Womit verbindest du dich denn? Weil wie gesagt, ich erkenne nichts was sich aufs routing auswirkt. ^^

Firewall sollte keine Auswirkungen haben, die iptables regeln betreffen alle nur den traffic im VPN, nicht das VPN selbst. Außerdem kann ich Verbindungen vom Router auf HiPorts aufbauen, sollte also auch udp5000 gehen.

SkaveRat commented 11 years ago

keine Ahnung, bin nicht der iptables/routing experte. aber das VPN läuft wunderbar und ich komme in schweden raus ;)

lcb01a commented 11 years ago

Das Routing wird auf der OpenVPN-Server Seite gesetzt, hier ist von uns keine Konfiguration notwendig.

bitnukl commented 11 years ago

Naja, ich betreibe ja schon meinen Server selbst, weil es nicht geht! Außerdem geht es hier die ganze Zeit darum, dass KEINE VERBINDUNG zum Server aufgebaut wird. Bitte lesen, dann schließen!

lcb01a commented 11 years ago

Selbst wenn es ein Problem des Paketes ist, dann ist dieses Ticket besser bei OpenWRT aufgehoben ;)

bitnukl commented 11 years ago

@SkaveRat Welche firmware läuft bei dir auf dem router?

SkaveRat commented 11 years ago

die vorletzte version müsste das sein. aber an dem openvpn paketieren wurde nichts geändert in letzter zeit

bitnukl commented 11 years ago

OK thx, ich werde mal noch was rumprobieren...

RubenKelevra commented 11 years ago

Hier ist mein Log, hab natürlich die Konfiguration vom Anbieter verwendet und nicht die die für den SchwedenVPN dort im Wiki steht:

http://pastebin.com/scVzy8xE

meine Konfiguration:

http://pastebin.com/0Q4xXwp6

SkaveRat commented 11 years ago

Jan 5 01:28:04 wk-001 daemon.notice openvpn(custom_config)[1808]: VERIFY nsCertType ERROR: /C=HK/ST=Hong_Kong/L=Kwun_Tong/O=OneHop_Network_SolutionsLtd./CN=.hide.io, require nsCertType=SERVER Jan 5 01:28:04 wk-001 daemon.err openvpn(custom_config)[1808]: TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:lib(20):func(144):reason(134) Jan 5 01:28:04 wk-001 daemon.err openvpn(custom_config)[1808]: TLS Error: TLS object -> incoming plaintext read error Jan 5 01:28:04 wk-001 daemon.err openvpn(custom_config)[1808]: TLS Error: TLS handshake failed

da scheit es ein zertifikatsproblem zu geben. Hast du das cert von deinem anbieter auch hinkopiert?

Jedenfalls kann er kein VPN aufbauen wegen ungültigem cert

RubenKelevra commented 11 years ago

Ja, das Zertifikat liegt in /etc/openvpn/ca.crt

In eurer Konfiguration steht "ns-cert-type server", das scheint auch standardmäßig gesetzt zu sein.

In der OpenVPN-Doku steht dazu folgendes:

IMPORTANT

To avoid a possible Man-in-the-Middle attack where an authorized client tries to connect to another client by impersonating the server, make sure to enforce some kind of server certificate verification by clients. There are currently four different ways of accomplishing this, listed in the order of preference:

(1) Build your server certificates with the build-key-server script. This will designate the certificate as a server-only certificate by setting nsCertType=server. Now add the following line to your client configuration:

 ns-cert-type server

 This will block clients from connecting to any
 server which lacks the nsCertType=server designation
 in its certificate, even if the certificate has been
 signed by the CA which is cited in the OpenVPN configuration
 file (--ca directive).

(2) Use the --tls-remote directive on the client to accept/reject the server connection based on the common name of the server certificate.

(3) Use a --tls-verify script or plugin to accept/reject the server connection based on a custom test of the server certificate's embedded X509 subject details.

(4) Sign server certificates with one CA and client certificates with a different CA. The client config "ca" directive should reference the server-signing CA while the server config "ca" directive should reference the client-signing CA.

Weiß jemand wie ich die Verifikation abschalten kann? Das Zertifikat hab ich ja eh selbst aufs Gerät installiert.

RubenKelevra commented 11 years ago

Mit "tls-client" kommt er jetzt weiter. Jetzt schluckt er blos mein Passwort nicht:

http://pastebin.com/Vqga9aLZ

RubenKelevra commented 11 years ago

Habs jetzt doppelt geprüft, das Passwort und der Login waren richtig.

Im Endeffekt war das Passwort einfach zu lang.