2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-31 14:25:41 +00:00

Set hostname from value sent by DHCP server

This commit is contained in:
Ted Lemon
1999-10-04 23:01:27 +00:00
parent 7d7a35faab
commit 5e3960b64a

29
contrib/sethostname.sh Normal file
View File

@@ -0,0 +1,29 @@
#!/bin/sh
# This script can be installed in /etc/dhclient-enter-hooks to set the client's
# hostname based either on the hostname that the DHCP server supplied or the
# hostname in whatever ptr record exists for the assigned IP address.
if [ x$new_host_name = x ]; then
ptrname=`echo $new_ip_address \
|sed -e \
's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\4.\3.\2.\1.in-addr.arpa/'`
(echo "set type=ptr"; echo "$ptrname") |nslookup >/tmp/nslookup.$$
set `sed -n -e "s/$ptrname[ ]*\(canonical \)*name *= *\(.*\)/\2 \1/p" \
< /tmp/nslookup.$$` _
if [ x$1 = x_ ]; then
new_host_name=""
else
if [ $# -gt 1 ] && [ x$2 = xcanonical ]; then
new_host_name=`sed -n -e "s/$1[ ]*name *= *\(.*\)/\1/p" \
</tmp/nslookup.$$`
else
new_host_name=$1
fi
fi
rm /tmp/nslookup.$$
fi
if [ x$new_host_name != x ]; then
hostname $new_host_name
fi