added
[rrq/nfblocker.git] / bin / nfblocker.sh
1 #!/bin/bash
2 #
3 # This is a control script for nfblocker.
4 #
5
6 if [ -z "$1" ] ; then
7     echo "start or stop?"
8     exit 1
9 fi
10
11 cd $(dirname $(readlink $0))
12
13 function start_nfblocker() {
14     LOG=/var/log/nfblocker.$(date +%Y%m%d)
15     BLOCKED=( ../acl/*.acl )
16     echo "BLOCKING ${BLOCKED[@]}" >> $LOG
17     ./nfblocker ../blocked/*.acl >> $LOG 2>&1 &
18 }
19
20 TABLE=OUTPUT
21 case $1 in
22     start)
23         iptables -I $TABLE -p tcp -j NFQUEUE --queue-num 99
24         pkill -x nfblocker
25         start_nfblocker
26         ;;
27     reload)
28         pkill -x nfblocker
29         start_nfblocker
30         ;;
31     stop)
32         iptables -D $TABLE -p tcp -j NFQUEUE --queue-num 99
33         pkill -x nfblocker
34         ;;
35     *)
36         echo "Use start, stop or reload" >&2
37         ;;
38 esac