IPTABLES - OpenVPN Client Zugriff auf eine LAN IP zulassen

  • Hallo zuammen,

    da meine vorherige Frage bezüglich OpenVPN Split-Tunnel noch nicht beantwortet wurde, wollte ich fragen ob das generelle sperren über die Firewall IPTABLES der bessere Weg ist. Derzeit sieht der Inhalt meiner v4 rules folgendermaßen aus.

    Was müßte ich denn eintragen, damit der OpenVPN Client mit der IP 10.8.0.2 (oder mehr Clients) nur Zugriff auf meine FritzNAS mit der IP 192.168.0.1 hat, also kein Internetzugriff, und kein Zugriff auf andere LAN-Addressen? Danke

    Gruss

  • IPTABLES - OpenVPN Client Zugriff auf eine LAN IP zulassen? Schau mal ob du hier fündig wirst!

  • da meine vorherige Frage bezüglich OpenVPN Split-Tunnel noch nicht beantwortet wurde, wollte ich fragen ob das generelle sperren über die Firewall IPTABLES der bessere Weg ist. Derzeit sieht der Inhalt meiner v4 rules folgendermaßen aus.

    Code
    :INPUT DROP [649:78666]
    
    -A FORWARD -s 10.8.0.0/24 -i tun0 -o eth0 -m comment --comment openvpn-forward-rule -j ACCEPT

    Was müßte ich denn eintragen, damit der OpenVPN Client mit der IP 10.8.0.2 (oder mehr Clients) nur Zugriff auf meine FritzNAS mit der IP 192.168.0.1 hat, also kein Internetzugriff, und kein Zugriff auf andere LAN-Addressen?

    Ein Anwort zu deiner OpenVPN Split-Tunnel-Frage hast Du schon bekommen.

    BTW: Es ist immer besser Routing (dort wo möglich) zu benutzen statt Firewall-Regeln, weil man sich dann mit seiner Netzwerk-Topologie/-Konstellation beschäftigen muss bzw. diese besser kennen lernt.

    Versuch mal (als Test) mit:

    Code
    sudo iptables -I INPUT 1 -i tun0 -s 10.8.0.0/24 -d 10.8.0.1 -j ACCEPT
    sudo iptables -I INPUT 2 -i tun0 -s 10.8.0.0/24 ! -d 192.168.0.1 -j REJECT

    Löschen (wenn sie nicht passen) kannst Du die Regeln mit:

    Code
    sudo iptables -D INPUT 1
    sudo iptables -D INPUT 1  # hier auch die 1

    Wenn sie passen, dann kannst Du diese Regeln persistent eintragen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ich habe das mal getestet, und es scheint für http/https Anfragen zu funktionieren (ich teste das mit iPhone über Mobilnetz). Läßt sich das erweiteren für SMB Anfragen? Habe vergessen zu erwähnen das nur die FritzNAS (192.168.0.1) für diesen Client ausschließlich per SMB port 445 erreichbar sein soll, alle anderen SMB Server nicht. Danke nochmal.

  • Habe vergessen zu erwähnen das nur die FritzNAS (192.168.0.1) für diesen Client ausschließlich per SMB port 445 erreichbar sein soll, alle anderen SMB Server nicht.

    Dann lösche die 2 Regeln und teste mal mit:

    Code
    sudo iptables -I INPUT 1 -i tun0 -s 10.8.0.0/24 -d 10.8.0.1 -j ACCEPT
    sudo iptables -I INPUT 2 -i tun0 -p tcp -s 10.8.0.0/24 -d 192.168.0.1--dport 445 -j ACCEPT
    sudo iptables -I INPUT 3 -i tun0 -s 10.8.0.0/24 -d 192.168.0.0/24 -j REJECT

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Mit diesen drei Einträgen scheint wieder alles offen zu sein, Internet und LAN ist so erreichbar.

    Das sagt hier übrigens iptables -L

  • Mit diesen drei Einträgen scheint wieder alles offen zu sein, Internet und LAN ist so erreichbar.

    Das sagt hier übrigens iptables -L

    Poste die Ausgabe von:

    Code
    sudo iptables -nvx -L

    , damit man die counter der Regeln sieht.

    Und von dem Gerät, von dem "alles offen" ist, die Ausgabe von:

    Code
    mtr -4nr -c 1 9.9.9.9

    (oder gleichwertig).

    EDIT:

    Hast Du die 1. Regel:

    Code
    sudo iptables -I INPUT 1 -i tun0 -s 10.8.0.0/24 -d 10.8.0.1 -j ACCEPT

    geändert in:

    Code
    sudo iptables -I INPUT 1 -i tun0 -s 10.8.0.0/24 -d 10.8.0.2 -j ACCEPT

    ? ... weil:

    Code
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  10.8.0.0/24          10.8.0.2

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (1. September 2021 um 14:17)

  • sudo iptables -nvx -L sagt

    und bei deinem zweiten Eintrag weiß ich nicht wie ich das von einem iPhone (oder testweise PC) machen kann. Ist mtr ein Tool?

  • sudo iptables -nvx -L sagt

    Code
    Chain INPUT (policy DROP 1292 packets, 97653 bytes)
        pkts      bytes target     prot opt in     out     source               destination
           0        0 ACCEPT     all  --  tun0   *       10.8.0.0/24          10.8.0.2
           0        0 ACCEPT     tcp  --  tun0   *       10.8.0.0/24          192.168.0.1          tcp dpt:445
           0        0 REJECT     all  --  tun0   *       10.8.0.0/24          192.168.0.0/24       reject-with icmp-port-unreachable

    und bei deinem zweiten Eintrag weiß ich nicht wie ich das von einem iPhone (oder testweise PC) machen kann. Ist mtr ein Tool?

    Die counter der ersten 3 Regeln sind warum auch immer leer, d. h. sie greifen nicht.

    Ja, mtr ist ein traceroute-tool und deshalb habe ich ja auch gleichwertig geschrieben. Du kannst jedes andere bzw. geeignete traceroute-tool benutzen, damit man sieht welchen Weg (... den sie evtl. nicht gehen sollten) deine Datenpakete gehen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p6 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Sorry, habe erst jetzt deine Nachfrage in #6 gesehen wegen der geänderten IP 10.8.0.1 zu 10.8.0.2. Ich hatte unter #1 geschrieben das dies für den Client 10.8.0.2 (oder andere) gelten sollte. Deswegen dachte ich hier liegt ein Typo vor. Ich hatte auch vor --dport 445 noch ein Leerzeichen gesetzt. Da mich die ganze Logik dahinter immer mehr verwirrt, hier jetzt mal die Grundeinträge in der iptables wie es derzeit ohne Enschränken funktioniert für alle Clients. Es sei noch erwähnt das der OpenVPN-Server und Pihole als DNS-Server auf dem Raspberry mit der IP 192.168.0.37 läuft, und als solcher in der FB eingetragen ist.

    iptables -S:

    Meines Wissens nach ist die IP 10.8.0.1 für den Server reserviert. In der /etc/openvpn/server.conf steht:

    Code
    server 10.8.0.0 255.255.255.0
    # Set your primary domain name server address for clients
    push "dhcp-option DNS 10.8.0.1"
    push "block-outside-dns"

    Ich möchte erreichen:

    10.8.0.2 (Eingeschränkter Nutzer -> Client 1 nur LAN-Zugriff auf 192.168.0.1, und Internet über eigenen (z.B. Handy-Provider)

    10.8.0.3 (Vollzugriff -> Client 2 LAN-Zugriff auf 192.168.0.1 und ebenso Internet)

    10.8.0.4 (Vollzugriff -> Client 3 LAN-Zugriff auf 192.168.0.1 und ebenso Internet)

    .

    .

    .

Jetzt mitmachen!

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