1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $ 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? 7*4882a593Smuzhiyun# Separate multiple interfaces with spaces, e.g. "eth0 eth1". 8*4882a593SmuzhiyunINTERFACES="" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun# Additional options that are passed to the DHCP server daemon? 11*4882a593SmuzhiyunOPTIONS="" 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunNAME="dhcpd" 14*4882a593SmuzhiyunDAEMON="/usr/sbin/${NAME}" 15*4882a593SmuzhiyunCFG_FILE="/etc/default/${NAME}" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun# Read configuration variable file if it is present 18*4882a593Smuzhiyun[ -r "${CFG_FILE}" ] && . "${CFG_FILE}" 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun# Sanity checks 21*4882a593Smuzhiyuntest -f /usr/sbin/dhcpd || exit 0 22*4882a593Smuzhiyuntest -f /etc/dhcp/dhcpd.conf || exit 0 23*4882a593Smuzhiyun 24*4882a593Smuzhiyuncase "$1" in 25*4882a593Smuzhiyun start) 26*4882a593Smuzhiyun printf "Starting DHCP server: " 27*4882a593Smuzhiyun test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/ 28*4882a593Smuzhiyun test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases 29*4882a593Smuzhiyun start-stop-daemon -S -q -x ${DAEMON} -- -q $OPTIONS $INTERFACES 30*4882a593Smuzhiyun [ $? = 0 ] && echo "OK" || echo "FAIL" 31*4882a593Smuzhiyun ;; 32*4882a593Smuzhiyun stop) 33*4882a593Smuzhiyun printf "Stopping DHCP server: " 34*4882a593Smuzhiyun start-stop-daemon -K -q -x ${DAEMON} 35*4882a593Smuzhiyun [ $? = 0 ] && echo "OK" || echo "FAIL" 36*4882a593Smuzhiyun ;; 37*4882a593Smuzhiyun restart | force-reload) 38*4882a593Smuzhiyun $0 stop 39*4882a593Smuzhiyun $0 start 40*4882a593Smuzhiyun if [ "$?" != "0" ]; then 41*4882a593Smuzhiyun exit 1 42*4882a593Smuzhiyun fi 43*4882a593Smuzhiyun ;; 44*4882a593Smuzhiyun *) 45*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|force-reload}" 46*4882a593Smuzhiyun exit 1 47*4882a593Smuzhiyunesac 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunexit 0 50