デフォルトでは、Oracle Solaris DHCPv4 クライアントは、それ自身のホスト名を提供しません。DHCP サーバーがホスト名を提供するとみなすからです。デフォルトでは、Oracle Solaris DHCPv4 サーバーは、DHCPv4 クライアントにホスト名を提供するように構成されています。Oracle Solaris DHCPv4 クライアントとサーバーを同時に使用する場合には、2 つのデフォルトが有効に機能します。しかし、Oracle Solaris DHCPv4 クライアントと Sun 以外の DHCP サーバーを使用する場合には、ホスト名がサーバーからクライアントに提供されないことがあります。ホスト名が DHCP を通して Oracle Solaris DHCP クライアントに提供されない場合、クライアントシステムは、ホスト名として使用する名前を /etc/nodename ファイルに求めます。ホスト名がファイルにない場合は、unknown に設定されます。
DHCP サーバーが DHCP Hostname オプションで名前を提供している場合には、/etc/nodename ファイルの値が異なっていても、このホスト名が使用されます。クライアントで特定のホスト名を使用する場合は、その名前をクライアントから要求できます。そのための手順は次のとおりです。
次の手順は、すべての DHCP サーバーで機能するとは限りません。この手順では、クライアントに対し、特定のホスト名を DHCP サーバーに送信して同じ名前を応答で受け取るように指示します。
ただし、DHCP サーバーはこの要求を尊重する必要はないため、尊重しないことがあります。その場合は、単に別の名前を返します。
クライアントシステム上で、スーパーユーザーとして /etc/default/dhcpagent ファイルを編集します。
/etc/default/dhcpagent ファイルで REQUEST_HOSTNAME キーワードを見つけ、次のように変更します。
REQUEST_HOSTNAME=yes |
REQUEST_HOSTNAME の前にコメント符号 (#) がある場合は、# を削除します。REQUEST_HOSTNAME キーワードがない場合は、これを挿入します。
クライアントシステム上で /etc/hostname.interface ファイルを編集して、次の行を追加します。
inet hostname
hostname には、クライアントで使用する名前を指定します。
次のコマンドを入力し、クライアントは再起動時に完全な DHCP ネゴシエーションを実行します。
# ifconfig interface dhcp release # reboot |
クライアントにキャッシュされている DHCP データは削除されます。クライアントは、プロトコルを再開して、新しい構成情報 (新しいホスト名を含む) を要求します。DHCP サーバーは、そのホスト名がネットワークの別のシステムで使用されていないか確認してから、それをクライアントに割り当てます。DHCP サーバーは、ネームサービスの情報をクライアントのホスト名で更新できます。ただし、そのためには、DHCP サーバーがそのように構成されていなければなりません。