#!/bin/sh
|
#
|
# /etc/init.d/conntrackd
|
#
|
# Maximilian Wilhelm <max@rfc2324.org>
|
# -- Mon, 06 Nov 2006 18:39:07 +0100
|
#
|
# Roman I Khimov <khimov@altell.ru>
|
# -- Tue, 27 Oct 2009 14:34:00 +0300
|
|
### BEGIN INIT INFO
|
# Provides: conntrackd
|
# Required-Start: $remote_fs $syslog
|
# Required-Stop: $remote_fs $syslog
|
# Default-Start: 2 3 4 5
|
# Default-Stop: 0 1 6
|
# Description: Starts conntrackd
|
# short-description: Starts conntrackd
|
### END INIT INFO
|
|
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
|
NAME="conntrackd"
|
DAEMON="/usr/sbin/conntrackd"
|
CONFIG="/etc/conntrackd/conntrackd.conf"
|
PIDFILE="/var/run/${NAME}.pid"
|
|
|
# Gracefully exit if there is no daemon (debian way of life)
|
if [ ! -x "${DAEMON}" ]; then
|
exit 0
|
fi
|
|
# Check for config file
|
if [ ! -f /etc/conntrackd/conntrackd.conf ]; then
|
echo "Error: There is no config file for $NAME" >&2
|
exit 1;
|
fi
|
|
case "$1" in
|
start)
|
echo -n "Starting $NAME: "
|
for i in nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_proto_dccp nf_conntrack_tftp \
|
nf_conntrack_sane nf_conntrack_pptp nf_conntrack_irc nf_conntrack_amanda nf_conntrack_h323 \
|
nf_conntrack_proto_udplite nf_conntrack_proto_gre nf_conntrack_proto_sctp nf_conntrack_ftp \
|
nf_conntrack_sip; do
|
modprobe $i >/dev/null 2>/dev/null &
|
done
|
start-stop-daemon --start --quiet --make-pidfile --pidfile "/var/run/${NAME}.pid" --background --exec "${DAEMON}"
|
RET=$?
|
if [ "$?" = "0" ]; then
|
sleep 2
|
# Sync with other server
|
conntrackd -n
|
echo "done."
|
else
|
echo "FAILED!"
|
fi
|
exit $RET
|
;;
|
stop)
|
echo -n "Stopping $NAME:"
|
start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/${NAME}.pid" && echo "done." || echo "FAILED!"
|
;;
|
status)
|
echo -n "conntrackd "
|
start-stop-daemon -q -K -t -x $DAEMON
|
RET=$?
|
if [ "$RET" = "0" ]; then
|
PID=`cat $PIDFILE`
|
echo "($PID) is running"
|
else
|
echo "is not running"
|
exit $RET
|
fi
|
;;
|
restart)
|
$0 stop
|
$0 start
|
;;
|
|
*)
|
echo "Usage: /etc/init.d/conntrackd {start|stop|restart}"
|
exit 1
|
esac
|
|
exit 0
|