#!/bin/sh # # Startup script for the DNS caching server ### BEGIN INIT INFO # Provides: dnsmasq $named # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Short-Description: a dhcp/dns server. # Description: dnsmasq is a dhcp and dns server. # It aims to be used on small networks where people do not need the complexity of bind. ### END INIT INFO # # chkconfig: 2345 99 01 # description: This script starts your DNS caching server # processname: dnsmasq # pidfile: /var/run/dnsmasq.pid # # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 dnsmasq=/usr/sbin/dnsmasq [ -f $dnsmasq ] || exit 0 # change this line if you want dnsmasq to serve an MX record for # the host it is running on. MAILHOSTNAME="" # change this line if you want dns to get its upstream servers from # somewhere other that /etc/resolv.conf RESOLV_CONF="" # change this if you want dnsmasq to cache any "hostname" or "client-hostname" from # a dhcpd's lease file DHCP_LEASE="/var/lib/dhcp/dhcpd.leases" DOMAIN_SUFFIX=`dnsdomainname` DAEMON_NAME=dnsmasq [ -f /etc/sysconfig/$DAEMON_NAME ] && . /etc/sysconfig/$DAEMON_NAME if [ ! -z "${MAILHOSTNAME}" ]; then OPTIONS="$OPTIONS -m $MAILHOSTNAME" fi if [ ! -z "${RESOLV_CONF}" ]; then OPTIONS="$OPTIONS -r $RESOLV_CONF" fi if [ ! -z "${DHCP_LEASE}" ]; then OPTIONS="$OPTIONS -l $DHCP_LEASE" fi if [ ! -z "${DOMAIN_SUFFIX}" ]; then OPTIONS="$OPTIONS -s $DOMAIN_SUFFIX" fi case "$1" in start) gprintf "Starting %s: " $DAEMON_NAME daemon $dnsmasq $OPTIONS echo touch /var/lock/subsys/$DAEMON_NAME ;; stop) gprintf "Shutting down %s: " $DAEMON_NAME killproc $DAEMON_NAME echo rm -f /var/lock/subsys/$DAEMON_NAME ;; status) status dnsmasq ;; restart|reload) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart|reload|condrestart|status}" exit 1 esac