Anleitung: OpenVPN auf der Linux Konsole

Discussion in 'Linux' started by PP Stephan, Aug 9, 2016.

  1. PP Stephan

    PP Stephan Staff Member

    Dieser Thread bezieht sich auf die Anleitung OpenVPN auf der Linux Konsole. Bitte schreibt hier nur, wenn Ihr Fragen, Anmerkungen oder anderes Feedback zu dieser Dokumentation habt. Um diesen Thread übersichtlich und frei von veralteten Postings zu halten, wird er ab und zu vom Moderatoren-Team aufgeräumt.
     
    Last edited: Aug 9, 2016
  2. g

    gumba New Member

    Kleine Idee zum Einfügen von "password.txt" in die .ovpn-Dateien.
    Über die Shell hat man das in wenigen Sekunden erledigt, z.B. indem man in das Verzeichnis wechselt, in dem die Dateien liegen und
    Code:
    sudo find *.ovpn -type f -exec sed -i 's/auth-user-pass/auth-user-pass password.txt/g' {} \;
    ausführt.

    Nicht, dass jemand sich die Arbeit macht und jede Datei einzeln anpasst :eek:
     
    moejoe likes this.
  3. G

    GCommander New Member

    Bin die Anleitung Schritt für Schritt durchgegangen. Leider kommt es am Ende zu einer Fehlermeldung:

    Die update-resolf-conf befindet sich auch nicht in der .zip Datei. Weiß jemand wie ich weiter vorgehen kann?

    p.s.: Eine Anleitung für den GNOME Networkmanger wäre wohl zielführender für die meisten Nutzer.
     
  4. PP Frank

    PP Frank Staff Member

    Hast du resolvconf installiert? Mach das mal. "sudo apt-get install resolvconf"
     
  5. G

    GCommander New Member

    Ich nutze Fedora, deshalb muss ich auch diesen Terminal Weg beschreiten. Bei Fedora gibts keine resolvconf. Würde ich Ubuntu nutzen wäre das natürlich obsolet. Deswegen auch mein Vorschlag eine Anleitung für das GNOME Standard Programm. Damit hätte man ziemlich viele Derivate mit einem Streich abgedeckt.
     
  6. G

    GCommander New Member

    Nope

    und ein Debian Derivat
     
  7. Z

    Zebedee New Member

    Ich nutze auch Fedora. Wenn ich in der .ovpn Datei die Zeilen

    down /etc/openvpn/update-resolv-conf
    up /etc/openvpn/update-resolv-conf

    auskommentiere, dann klappt alles reibungslos.
     
  8. p

    panta_rhei New Member

    Hi, Ich habe eine Frage.
    Ich verwende Arch Linux und würde gerne meinen Zugang zum laufen Bringen.
    hab so weit alles nach Anleitung erledigt.
    Leider ist auch nach der Installation von "resolvconf" keine Datei unter /etc/openvpn/update-resolv-conf vorhanden.
    mit welchen Befehl erstelle ich die Datei richtig?

    Beste Grüße und Danke für eure Zeit!
     
  9. g

    gumba New Member

    Ich hab mir irgendwann mal dieses Script gespeichert, funktioniert hier problemlos.

    Code:
    #!/bin/bash
    #
    # Parses DHCP options from openvpn to update resolv.conf
    # To use set as 'up' and 'down' script in your openvpn *.conf:
    # up /etc/openvpn/update-resolv-conf
    # down /etc/openvpn/update-resolv-conf
    #
    # Used snippets of resolvconf script by Thomas Hood <jdthood@yahoo.co.uk>
    # and Chris Hanson
    # Licensed under the GNU GPL.  See /usr/share/common-licenses/GPL.
    # 07/2013 colin@daedrum.net Fixed intet name
    # 05/2006 chlauber@bnc.ch
    #
    # Example envs set from openvpn:
    # foreign_option_1='dhcp-option DNS 193.43.27.132'
    # foreign_option_2='dhcp-option DNS 193.43.27.133'
    # foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
    # foreign_option_4='dhcp-option DOMAIN-SEARCH bnc.local'
    
    ## You might need to set the path manually here, i.e.
    RESOLVCONF=/usr/bin/resolvconf
    
    case $script_type in
    
    up)
      for optionname in ${!foreign_option_*} ; do
        option="${!optionname}"
        echo $option
        part1=$(echo "$option" | cut -d " " -f 1)
        if [ "$part1" == "dhcp-option" ] ; then
          part2=$(echo "$option" | cut -d " " -f 2)
          part3=$(echo "$option" | cut -d " " -f 3)
          if [ "$part2" == "DNS" ] ; then
            IF_DNS_NAMESERVERS="$IF_DNS_NAMESERVERS $part3"
          fi
          if [[ "$part2" == "DOMAIN" || "$part2" == "DOMAIN-SEARCH" ]] ; then
            IF_DNS_SEARCH="$IF_DNS_SEARCH $part3"
          fi
        fi
      done
      R=""
      if [ "$IF_DNS_SEARCH" ]; then
        R="search "
        for DS in $IF_DNS_SEARCH ; do
          R="${R} $DS"
        done
      R="${R}
    "
      fi
    
      for NS in $IF_DNS_NAMESERVERS ; do
        R="${R}nameserver $NS
    "
      done
      #echo -n "$R" | $RESOLVCONF -x -p -a "${dev}"
      echo -n "$R" | $RESOLVCONF -x -a "${dev}.inet"
      ;;
    down)
      $RESOLVCONF -d "${dev}.inet"
      ;;
    esac
    
    # Workaround / jm@epiclabs.io
    # force exit with no errors. Due to an apparent conflict with the Network Manager
    # $RESOLVCONF sometimes exits with error code 6 even though it has performed the
    # action correctly and OpenVPN shuts down.
    exit 0
    Alternativ kannst mal openvpn-update-resolv-conf aus dem AUR installieren, das sieht auf den ersten Blick sehr ähnlich aus ;)
     
  10. p

    panta_rhei New Member

    THX works fine!!
     
  11. r

    rockweapon New Member

    Hallo zusammen,

    welchen Option in der "openvpn-client".conf von euch blockt DNS-Server, die außerhalb vom VPN liegen unter Linux?
    Unter Windows kann man ja die Option: "block-outside-dns" in der Konfiguration einfügen und dann wird nur euer DNS-Server genommen.
    Andere DNS-Server, die dem TAP_v9 Adapter unter Windows primär und Sekundär zugewiesen sind, werden dann ignoriert.
    Die DNS-Server von euch hole ich mir mithilfe der "update-resolve-conf." Die Direktiven
    Code:
     script-security 2 
    und
    Code:
     down /etc/openvpn/update-resolv-conf 
    Code:
     up /etc/openvpn/update-resolv-conf 
    befinden sich in der "openvpn"-client.conf und funktionieren auch.
    Was muss ich einstellen, damit die globalen Google-DNS als zusätzliche DNS-Server für meine VPN-Verbindung zu euch hergenommen werden?

    Vielen Dank im voraus!

    Gruß

    rockweapon
     
  12. m

    moejoe Member

    Hallo miteinander,

    Ich wollte nachdem ich Openvpn auch auf meinem Reciever zum laufen gebracht habe, auch auf meinem Rasberry pi zum laufen kriegen.

    Denke ich krieg das auch mit der linux Anleitung hin, aber wie stelle ich sicher, dass jeder traffic, der aus dem RAS über die vpn verbinung rausgeht ?

    Meine Konstellation ist, dass der RAS am Router angeschlossen ist.

    Muss ich dafür iptables bemühen ?

    grüße moejoe
     
  13. m

    moejoe Member

    Btw, wenn es interessiert

    Hier ne Anleitung für den Autotart :

    Die Ovpn Datei, die man benutzen will in conf unbennen zb. basel.ovpn in basel.conf

    Die Datei für openvpn find man hier : /etc/default/openvpn

    In der Datei bei dem Eintrag
    Autostart die ovpn eintragen
    zB. so:

    AUTOSTART="basel"

    Edit: Wg. Zeilenfehler
    grüsse moejoe
     
    Last edited: Feb 9, 2018
  14. m

    moejoe Member

    Debian Stretch
    RASPI vers. 2
    Openvpn 2.4.0

    Ich habe jetzt soweit bei meinem RAS OPENVPN installiert und konfiguriert funktioniert auch soweit
    aber ich brauche eine Möglichkeit dass ich den eingehenden Datenverkehr zulassen kann ohne VPN.

    Wie stelle ich das an `?
     
    Last edited: Mar 28, 2018
  15. archlinux

    archlinux New Member

    wieso nutzt ihr nicht Perfect Privacy OpenVPN Manager für Linux ? gibts da ein unterschied
     
  16. m

    moejoe Member

    Kann ich das auch über die Commandline machen ? hab keine GUI und es soll auch keine drauf

    Meine Vpnverbindung funktioniert aber ich komme zb. nicht mit meinem Handy ( Mobile Verbindung ) mit meiner dynamischen Adresse per ssh auf meinen RAS wenn die VPN Verbindung auf dem RAS läuft.

    grüsse moejoe
     
  17. F

    Fluffy New Member

    Hallo,

    ich kann mich nicht mehr über das Terminal mit PP verbinden. Ich erhalte bei einem Verbindungsversuch folgende Meldung:

    "Thu May 10 12:04:48 2018 us=806806 /usr/bin/ip -6 addr add fdbf:xxxxxxxxxxxxxx/112 dev tun1
    RTNETLINK answers: Operation not supported
    Thu May 10 12:04:48 2018 us=808753 Linux ip -6 addr add failed: external program exited with error status: 2
    Thu May 10 12:04:48 2018 us=808801 Exiting due to fatal error"

    Kann mir hier jemand weiterhelfen ? Wäre wirklich sehr nett. Stehe mit Arch noch am Anfang und hab keine Ahnung, wie ich das Problem beheben könnte.

    edit:

    Habe mir mit folgenden Einträgen in der jeweilligen .ovpn erstmal weiterhelfen können:

    pull-filter ignore "dhcp-option DNS6"
    pull-filter ignore "tun-ipv6"
    pull-filter ignore "ifconfig-ipv6"

    Nun ist eine Verbindung zu PP wieder möglich. Jedoch nicht über stunnel. Hier werden die drei Einträge bemängelt. Von daher wäre es schön, wenn mir hier jemand weiterhelfen könnte, so dass ich die Verbindung ohne Probleme über stunnel schicken kann.

    Edit2:

    Habe es jetzt über obfsproxy gemacht. Nun funzt alles.
     
    Last edited: May 10, 2018
  18. m

    mastermind New Member

    Hallo!
    Kann mir bitte jemand von Euch weiterhelfen?

    Frage:
    Wie kann ich den Perfect-Privacy-Openvpn-Manager auf TrueOS installieren? Oder wie kann ich die .deb Datei dafür kompillieren? Weiß das jemand von Euch?
     
  19. n

    neik New Member

    Ich überlege meinem Server PP vorzuschalten, bin allerdings ziemlich unerfahren was VPNs angeht.

    Eine Frage:
    Was passiert wenn die VPN-Verbindung abbricht, der Server aber so eingestellt ist, dass dieser keine Verbindung ohne VPN aufbauen soll?
    Habe ich da noch eine Möglichkeit mich via SSH mit dem Server zu verbinden?
     
  20. r

    remo10 New Member

    Hallo zusammen.

    Bezugnehmend auf diese Anleitung:
    https://www.perfect-privacy.com/de/manuals/linux_openvpn_terminal

    habe ich ein paar Anmerkungen.
    Unter Debian 10 funktioniert das leider nicht 100%ig.
    Ich habe mir tagelang die Karten gelegt.

    Die initiale Verbindung nach der frischen openvpn-Installation funktioniert gut.
    Aber nach dem Neustart des Debian kommen ständig Meldungen wie:
    Broadcast message from xxx@xxx(Tue 2019-11-12 08:25:50 CDT):
    Password entry required for 'Enter Auth Username:' (PID 1337). Please enter password with the systemd-tty-ask-password-agent tool

    Problematisch ist hierbei der openvpn-Dienst, welcher einen Auto Connect beim Reboot mit der angegebenen Password.txt versucht. Der Dienst meint es gut und versucht nach dem Neustart scheinbar die erstbeste .conf automatisch verbinden zu wollen. Aber irgendwie schlägt das fehl und o.g. Meldung erscheint sporadisch auf der Konsole.

    Mein Ziel:
    openvpn soll nicht automatisch nach dem Neustart starten und schon gar nicht verbinden.
    Ich möchte das "manuell" erledigen.
    Des Weiteren möchte ich nicht die von PP heruntergeladenen .conf-Dateien verändern.

    Der Weg:
    Lang und beschwerlich, da sich meine Linux-Kenntnisse im Moment noch im unteren Mittelfeld befinden.

    Die Lösung:
    Doch recht einfach.

    1. Credentials File erstellen
    sudo nano /home/hans/.pp

    2. mit Inhalt
    PP-Username
    PP-Passwort

    3. Berechtigung anpassen
    sudo chmod 600 /home/hans/.pp

    4. .conf-Dateien gemäß Anleitung herunterladen und openvpn + resolvconf wie unter o.g. Link installieren

    5. (jetzt wird's interessant) - openvpn Autostart deaktivieren
    sudo nano /etc/init.d/openvpn
    -> AUTOSTART="all" ändern zu AUTOSTART="none"
    sudo nano /etc/default/openvpn
    -> die Zeile #AUTOSTART="none" einkommentieren
    sudo systemctl daemon-reload
    sudo reboot

    6. Voila - keine Meldungen mehr!

    Manuelle Verbindung über die Konsole herstellen:

    1. Variante:
    sudo openvpn --config "/etc/openvpn/Basel.conf" --auth-user-pass "/home/hans/.pp"

    2. Variante (als Daemon):
    sudo openvpn --config "/etc/openvpn/Basel.conf" --auth-user-pass "/home/hans/.pp" --daemon





    Ich hoffe das hilft dem Einen oder Anderen.

    Beste Grüße
    remo


     
    Ghost likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice