#!/bin/sh # # /etc/init.d/conntrackd # # Maximilian Wilhelm # -- Mon, 06 Nov 2006 18:39:07 +0100 # # Roman I Khimov # -- 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