Menu

Custom Script: zeitgesteuert filtern

Help
Guido123
2009-03-24
2013-05-29
  • Guido123

    Guido123 - 2009-03-24

    Hallo

    vorneweg: Großartige Firmware!

    Gibt es eine Möglichkeit bestimmte Websites zeitgesteuert zu filtern bzw. ist das für zukünftige Versionen geplant?
    Das Modul time für iptables scheint nicht integriert zu sein, so dass das folgende nicht funktioniert.

    iptables -I FORWARD -s 192.168.1.3 -p tcp --dport 80 -m string --string boeseseite.de -m time --timestart 08:00 --timestop 20:00 -j REJECT --reject-with tcp-reset

    Beste Grüße

    Guido

     
    • Patrick Schmidt

      Patrick Schmidt - 2009-03-24

      Ist zukünftig nicht vorgesehen aber kannst du doch ganz einfach mit nem cron-Job lösen.

       
    • Guido123

      Guido123 - 2009-03-24

      Hallo,

      danke für die Antwort.

      So ganz ist mir mit meinem Linux-Halbwissen leider nicht klar, wie ich das auf dem Router einrichte.

      Beste Grüße

      Guido

       
    • Patrick Schmidt

      Patrick Schmidt - 2009-03-28

      Ich geb dir mal ein paar Zeilen fürs 'custom_script' als Anregung....

      #crond killen falls gestartet
      killall -9 crond

      CRONDIR="/var/spool/cron/crontabs/"

      #cron Verzeichnis anlegen
      mkdir -p $CRONDIR

      #Regel um Acht einfügen
      echo "0 8 * * * iptables -A TIME_FILTER-s 192.168.1.3 -p tcp --dport 80 -m string --string boeseseite.de -j REJECT --reject-with tcp-reset" > $CRONDIR/root

      #Regel um 20 Uhr wieder raus
      echo "0 20 * * * iptables -F TIME_FILTER" > $CRONDIR/root

      #crond starten
      crond

      Jetzt noch folgende Zeilen ins 'custom_firewall_script'

      #neue Chain anlegen
      iptables -N TIME_FILTER

      #Umleitung in neue Chain aktivieren
      iptables -I FORWARD -j TIME_FILTER

      #Rücksprung in normale Filter-Chain
      iptables -A TIME_FILTER -j RETURN

      Damit sollte es eigentlich gehen. Wenn es weitere Probleme oder Fragen gibt oder ich vielleicht Fehler gemacht habe dann meld dich nochmal.

       
    • Guido6655

      Guido6655 - 2009-03-30

      Hallo Patrick,

      vielen Dank für die Antwort. Leider funktioniert es so nicht. Es klemmt wohl beim Einrichten des Cronjobs. crontab -l liefert Folgendes

      ===========================================================
      0 20 * * * iptables -F TIME_FILTER
      ===========================================================

       
    • sonderprofil

      sonderprofil - 2009-03-30

      Ich denke, da ist Patrick ein Flüchtigkeitsfehler unterlaufen.
      Du musst natürlich bei den echo-Befehlen ">>" statt ">" verwenden (zumindest bei dem zweiten), da sonst die erste Zeile wieder überschrieben wird und nicht angehängt, wie es eigentlich soll.
      (Am besten beide mit >>; so dass eventuelle andere cron-jobs nicht gekillt werden, so du den welche hast...)

      Also so hier:
      ...
      #Regel um Acht einfügen
      echo "0 8 * * * iptables -A TIME_FILTER-s 192.168.1.3 -p tcp --dport 80 -m string --string boeseseite.de -j REJECT --reject-with tcp-reset" >> $CRONDIR/root

      #Regel um 20 Uhr wieder raus
      echo "0 20 * * * iptables -F TIME_FILTER" >> $CRONDIR/root
      ...

       
    • Guido6655

      Guido6655 - 2009-03-30

      Hallo,

      wenn ich die Regel per insert (-I) und nicht per append (-A) einfüge und noch ein Leerzeichen vor -s einbaue, funktioniert es nun. Herzlichen Dank Euch beiden!

      echo "0 8 * * * iptables -I TIME_FILTER -s 192.168.1.3 -p tcp --dport 80 -m string --string boeseseite.de -j REJECT --reject-with tcp-reset" > $CRONDIR/root

      Beste Grüße

      Guido

       

Log in to post a comment.

MongoDB Logo MongoDB