#!/bin/bash #the external interface INTERFACE0="eth0" INTERFACE1="eth1" PIDFILE0="/var/run/snort_$INTERFACE0.pid" PIDFILE1="/var/run/snort_$INTERFACE1.pid" case "$1" in start) echo "starting snort for $INTERFACE0..." /sbin/start-stop-daemon --start --quiet --pidfile $PIDFILE0 --exec /usr/local/bin/snort -- -u snort -g snort -D -c /etc/snort/snort.conf -i $INTERFACE0 >/dev/null #Checking if snort has started status=$? case "$status" in 0) echo "done." ;; *) echo "ERROR!" exit 1 ;; esac echo "starting snort for $INTERFACE1..." /sbin/start-stop-daemon --start --quiet --pidfile $PIDFILE1 --exec /usr/local/bin/snort -- -u snort -g snort -D -c /etc/snort/snort.conf -i $INTERFACE1 >/dev/null #Checking if snort has started status=$? case "$status" in 0) echo "done." ;; *) echo "ERROR!" exit 1 ;; esac ;; stop) #Checking if snort is running if [ -f $PIDFILE0 ]; then echo "stopping snort for $INTERFACE0..." /sbin/start-stop-daemon --stop --retry 5 --quiet --oknodo --pidfile $PIDFILE0 --exec /usr/local/bin/snort >/dev/null #Checking if snort has stopped status=$? case "$status" in 0) echo "done." ;; *) echo "ERROR!" exit 1 ;; esac rm -f "$PIDFILE0" rm -f "$PIDFILE0.lck" else echo "snort is not running for $INTERFACE0!" fi #Checking if snort is running if [ -f $PIDFILE1 ]; then echo "stopping snort for $INTERFACE1..." /sbin/start-stop-daemon --stop --retry 5 --quiet --oknodo --pidfile $PIDFILE1 --exec /usr/local/bin/snort >/dev/null #Checking if snort has stopped status=$? case "$status" in 0) echo "done." ;; *) echo "ERROR!" exit 1 ;; esac rm -f "$PIDFILE1" rm -f "$PIDFILE1.lck" else echo "snort is not running for $INTERFACE1!" fi ;; status) if [ -f $PIDFILE0 ]; then echo "snort is running with pid `cat $PIDFILE0` for $INTERFACE0..." else echo "snort is not running for $INTERFACE0..." fi if [ -f $PIDFILE1 ]; then echo "snort is running with pid `cat $PIDFILE1` for $INTERFACE1..." else echo "snort is not running for $INTERFACE1..." fi ;; restart) echo "restarting snort..." $0 stop echo "waiting 5 seconds to start snort again..." sleep 5 $0 start ;; *) echo "usage: $0 (start|stop|status|restart)" ;; esac exit 0