1#!/bin/sh 2# 3# /etc/init.d/conntrackd 4# 5# Maximilian Wilhelm <max@rfc2324.org> 6# -- Mon, 06 Nov 2006 18:39:07 +0100 7# 8# Roman I Khimov <khimov@altell.ru> 9# -- Tue, 27 Oct 2009 14:34:00 +0300 10 11### BEGIN INIT INFO 12# Provides: conntrackd 13# Required-Start: $remote_fs $syslog 14# Required-Stop: $remote_fs $syslog 15# Default-Start: 2 3 4 5 16# Default-Stop: 0 1 6 17# Description: Starts conntrackd 18# short-description: Starts conntrackd 19### END INIT INFO 20 21export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 22 23NAME="conntrackd" 24DAEMON="/usr/sbin/conntrackd" 25CONFIG="/etc/conntrackd/conntrackd.conf" 26PIDFILE="/var/run/${NAME}.pid" 27 28 29# Gracefully exit if there is no daemon (debian way of life) 30if [ ! -x "${DAEMON}" ]; then 31 exit 0 32fi 33 34# Check for config file 35if [ ! -f /etc/conntrackd/conntrackd.conf ]; then 36 echo "Error: There is no config file for $NAME" >&2 37 exit 1; 38fi 39 40case "$1" in 41 start) 42 echo -n "Starting $NAME: " 43 for i in nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_proto_dccp nf_conntrack_tftp \ 44 nf_conntrack_sane nf_conntrack_pptp nf_conntrack_irc nf_conntrack_amanda nf_conntrack_h323 \ 45 nf_conntrack_proto_udplite nf_conntrack_proto_gre nf_conntrack_proto_sctp nf_conntrack_ftp \ 46 nf_conntrack_sip; do 47 modprobe $i >/dev/null 2>/dev/null & 48 done 49 start-stop-daemon --start --quiet --make-pidfile --pidfile "/var/run/${NAME}.pid" --background --exec "${DAEMON}" 50 RET=$? 51 if [ "$?" = "0" ]; then 52 sleep 2 53 # Sync with other server 54 conntrackd -n 55 echo "done." 56 else 57 echo "FAILED!" 58 fi 59 exit $RET 60 ;; 61 stop) 62 echo -n "Stopping $NAME:" 63 start-stop-daemon --stop --quiet --oknodo --pidfile "/var/run/${NAME}.pid" && echo "done." || echo "FAILED!" 64 ;; 65 status) 66 echo -n "conntrackd " 67 start-stop-daemon -q -K -t -x $DAEMON 68 RET=$? 69 if [ "$RET" = "0" ]; then 70 PID=`cat $PIDFILE` 71 echo "($PID) is running" 72 else 73 echo "is not running" 74 exit $RET 75 fi 76 ;; 77 restart) 78 $0 stop 79 $0 start 80 ;; 81 82 *) 83 echo "Usage: /etc/init.d/conntrackd {start|stop|restart}" 84 exit 1 85esac 86 87exit 0 88