[CentOS] resolv.conf rewritten every reboot. How to figure out who and why?

Thu Oct 8 21:50:37 UTC 2009
Dave <tdbtdb+centos at gmail.com>

On Thu, Oct 8, 2009 at 10:29 AM, Florin Andrei <florin at andrei.myip.org> wrote:
> What is the output of these commands?
>
> rpm -qa | grep dhc
> # to see what's actually installed as a package

 rpm -qa | grep dhc
dhcpv6-client-1.0.14-1.fc9.x86_64
libdhcp4client-4.0.0-22.fc9.x86_64
libdhcp6client-1.0.14-1.fc9.x86_64
libdhcp-1.99.8-1.fc9.x86_64
dhclient-4.0.0-22.fc9.x86_64


>
> find / -name dhclient
> # to see if and where is the executable installed

I hope this is an acceptable substitute:
 rpm -qfs /sbin/dhclient
normal        /sbin/dhclient
normal        /sbin/dhclient-script
normal        /usr/share/doc/dhclient-4.0.0
normal        /usr/share/doc/dhclient-4.0.0/dhclient.conf.sample
normal        /usr/share/man/man5/dhclient.conf.5.gz
normal        /usr/share/man/man5/dhclient.leases.5.gz
normal        /usr/share/man/man5/dhcp-eval.5.gz
normal        /usr/share/man/man5/dhcp-options.5.gz
normal        /usr/share/man/man8/dhclient-script.8.gz
normal        /usr/share/man/man8/dhclient.8.gz
normal        /var/lib/dhclient


>
> grep -rI dhclient /etc | grep -v selinux | grep -v /ifup-eth: \
>        | grep -v /ifdown-eth:
> # to see if it's called from somewhere else than the regular places

Substituting:
 find /etc -type f -exec grep -iH dhclient {} \; | grep -v selinux
/etc/bluetooth/network.conf:Script=dhclient
/etc/rwtab:empty        /var/lib/dhclient
/etc/resolv.conf.save:; generated by /sbin/dhclient-script
/etc/sysconfig/network-scripts/ifdown-eth:[ -n "`pidof -x dhclient`" ] && {
/etc/sysconfig/network-scripts/ifdown-eth:      if [ -f
"/var/run/dhclient-${DEVICE}.pid" ]; then
/etc/sysconfig/network-scripts/ifdown-eth:              dhcpid=`cat
/var/run/dhclient-${DEVICE}.pid`
/etc/sysconfig/network-scripts/ifdown-eth:
/sbin/dhclient -r -lf /var/lib/dhclient/dhclient-${DEVICE}.leases -pf
/var/run/dhclient-${DEVICE}.pid ${DEVICE} >/dev/null 2>&1
/etc/sysconfig/network-scripts/ifdown-eth:
reason=STOP interface=${DEVICE} /sbin/dhclient-script
/etc/sysconfig/network-scripts/ifdown-eth:              if [ -f
"/var/run/dhclient-${DEVICE}.pid" ]; then
/etc/sysconfig/network-scripts/ifdown-eth:                      rm -f
/var/run/dhclient-${DEVICE}.pid
/etc/sysconfig/network-scripts/ifup-eth:if [ -n "${DYNCONFIG}" -a -x
/sbin/dhclient ]; then
/etc/sysconfig/network-scripts/ifup-eth:    # Remove any temporary
references which were previously added to dhclient config
/etc/sysconfig/network-scripts/ifup-eth:    if [ -w
/etc/dhclient-${DEVICE}.conf ] ; then
/etc/sysconfig/network-scripts/ifup-eth:        LC_ALL=C grep -v "#
temporary RHL ifup addition" /etc/dhclient-${DEVICE}.conf >
/etc/dhclient-${DEVICE}.conf.ifupnew 2> /dev/null
/etc/sysconfig/network-scripts/ifup-eth:        cat
/etc/dhclient-${DEVICE}.conf.ifupnew > /etc/dhclient-${DEVICE}.conf
/etc/sysconfig/network-scripts/ifup-eth:        rm -f
/etc/dhclient-${DEVICE}.conf.ifupnew
/etc/sysconfig/network-scripts/ifup-eth:    if [[
"${PERSISTENT_DHCLIENT}" =  [yY1]* ]]; then
/etc/sysconfig/network-scripts/ifup-eth:       if [ -w
/etc/dhclient-${DEVICE}.conf ] ; then
/etc/sysconfig/network-scripts/ifup-eth:           if ! LC_ALL=C grep
"send *host-name *\"${DHCP_HOSTNAME}\"" /etc/dhclient-${DEVICE}.conf >
/dev/null 2>&1 ; then
/etc/sysconfig/network-scripts/ifup-eth:               echo "send
host-name \"${DHCP_HOSTNAME}\";  # temporary RHL ifup addition" >>
/etc/dhclient-${DEVICE}.conf
/etc/sysconfig/network-scripts/ifup-eth:       elif ! [ -e
/etc/dhclient-${DEVICE}.conf ] ; then
/etc/sysconfig/network-scripts/ifup-eth:           echo "send
host-name \"${DHCP_HOSTNAME}\";  # temporary RHL ifup addition" >>
/etc/dhclient-${DEVICE}.conf
/etc/sysconfig/network-scripts/ifup-eth:    # allow users to use
generic '/etc/dhclient.conf' (as documented in manpage!)
/etc/sysconfig/network-scripts/ifup-eth:    if [ -s
/etc/dhclient-${DEVICE}.conf ]; then
/etc/sysconfig/network-scripts/ifup-eth:       DHCLIENTCONF="-cf
/etc/dhclient-${DEVICE}.conf";
/etc/sysconfig/network-scripts/ifup-eth:       DHCLIENTCONF='';
/etc/sysconfig/network-scripts/ifup-eth:    if [ -f
/dev/.dhclient-${DEVICE}.leases ] ; then
/etc/sysconfig/network-scripts/ifup-eth:        mv -f
/dev/.dhclient-${DEVICE}.leases
/var/lib/dhclient/dhclient-${DEVICE}.leases
/etc/sysconfig/network-scripts/ifup-eth:        [ -x /sbin/restorecon
] && restorecon /var/lib/dhclient/dhclient-${DEVICE}.leases >
/dev/null 2>&1
/etc/sysconfig/network-scripts/ifup-eth:
DHCLIENTARGS="${DHCLIENTARGS} ${ONESHOT} -q ${DHCLIENTCONF} -lf
/var/lib/dhclient/dhclient-${DEVICE}.leases -pf
/var/run/dhclient-${DEVICE}.pid"
/etc/sysconfig/network-scripts/ifup-eth:    if [[
"${PERSISTENT_DHCLIENT}" !=  [yY1]* ]] && check_link_down ${DEVICE};
then
/etc/sysconfig/network-scripts/ifup-eth:    if /sbin/dhclient
${DHCLIENTARGS} ${DEVICE} ; then
/etc/sudoers:Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig,
/bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables,
/usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool


Script=dhclient looks interesting, but that's for bluetooth?