1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#! /bin/sh
##
## set to your list of interfaces w/o byte statistics:
## (you should use SNMPDEVADDR for aliased interfaces, or they will
## not show values)
##
## if you want only external traffic, you may add -W baseinterface
## to the SNMPDEVADDR ip-address based rules.
##
# SNMPDEVNAME="lo dummy0 eth0 eth1 ppp0 ppp1 sl0 sl1 isdn0 isdn0 isdn1"
# SNMPDEVADDR="10.10.10.10"
SNMPDEVNAME="lo eth0 dummy0 ppp0"
SNMPDEVADDR="10.10.10.10 10.10.10.20"
case "$1" in
start)
echo "Starting snmpd."
for i in $SNMPDEVNAME ; do
/sbin/ipfwadm -A in -a -P all -S 0.0.0.0/0 -D 0.0.0.0/0 -W $i
/sbin/ipfwadm -A out -a -P all -S 0.0.0.0/0 -D 0.0.0.0/0 -W $i
done
for i in $SNMPDEVADDR ; do
/sbin/ipfwadm -A in -a -P all -S 0.0.0.0/0 -D $i/32 ## -W eth0
/sbin/ipfwadm -A out -a -P all -S $i/32 -D 0.0.0.0/0 ## -W eth0
done
/usr/sbin/snmpd -A -f
;;
stop)
echo -n "Shutting down snmpd: "
killproc -TERM /usr/sbin/snmpd 2>/dev/null \
|| kill "`ps -ax | grep /usr/sbin/snmpd | awk '{ print $1 }'`"
for i in $SNMPDEVS ; do
/sbin/ipfwadm -A in -d -P all -S 0.0.0.0/0 -D 0.0.0.0/0 -W $i
/sbin/ipfwadm -A out -d -P all -S 0.0.0.0/0 -D 0.0.0.0/0 -W $i
done
for i in $SNMPDEVADDR ; do
/sbin/ipfwadm -A in -d -P all -S 0.0.0.0/0 -D $i/32 ## -W eth0
/sbin/ipfwadm -A out -d -P all -S $i/32 -D 0.0.0.0/0 ## -W eth0
done
echo
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
|