#!/bin/sh ###################################################################### ## $Id: sample-etc_dhcpc_dhcpcd-eth0.exe 8 2006-06-14 19:51:39Z wimpunk $ ###################################################################### PATH=/usr/sbin:${PATH} resolv=/etc/resolv.dhcp set -e trap "[ $? = 0 ] && logger -t dhcpcd.sh 'finished' || logger -t dhcpcd.sh 'failed'; exit 0" EXIT logger -t dhcpcd.sh "started" ## update the DNS server unless the IP address is a private address ## that may be used as an internal LAN address. This may be true if ## other interfaces are assigned private addresses from internal ## DHCP server. # source informations provided by dhcp server [ -f "$1" ] && . "$1" [ "$2" = "down" ] && exit 0 case "$IPADDR" in 10.*) ;; 172.1[6-9].* | 172.2[0-9].* | 172.3[0-1].*) ;; 192.168.*) ;; *) # update dns servers if [ -n "$DNSSERVERS" ]; then logger -t dhcpcd.sh "updating $resolv" cat < /dev/null > "$resolv" for n in $DNSSERVERS; do echo "nameserver $n" >> "$resolv" done fi # update address in dynamic dns logger -t dhcpcd.sh "updating address in dynamic dns" ddclient -daemon=0 -syslog -use=ip -ip="$IPADDR" >/dev/null 2>&1 ;; esac