Skip site navigation (1)Skip section navigation (2)
Date:      24 Jul 2003 21:03:13 -0500
From:      Shawn <drevil@warpcore.org>
To:        freebsd-questions@freebsd.org
Subject:   Dynamic Hostname Assignment
Message-ID:  <1059098593.630.13.camel@CPE-65-26-140-154.kc.rr.com>

next in thread | raw e-mail | index | archive | help
When I recently installed and setup FreeBSD 5.1 on my box here at home,
I noticed that it didn't dynamically set the hostname for me. When I
used RedHat Linux 9 before it did.

I was puzzled by this at first, since RedHat and FreeBSD both use
dhclient (AFAIK), and I spent a few hours looking around for settings
for dhclient and found some information about require-hostname, and a
few other things. But, no matter what I tried, it didn't seem to work. I
continued to look for various articles about dynamic hostname
configuration and I am fairly certain I covered the relevant portions of
the handbook. Everything I've read seemed to indicate it should "just
work", but it wasn't.

Finally, after I couldn't find an answer anywhere, I devised my own
little hack. I modified /etc/rc.d/hostname like so:

hostname_start()
{
	ip=`ifconfig xl0 | grep 'inet ' | awk '{print $2}'`
	# Set the host name if it is not already set
	#
	if [ -z "`hostname -s`" ]; then
		if [ $ip ]; then
			hostname=`host $ip | awk '{print $5}'`
			hostname ${hostname}
			echo "Setting hostname: `hostname`."
		fi
	fi
}

I then symlinked /etc/rc.d/hostname to
/usr/local/etc/rc.d/001.hostname.sh so that after the network interface
and everything had been brought up it would set my hostname correctly.
I'm sure this is probably an ugly and unnecessary hack, but I could find
no other way to get my hostname to be set properly :]

I'm quite willing to go debug or rip apart dhclient to figure out why it
isn't grabbing the hostname if someone points me in the right direction.
Any suggestions?

-- 
Shawn <drevil@warpcore.org>
http://drevil.warpcore.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1059098593.630.13.camel>