isc-dhcpd server, HOSTNAME

Pieter Donche Pieter.Donche at
Tue May 12 07:52:25 UTC 2009

On Sun, 10 May 2009, Matthew Seaman wrote:

> Pieter Donche wrote:
>> FreeBSD7 with isc-dhcp30-server.
>> It hands out an IP address, OK,
>> but the BASH environment variable HOSTNAME is not set. Why?
>> (A DNS server is active on the network and can succesfully be queried from 
>> a FreeBSD bash command (nslookup or host) to see the hostname associated 
>> with the IP-address)
> Hostname is not one of the parameters usually requested from a DHCP server
> by a Unix machine.  In fact, it's normally the other way round: the client
> tells the DHCP server what it's hostname is and the DHCP server can then
> inject an A record into the DNS dynamically.

So, the normal way is that you have an entry hostname="somename.somedomain"
in /etc/rc.conf ? 
I can't remember the details of the install of this FreeBSD7 system, set up
as a DHCPclient, but is during the installation the name of the host you want
this machine to have and its domainname something that is asked for?
(and then recorded in /etc/rc.conf)

> However it is possible to operate in the way you want.  To tell the dhcp
> server to look up names from the DNS based on the address supplied to a
> host, search for the description of the 'get-lease-hostnames' flag in
> the dhcpd.conf(5) man page.
> To tell dhcp clients to fetch their hostname from DHCP, you need to add it
> to a 'request' or 'require' block in dhclient.conf -- see dhclient.conf(5).
> It's been a long time since I ran a setup anything like that, so I cannot
> recall if that was all that was required, or if it was also necessary to
> write a small dhclient-script(8) to actually set the hostname. 
> Another alternative is to use a dhclient-script to take the IP number
> allocated by the DHCP server, look up the corresponding address and then
> set that as the hostname.
> The bash HOSTNAME environment variable will be set from the output of the
> hostname(1) command, which is usually set from the hostname variable in
> /etc/rc.conf or from the output of '/bin/kenv' if that is set. 
> Otherwise it uses a default hostname of 'amnesiac'.
> 	Cheers,
> 	Matthew
> -- 
> Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
>                                                 Flat 3
> PGP:     Ramsgate
>                                                 Kent, CT11 9PW

More information about the freebsd-questions mailing list