Dynamic Hostname Assignment
Shawn
drevil at warpcore.org
Thu Jul 24 19:03:15 PDT 2003
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 at warpcore.org>
http://drevil.warpcore.org/
More information about the freebsd-questions
mailing list