Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 May 2009 09:52:20 +0200 (CEST)
From:      Pieter Donche <Pieter.Donche@ua.ac.be>
To:        Matthew Seaman <m.seaman@infracaninophile.co.uk>
Cc:        "mail.list freebsd-questions" <freebsd-questions@freebsd.org>
Subject:   Re: isc-dhcpd server, HOSTNAME
Message-ID:  <alpine.BSF.2.00.0905120946450.75856@macos.cmi.ua.ac.be>
In-Reply-To: <4A068874.8030408@infracaninophile.co.uk>
References:  <alpine.BSF.2.00.0905071637270.45332@macos.cmi.ua.ac.be> <4A068874.8030408@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
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 dhcp.host-name' 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: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
>                                                 Kent, CT11 9PW
>
>



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