Debian 9 VPN Gateway - Kein kill switch möglich

Discussion in 'Linux' started by nightstalk3r, Mar 17, 2019.

  1. n

    nightstalk3r New Member

    Hallo zusammen,

    ich beiße mir seit ein paar Tagen die Zähne aus. Folgende Netzwerktopologie habe ich:
    PC -> 192.168.0.20
    Gateway -> 192.168.0.2
    FritzBox -> 192.168.0.252
    DNS Server für Domäne "zuhause.lan" -> 192.168.0.3

    Als Server kommt ein APU2D4 Board zum Einsatz mit OpenVPN und PP. OpenVPN läuft als Systemdienst.
    VPN läuft einwandfrei. Was etwas komisch war, dass PP nur mit aktiviertem IPv6 geht (Das am Rande).
    Da APU Board, läuft alles über Konsole. Keine Grafikausgabe.

    Ich bekomme, egal welche Anleitung ich nehme, sei es über Iptables oder UFW, keinen Kill Switch zustande.
    Also wenn das VPN zusammenbricht, soll schlicht und einfach kein Internet funktionieren.

    Routing geht mit IPtables:
    # Generated by iptables-save v1.6.0 on Sat Mar 16 19:19:42 2019
    *nat
    :pREROUTING ACCEPT [3208:850800]
    :INPUT ACCEPT [588:332713]
    :OUTPUT ACCEPT [209:15304]
    :pOSTROUTING ACCEPT [323:36199]
    -A POSTROUTING -o tun0 -j MASQUERADE
    COMMIT
    # Completed on Sat Mar 16 19:19:42 2019
    # Generated by iptables-save v1.6.0 on Sat Mar 16 19:19:42 2019
    *filter
    :INPUT ACCEPT [1269:755600]
    :FORWARD ACCEPT [1472:286067]
    :OUTPUT ACCEPT [1317:398917]
    -A FORWARD -i tun0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i enp1s0 -o tun0 -j ACCEPT
    COMMIT
    # Completed on Sat Mar 16 19:19:42 2019

    Wenn ich die Iptables für den "Kill Switch" eingebe, funktioniert kein Routing, Ping, Traceroute mehr von den Clients:
    iptables -A OUTPUT -o tun0 -m comment --comment "vpn" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -p icmp -m comment --comment "icmp" -j ACCEPT
    iptables -A OUTPUT -d 192.168.0.0/24 -o enp1s0 -m comment --comment "lan" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -p udp -m udp --dport 1194 -m comment --comment "openvpn" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -p tcp -m tcp --sport 22 -m comment --comment "ssh" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -p udp -m udp --dport 123 -m comment --comment "ntp" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -p udp -m udp --dport 53 -m comment --comment "dns" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -p tcp -m tcp --dport 53 -m comment --comment "dns" -j ACCEPT
    iptables -A OUTPUT -o enp1s0 -j DROP

    Also, Iptables wieder resettet und nur das Nötigste rein um Routing zu aktivieren:
    iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    iptables -A FORWARD -i tun0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

    Dann über ufw versucht mit folgenden Befehlen:
    ufw allow in on enp1s0 from 192.168.0.0/24
    ufw allow out on enp1s0 to 192.168.0.0/24
    ufw default deny outgoing
    ufw default deny incoming
    ufw allow out on tun0 from any to any
    ufw allow out to ip-des-pp-servers port 1194 proto udp
    ufw allow in on tun0 from any to any

    Wer hat eine Idee ? Keine Anleitung die funktioniert, habe echt viel abgesucht.
     
  2. B

    Bulette New Member

    Dann probiere mal folgendes :) :

    sudo iptables --flush

    sudo iptables --delete-chain

    sudo iptables -t nat -F

    sudo iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE

    sudo iptables -A INPUT -i enp1s0 -p tcp --dport 22 -j ACCEPT

    sudo iptables -A INPUT -i lo -m comment --comment "loopback" -j ACCEPT

    sudo iptables -A OUTPUT -o lo -m comment --comment "loopback" -j ACCEPT

    sudo iptables -I INPUT -i enp1s0 -m comment --comment "In from LAN" -j ACCEPT

    sudo iptables -I OUTPUT -o tun+ -m comment --comment "Out to VPN" -j ACCEPT

    sudo iptables -A OUTPUT -o enp1s0 -p udp --dport 1194 -m comment --comment "openvpn" -j ACCEPT

    sudo iptables -A OUTPUT -o enp1s0 -p udp --dport 123 -m comment --comment "ntp" -j ACCEPT

    sudo iptables -A OUTPUT -p UDP --dport 67:68 -m comment --comment "dhcp" -j ACCEPT

    sudo iptables -A OUTPUT -o enp1s0 -p udp --dport 53 -m comment --comment "dns" -j ACCEPT

    sudo iptables -A FORWARD -i tun+ -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT

    sudo iptables -A FORWARD -i enp1s0 -o tun+ -m comment --comment "LAN out to VPN" -j ACCEPT

    sudo iptables -P FORWARD DROP

    sudo netfilter-persistent save

    sudo systemctl enable netfilter-persistent


    #DNS Leak verhindern
    sudo apt-get install dnsmasq

    #script-security 2 # bereits in den PP *.ovpn Configs vorhanden
    #up /etc/openvpn/update-resolv-conf # bereits in den PP *.ovpn Configs vorhanden
    #down /etc/openvpn/update-resolv-conf # bereits in den PP *.ovpn Configs vorhanden

    Das klappt!!!! :) Berichte gerne.


    Achso und sollte auch ohne ipv6 laufen, guck mal in der *.ovpn und lösche den Eintrag
    tun-ipv6
    Gruß
    BULETTE
     
  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