Capture
[rrq/hourglass.git] / setup.sh
1 #!/bin/bash
2
3 CMD=${1-start}
4 NET=192.168.249
5 TAP=tap0
6
7 cd $(dirname $0)
8
9 RULE=( ! -o $TAP -j TEE --gateway $NET.2 --oif $TAP )
10 case "$CMD" in
11     start)
12         if ifconfig $TAP >& /dev/null ; then
13             echo "Already started"
14         else
15             date >> /tmp/hourglass-listener.log
16             newlisp listener.lsp >> /tmp/hourglass-listener.log 2>&1 &
17             while sleep 1 ; do
18                 ifconfig $TAP >& /dev/null && break
19                 echo $TAP not up yet
20             done
21             ifconfig $TAP $NET.1 up
22             iptables -t mangle -A FORWARD ${RULE[@]}
23         fi
24         ;;
25     stop)
26         iptables -t mangle -F FORWARD
27         if ifconfig $TAP >& /dev/null ; then
28             pkill -2 -f listener.lsp
29         else
30             echo "Already stopped"
31         fi
32         ;;
33     *)
34         echo "Unknown: $CMD"
35         ;;
36 esac