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>