Konfiguration iptables klappt nicht - Parameter -s für IP-Angabe macht Schwierigkeit

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,


    nachdem ich nun heute den ganzen Tag probiert habe und jetzt Rückenschmerzen und zerschundene Finger vom Tippen habe :) ) muss ich nun leider doch einen Request hier machen.

    Problem:
    Ich habe auf dem Raspberry einen ssh-Server laufen. In der Grundeinstellung meines wheezy-Systems kann ich per ssh-client wunderbar drauf zugreifen.
    Seit ich die empfohlenen Einträge in der /etc/network/iptables eingefügt habe, habe ich keinen Zugriff mehr, sofern ich den Parameter -s nutze (der die Range der nutzungsberechtigten IPs angibt).
    Ohne den Parameter klappt der Zugriff. Nur leider eben von absolut jedem Gerät, was ich nicht will.

    Die Einträge in der iptables habe ich u.a. nach dieser Anleitung eingestellt.

    boandlkramer
    1. April 2013 um 21:14

    Demzufolge sind dort folgende Einträge drin:

    Mein ssh-client läuft auf Android. Im Router nutze ich Port-Forwarding. Möglicherweise ist demzufolge einer von den beiden ssh-Einträgen zu viel - habe aber mit beiden einzeln probiert - ohne Erfolg.
    Das Android-Gerät bekommt vom Router per dhcp die IP 192.168.1.4 zugewiesen.
    Wenn ich richtig gelesen habe, dann sollte meine Angabe des Parameters -s alle internen IPs von 192.168.1.0 bis 192.168.1.255 zulassen - korrekt?
    Durch Entfernung des Parameters -s werden die Verbindungen meiner Androiden akzeptiert.

    Aber ich möchte ja gern die IP-Beschränkung nutzen...

    Die Regeln liefern folgendes Ergebnis (mit -s Parameter) - per Hand abgetippt -:


    Kann es andere Stellen im System geben, die bei mir verstellt sein könnten und im Ergebnis den Parameter -s hier nicht benutzbar machen lassen?

    Sieht der erfahrene ip-Tabler evtl. einen groben Schnitzer?
    Gebe ich die IP evtl. doch falsch an?

    Vielen Dank schon mal im Voraus (auch schon fürs Lesen und Mitleiden)!

    Frohe Pfingsten noch!

    Tobias

  • Konfiguration iptables klappt nicht - Parameter -s für IP-Angabe macht Schwierigkeit? Schau mal ob du hier fündig wirst!


  • Gebe ich die IP evtl. doch falsch an?

    Ja, das ist falsch. Lösche alle iptables-Regeln bzw. lass die default policy der INPUT chain auch auf ACCEPT und versuch es erst mal mit dieser einzigen Regel (zum testen):

    Code
    sudo iptables -I INPUT 1 -p tcp ! -s 192.168.1.0/24 -m multiport --dports 22,22555 -j REJECT

    BTW: Sollen diese Ports nur aus deinem (W)LAN erreichbar sein und nicht aus dem Internet? Warum dann Port-Forwarding im Router?

    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-p3 (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

  • Ja, das ist falsch. Lösche alle iptables-Regeln bzw. lass die default policy der INPUT chain auch auf ACCEPT und versuch es erst mal mit dieser einzigen Regel (zum testen):

    Code
    sudo iptables -I INPUT 1 -p tcp ! -s 192.168.1.0/24 -m multiport --dports 22,22555 -j REJECT

    BTW: Sollen diese Ports nur aus deinem (W)LAN erreichbar sein und nicht aus dem Internet? Warum dann Port-Forwarding im Router?

    Servus rpi!

    vielen Dank schon mal für den Tip!

    bisher wollte ich den Pi per ssh auch über das Internet steuern. Daher das Portforwarding.
    Demnächst kommt noch ein webserver drauf. Dann reicht es mir, wenn ich mich im lokalen Netzwerk verbinden kann.

    Ich habe die Default CHAIN für INPUT auf ACCEPT gesetzt und den von Dir genannten Eintrag in der iptables gespeichert.

    Danach konnte ich mich sowohl vom lokalen Netz, also auch per öffentlichen Netz auf den Pi mit ssh verbinden.
    Mein Wunsch wäre es, dass der Zugriff aus dem nicht-lokalen Netz nicht möglich wäre.
    Du hast recht, vielleicht sollte ich dann einfach das Forwarding im Router rausnehmen...

    Hast Du evtl. noch eine Idee, warum ich dennoch über das Inet Zugriff hatte?

    Grüße

    Tobias


  • Hast Du evtl. noch eine Idee, warum ich dennoch über das Inet Zugriff hatte?

    Poste mal die Ausgabe von:

    Code
    sudo iptables -nvx -L

    Installiere tcpdump auf deinem PI:

    Code
    sudo apt-get install tcpdump


    und starte, bevor Du aus dem Internet auf den sshd zugreifst, wie folgt auf deinem PI:

    Code
    sudo tcpdump -c 30 -vvveni eth0 port 22 or port 22555


    Poste nach dem Zugriff aus dem Internet, die Ausgaben von tcpdump.

    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-p3 (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

  • Poste mal die Ausgabe von:

    Code
    sudo iptables -nvx -L

    Installiere tcpdump auf deinem PI:

    Code
    sudo apt-get install tcpdump


    und starte, bevor Du aus dem Internet auf den sshd zugreifst, wie folgt auf deinem PI:

    Code
    sudo tcpdump -c 30 -vvveni eth0 port 22 or port 22555


    Poste nach dem Zugriff aus dem Internet, die Ausgaben von tcpdump.


    Hallo rpi444,

    danke für die Mühe!
    Du hattest mir schon im vorherigen Post einen Denkanstoß gegeben.
    Ich habe das Portforwarding im Router abgestellt. Dann kann ich zwar über das Inet nicht mehr mittels ssh drauf, aber das ist vielleicht gar nicht so schlimm. Vom lokalen Netz kann ich mich immer noch verbinden, so soll es sein.
    Alle anderen Steueraufgaben löse ich mittels Web-Gui über den Webserver.

    Ich setze das Thema auf gelöst.

    Vielen Dank nochmal für den Denkanstoß!
    Grüße

    Tobias


  • Ich setze das Thema auf gelöst.

    Naja, gelöst ist das Thema aber nicht, denn es ist noch nicht geklärt warum Du mit der iptables-Regel, noch Zugriff aus dem Internet hattest.

    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-p3 (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

Jetzt mitmachen!

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