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.
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
...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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!
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
Ist zukünftig nicht vorgesehen aber kannst du doch ganz einfach mit nem cron-Job lösen.
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
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.
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
===========================================================
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
...
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