/sbin/

dhcpinfo

FAQ

[Q1] DHCP client にした場合,ホスト名が unknown になってしまう。

[A1] Solaris は,DHCP server に対し,

dhcpinfo Hostname

を発行してホスト名を得ようとしますが,これに対応していない DHCP server の場合,(IP address は取得できても) ホスト名を 取得できないということが起こります。

/etc/nodename などにより,IP address に依らずホスト名を 勝手につけてしまうこともできますが,global IP を配る DHCP server を利用している場合,これはあまりよろしくありません。 そこで,

#!/bin/sh
hostname=`dhcpinfo Hostname 2> /dev/null`
ipaddr=`dhcpinfo Yiaddr 2> /dev/null`
if [ -z "$hostname" -a ! -z "${ipaddr}" ]; then
    /sbin/nslookup ${ipaddr} |\
        /bin/grep '^Name:' |\
        /bin/sed 's!^Name: *\([a-z].*\)$!\1!'
else
    echo $hostname
fi

などといった script を適当な名前で保存して実行属性を与え, /etc/init.d/inetsvc および /etc/init.d/network 内の `dhcpinfo Hostname` の部分をこれを使うよう変更してやると,かなり上手くいくでしょう。

 
[Powerd by Sun] [Solaris.RogueLife.org] [Valid XHTML 1.0]
Copyright © 2000-2001 -- tsumura@tomo.gr.jp