OpenVPN VPN Server mit Internet einrichten

  • Ich habe einen OpenVPN Server auf meinem Server installiert.

    Wenn ich mich nun mit ihm verbinde, kann ich nur im 10.8.0.* Netz Daten austauschen. Ins Internet komme ich nicht.

    Der Server läuft auf Debian Stretch.

    NAT habe ich in der Firewall eingerichtet.

    Das ganze läuft über ein tun device.


    Code
    Kernel-IP-Routentabelle
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    default         gateway.netcup. 0.0.0.0         UG    0      0        0 ens3
    10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
    10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
    37.120.176.0    0.0.0.0         255.255.252.0   U     0      0        0 ens3
    172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0


    Falls nötig kann ich noch die OpenVPN-Server-config posten.

    Im Internet habe ich keine Lösung gefunden.

  • Hay,


    und das tun0 muss in die richtige Zone der Firewall... bzw. in überhaupt eine Zone... und braucht natürlich dann auch einen passenden Regelsatz ...


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Mal ganz doofe Frage, hast du in linux schon ipv4 forwarding aktiviert ?

    Ja:

    Code
    cat /proc/sys/net/ipv4/ip_forward
    1

    Du musst in der Config angeben, dass der gesamte Trafic übers VPN gehen soll.

    Weiterhin muss MASQ und NAT eingeschaltet sein. Kleine Anleitung

    Meine Config Datei:

    Damit sollte doch der ganze Traffic über den Tunnel gehen?


    ip a show tun0:

    Code
    tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
        link/none 
        inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
           valid_lft forever preferred_lft forever
        inet6 xxxx:xxxx:xxxx:xxxx:xxxx::1/112 scope global 
           valid_lft forever preferred_lft forever
        inet6 fe80::c103:30c4:9107:1b4a/64 scope link flags 800 
           valid_lft forever preferred_lft forever

    Masqerade ist aktiv.

    unter *nat in meiner iptables config.

    Server habe ich auch mehrfach neugestartet.

  • In den Configs kann ich jetzt nichts falsches erkennen.
    (Allerdings habe ich hier noch nicht mit IPv6 gearbeitet)


    Hast du bei Iptables ensprechende Forward und PostRouting regeln?

    Meine (Netcup) Produkte: S 1000 G7, VPS 200 G8 Ostern 2019, IPs, Failover..

  • Hay,

    redirect-gateway autolocal versuchen.

    iptables -I FORWARD -j ACCEPT versuchen.

    iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o ens3 -j MASQUERADE versuchen


    Firewall log beobachten. Und natürlich ausschließen, dass der Client falsch routet... vom Client mal ein traceroute 8.8.8.8 machen und mal mit nslookup netcup.de testen, welcher DNS benutzt wird.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Bei mir ist im

    *filter

    FORWARD auf ACCEPT


    In *nat

    -A POSTROUTING -s 10.8.0.0/24 -o ens3 -j MASQUERADE


    Aber eine Regel mit FORWARD finde ich nicht mehr. Ich hatte im Kopf eine gesetzt zu haben.

    Klappt aber auch so nicht.


    Code
    iptables -A FORWARD -i tun0 -j ACCEPT
    iptables -A FORWARD -i tun0 -o ens3 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i ens3 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT

    Meine firewallconfig (gekürzt)

  • Äh muss das GW nicht als Server arbeiten? Wenn ich mich recht entsinne hatte ich damals bei meiner config

    mode server

    noch mit drin. So arbeitet openvpn nur im point2point. Korrigiert mich wenn ich falsch liege.

    Brauchst du am Anfang ip-v6 im Tunnel? Wenn nein, würde ich erst einmal alles mit v4 einrichten.

    Ich habe aktuell openvpn bei einem Kunden für die Interne Kommunikation laufen. Ich wollte mal wieder meinen Tunnel auch aufsetzen :D

  • Nachtrag:

    Ich habe es noch einmal bei mir auf dem Spielserver durchgespielt. Es funktioniert auf anhieb mit dieser Anleitung:

    Ubuntu1604. Die ist zwar für Ubuntu1604 aber das sollte eigentlich bei dir passen. Ein Unterschied könnte die Firewallconfig sein. Ich habe die UFW laufen (ich habe auch noch ispconfig auf dem Server im Einsatz).

    Die Anleitung für Debian sieht fast genauso aus (ok, keysize ist anders).


    Ich habe auch den server Mode bei dir gefunden, ich war blind.

    Ich habe aktuell erst einmal rein v4 im Einsatz. v6 habe ich noch nicht eingerichtet.

  • Danke erstmal für eure Unterstützung! Letztlich lag es bei mir an einem Tippfehler...

    Ich hatte in der /etc/openvpn/scripts/ndp-proxy-setup.sh

    Einen Strichpunkt nach if [[...]]; then vergessen.

    Jetzt funktioniert die Verbindung ins Internet über IPv4 und IPv6, nur unbound gibt den Clients noch keine Antwort (ich habe aber schon eingestellt, dass unbound auf 10.8.0.* hört). -> DNS läuft noch über Google.

    Das Problem sollte aber lösbar sein.

    Noch eine Frage: sind Clients über IPv6 auch hinter einer NAT? Muss ich diese noch durch eine Firewall auf dem Server schützen?