• Hallöle,
    ich brauch mal eure Hilfe beim konfigurieren meines OpenVPN Servers. Ich hoffe jemand kann mir da mal unter die Ärmchen greifen.

    Es ist folgendes geplant:

    • Alle Clients und auch der Server sind im VPN sichtbar! (Auch SMB!)
    • Die IP Adressen, die vom VPN-Server zugewiesen werden sollen 192.168.222.2-255 sein. Wen Ihr meint, dass das für ein VPN ungeeignet ist, dann mich bitte aufklären!
    • Der öffentliche Traffic der User soll NICHT über den VPN laufen! Das heißt, Surfen und Downloads laufen noch über die IP des Users, und werden nicht getunnelt!
    • Es soll keine Firewall innerhalb durch den VPN Server geben, da mit alle Verbindungen unbeeinträchtigt laufen, auch wenn es unsicher ist. Wer eben einmal drin ist, ist erstmal wirklich drin.

    Die Erstellung der Keys und Zertifikate bekomme ich hin. Nur mit den anlegen der Konfigurationen tuh ich mich schwer (inkl. Clients).

    Ich hoffe mann kann das umsetzen! Wen OpenVPN dafür absolut ungeeignet ist, brauch ich mal einen Guid, wie ich das eurer Meinung nach am besten umsetzen könnte.

    hier ma' das was ich bis her einigermaßen hin bekam:

  • Du hast sowohl tun als auch tap deaktiviert. Mach das
    ;dev tun
    zu
    dev tun

    Bei der Server-Zeile musst du das als Netz angeben statt als IP. Mach mal aus
    server 192.168.210.1 255.255.255.0
    ein
    server 192.168.210.0 255.255.255.0

    Anschließend den Dienst komplett neu starten. Der Rest sieht ok aus.

    Für die Clients tuts die Beispiel-Config, die du unter /usr/share/doc/openvpn/examples/sample-config-files/client.conf findest. Pass dort den Servernamen sowie die Pfade zu den Client-Zertifikaten an und verteil sie zusammen mit ca.crt, clietname.crt und clientname.key an die Clients.

    Falls es noch nicht klappt, geb kurz Bescheid. Ich hab damals meine Abschlussarbeit für die IHK über OpenVPN geschrieben und kann dir gerne weitergehend helfen.

  • Geht noch nicht. hängt es damit zusammen, dass ich einen V-Server verwende??? Hab alles gemacht was du sagtest. Das Problem liegt nun darin, dass ich keine Verbindung bekomme....

    server.conf:

    client.ovpn:

    Ich habe in den "config"-Ordner des Client folgende Dateien binär übertragen:

    • ca.crt
    • client.crt
    • client.csr
    • client.key
    • client.ovpn

    Die Dateien habe ich auf dem Server in eine .tar.gz gepackt und dann übertragen.

  • Zitat

    Tue Jan 03 18:12:54 2017 TCP: connect to [AF_INET]81.169.232.7:1194 failed: Connection timed out (WSAETIMEDOUT)

    Sieht aus. als ob das ne Firewall wegdroppt. Am Server Port freigegeben und am Client mal ausgehend erlaubt?

  • Sieht aus. als ob das ne Firewall wegdroppt. Am Server Port freigegeben und am Client mal ausgehend erlaubt?

    Client seitig sollte nichts im Weg stehen. Die Windows Firewall habe ich test weise abgeschaltet.
    Am Server habe ich glaube keine eine Firewall, es sei denn, es wurde Werkseitig eine installiert.

    Ab hier hängt sich der Log bis zum Time-Out auf:

  • Mach mal als Root:
    modprobe tun
    am Server. Wenn das scheitert, hast du einen OpenVZ-vServer und dein Anbieter hat dir das deaktiviert. Gib mir auch mal ne Ausgabe von
    uname -a
    dann kann ich das verifizieren.

  • Was für ein Linux-System läuft am Server? Insbesondere bei einer RHEL/CentOS-Installation ist standardmäßig eine Firewall aktiv, in der OpenVPN erst freigeschalten werden muss.

    Das OpenVPN-Log ist in der Regel als Teil des Syslogs (/var/log/syslog) zu finden, ansonsten im systemd-Journal (journalctl -b _COMM=openvpn).


  • Mach mal als Root:
    modprobe tun
    am Server. Wenn das scheitert, hast du einen OpenVZ-vServer und dein Anbieter hat dir das deaktiviert. Gib mir auch mal ne Ausgabe von
    uname -a
    dann kann ich das verifizieren.

    Code
    root@h2516500:/etc/openvpn# modprobe tun
    modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open builtin file '/lib/modules/4.4.0-042stab120.6/modules.builtin.bin'
    modprobe: FATAL: Module tun not found in directory /lib/modules/4.4.0-042stab120.6
    
    
    root@h2516500:/etc/openvpn# uname -a
    Linux h2516500.stratoserver.net 4.4.0-042stab120.6 #1 SMP Thu Oct 27 16:59:03 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux


    Was für ein Linux-System läuft am Server? Insbesondere bei einer RHEL/CentOS-Installation ist standardmäßig eine Firewall aktiv, in der OpenVPN erst freigeschalten werden muss.

    Das OpenVPN-Log ist in der Regel als Teil des Syslogs (/var/log/syslog) zu finden, ansonsten im systemd-Journal (journalctl -b _COMM=openvpn).

    Ich benutze Ubuntu 16.4 x64

  • Ich benutze Ubuntu 16.4 x64

    Code
    root@h2516500:/var/log# ls -lah
    -rw-r-----  1 syslog adm      95 Jan  4 00:56 syslog
    -rw-r-----  1 syslog adm    3,2K Jan  4 00:24 syslog.1
    -rw-r-----  1 syslog adm     953 Jan  3 00:24 syslog.2.gz
    -rw-r-----  1 syslog adm     467 Jan  2 00:24 syslog.3.gz
    -rw-r-----  1 syslog adm     749 Jan  1 00:24 syslog.4.gz
    -rw-r-----  1 syslog adm     416 Dez 31 00:24 syslog.5.gz
    -rw-r-----  1 syslog adm     412 Dez 30 00:24 syslog.6.gz
    -rw-r-----  1 syslog adm     642 Dez 29 00:24 syslog.7.gz

    In dem Falle werden alle Einträge aus dem systemd-Journal in diese klassischen Logdateien weitergeleitet. Du siehst vermutlich bloß keine Einträge in "syslog", weil deine Logdateien anscheinend täglich zwischen 12 und 1 nachts von logrotate durchrotiert (syslog → syslog.1, syslog.1 → syslog.2.gz, …) und komprimiert werden. Für die komprimierten älteren Logs, die auf ".gz" enden, brauchst du, sofern relevant, zcat (z* = GZip-Komprimierung).
    Außerdem hilft es, in der server.conf die "verb"osity von 3 auf 4 zu stellen (höhere Loglevel enthalten beim Betrieb als Daemon nur weniger nützliche Infos).

    Die auf Ubuntu vorinstallierte Firewall "Uncomplicated FireWall" (Artikel ist älter, trifft im Kern aber noch so zu) ist standardmäßig deaktiviert. Du kannst das mit ufw überprüfen:

    Code
    root@vieh:~# ufw status
    Status: inactive

    Außerdem richtig dumme Frage, aber läuft OpenVPN überhaupt?

    Code
    root@vieh:~# service openvpn status
    ● openvpn.service - OpenVPN service
       Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset:)
       Active: inactive (dead)
    Code
    root@h2516500:/etc/openvpn# modprobe tun
    modprobe: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not open builtin file '/lib/modules/4.4.0-042stab120.6/modules.builtin.bin'
    modprobe: FATAL: Module tun not found in directory /lib/modules/4.4.0-042stab120.6

    Versuch mal depmod -a, um die fehlende Datei modules.builtin.bin (welche eine Liste von Modulen anzeigt, die fest in den Linux-Kernel kompiliert wurden) anzulegen. Wenn es danach nicht funktioniert, hat der installierte Kernel leider weder den tun/tap-Adapter eingebaut (insbesondere fehlt dann dessen Kernel-Schnittstelle /dev/net/tun) noch als Modul dabei.
    In dem Falle müsste man recherchieren, ob und wie man bei Strato einen dafür passenden Kernel (z. B. den standardmäßigen "server"- oder "virtual"-Kernel) installieren darf/kann.


  • Wenn es danach nicht funktioniert, hat der installierte Kernel leider weder den tun/tap-Adapter eingebaut (insbesondere fehlt dann dessen Kernel-Schnittstelle /dev/net/tun) noch als Modul dabei.
    In dem Falle müsste man recherchieren, ob und wie man bei Strato einen dafür passenden Kernel (z. B. den standardmäßigen "server"- oder "virtual"-Kernel) installieren darf/kann.

    Genau das trifft zu.
    Hebe ich andere Möglichkeiten ein Intranet-(VPN) einzurichten ohne diese Module?


  • Habe ich andere Möglichkeiten ein Intranet-(VPN) einzurichten ohne diese Module?

    Soweit ich weiß, gibt es keine vorhandene VPN-Serverlösung, die ausschließlich als "interner" Layer-2/3-Router ohne Mithilfe des Betriebssystems (tun/tap- oder ppp-Adapter) fungieren kann.

    Um welche Art von Server-Virtualisierung es sich handelt, kannst du mit systemd-detect-virt herausfinden:

    Code
    dosamp@vieh:~$ systemd-detect-virt
    kvm

    Wenn diese in den Bereich "Container" denn "VM" fällt (und kein eigener Bootloader nach /boot/grub oder /boot/syslinux installiert ist), kannst du nichts daran richten.

    Strato hat das auch selber so dokumentiert:

    Zitat von https://www.strato.de/faq/article/1320/Kernel-Module-bei-unseren-Linux-Servern.html

    Hinweis: Bei virtuellen Servern (V-PowerServer oder virtuelle Windows Server) ist ein Zugriff auf den Kernel nicht möglich.

  • Soweit ich weiß, gibt es keine vorhandene VPN-Serverlösung, die ausschließlich als "interner" Layer-2/3-Router ohne Mithilfe des Betriebssystems (tun/tap- oder ppp-Adapter) fungieren kann.

    Um welche Art von Server-Virtualisierung es sich handelt, kannst du mit systemd-detect-virt herausfinden:

    Code
    dosamp@vieh:~$ systemd-detect-virt
    kvm

    Wenn diese in den Bereich "Container" denn "VM" fällt (und kein eigener Bootloader nach /boot/grub oder /boot/syslinux installiert ist), kannst du nichts daran richten.

    Strato hat das auch selber so dokumentiert:

    Habe jetzt einfach den Anbieter mal gewechselt und habe jetzt einen "echten" vServer.

    OpenVPN funktioniert! (nicht....)
    Der Verbindungsaufbau funktioniert. Doch nun habe ich das bekannte Problem, dass ich bei bestehender VPN-Verbindung kein Internet habe. Außerdem wird die VPN Verbindung als "Öffentlich" unter Windows eingestellt. Eine Änderung zunächst nicht möglich.

    Mit anderen Worten brauch ich jetzt noch Hilfe Server und Client so zu konfigurieren, dass er das macht, was ich oben beschrieben habe.


    Es ist folgendes geplant:

    • Alle Clients und auch der Server sind im VPN sichtbar! (Auch SMB!)
    • Die IP Adressen, die vom VPN-Server zugewiesen werden sollen 192.168.222.2-255 sein. Wen Ihr meint, dass das für ein VPN ungeeignet ist, dann mich bitte aufklären!
    • Der öffentliche Traffic der User soll NICHT über den VPN laufen! Das heißt, Surfen und Downloads laufen noch über die IP des Users, und werden nicht getunnelt!
    • Es soll keine Firewall innerhalb durch den VPN Server geben, da mit alle Verbindungen unbeeinträchtigt laufen, auch wenn es unsicher ist. Wer eben einmal drin ist, ist erstmal wirklich drin.

  • Zeig bitte nochmal die aktuelle Config von Server und Client. Das ist jetzt Feinarbeit.

    Klaro....

    Server:


    Client:

  • Code
    # If enabled, this directive will configure
    # all clients to redirect their default
    # network gateway through the VPN, causing
    # all IP traffic such as web browsing and
    # and DNS lookups to go through the VPN
    # (The OpenVPN server machine may need to NAT
    # or bridge the TUN/TAP interface to the internet
    # in order for this to work properly).
    push "redirect-gateway def1 bypass-dhcp"

    Das muss auf Server-Seite auskommentiert werden, damit die Clients ausschließlich das Netz 192.168.222.0/24 in das VPN routen.

  • Du solltest auf jeden Fall von tcp zurück auf udp stellen. Ansonsten leidet die Performance, weil man dann tcp in tcp kapselt. UDP hat in diesem Falle hier tatsächlich nen Vorteil.

    Vor diese Zeile muss ne # in der Server-Config, damit Routing des Internets durchs VPN verhindert wird:
    push "redirect-gateway def1 bypass-dhcp"
    Diese Änderung ist wichtig.

    Eins noch bedenken: Das Netzwerk des VPNs muss logischerweise nen anderes sein als dein LAN. Wenn du dein 192.168.222er Netz lanintern verwendest, musst du fürs VPN ein anderes nehmen. Welches das ist ist egal.


  • Du solltest auf jeden Fall von tcp zurück auf udp stellen. Ansonsten leidet die Performance, weil man dann tcp in tcp kapselt. UDP hat in diesem Falle hier tatsächlich nen Vorteil.

    Vor diese Zeile muss ne # in der Server-Config, damit Routing des Internets durchs VPN verhindert wird:
    push "redirect-gateway def1 bypass-dhcp"
    Diese Änderung ist wichtig.

    Hab ich nun getan und fast alles Funktioniert soweit.

    Das letzte Problem liegt nun darin, dass das VPN als "Öffentlich" eingestellt ist und daher das Netzwerk unsichtbar ist. Wie kann ich das bei Windows 7 noch beheben? Und wie kann ich das bei meinen Usern beheben?


    Eins noch bedenken: Das Netzwerk des VPNs muss logischerweise nen anderes sein als dein LAN. Wenn du dein 192.168.222er Netz lanintern verwendest, musst du fürs VPN ein anderes nehmen. Welches das ist ist egal.

    Darum hab ich sowas "seltenes" wie 222 verwendet.

  • Geh mal in Windows in die Firewall-Einstellungen und setz den Typ beim VPN-Interface auf Heimnetz oder so. Dann sollte das gehen, ist nur ne Sache der Windows-Firewall.

  • Mach die Windows-Firewall mal komplett aus. Brauchst du eh nicht, da den Part bereits deine Fritzbox übernimmt.

    Geh mal direkt über die VPN-IP auf einen der anderen Rechner. Also Windows+R und \\192.168.222.23 als Beispiel

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!