#!/bin/sh # # Startup script for the DNS caching server # # 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` OPTIONS="" 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 RETVAL=0 # See how we were called. case "$1" in start) echo -n "Starting dnsmasq: " daemon $dnsmasq $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dnsmasq ;; stop) if test "x`pidof dnsmasq`" != x; then echo -n "Shutting down dnsmasq: " killproc dnsmasq fi RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dnsmasq /var/run/dnsmasq.pid ;; status) status dnsmasq RETVAL=$? ;; restart|reload) $0 stop $0 start RETVAL=$? ;; condrestart) if test "x`/sbin/pidof dnsmasq`" != x; then $0 stop $0 start RETVAL=$? fi ;; *) echo "Usage: $0 {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL