Solaris 10上でホスト名とIPアドレスを変更する際の注意点UNIX処方箋

現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、Solarisの/etc/inet/ipnodesについて解説します。

» 2009年05月21日 00時00分 公開
[ITmedia]

新規導入したSolaris 10マシンのテスト検証期間を終え、環境設定を検証環境から本番環境に変えようとした際に、ホスト名とIPアドレスが変更できませんでした。以前使用していたSolarisと同様のファイルの変更を実施したのですが、変更できずに困っています。Solaris 10になって何か仕様変更されているのでしょうか? 変更したファイルは以下のとおりです。

  • /etc/inet/hosts
  • /etc/nodename
  • /etc/hostname.<インタフェース名>

おそらくSolaris 10のバージョンが3/05以前のものを使用しているためだと思われます。Solaris 10では仕様が変更になり、/etc/inet/ipnodesが参照されるようになりました。/etc/inet/ipnodesは、IPv6用の設定ファイルで、IPv6を使用する場合には設定を記載する必要があります。ただし、ipnodesファイルにはIPv4の設定も含まれますので、IPv4の設定をする際にもipnodesファイルを変更する必要があります。

 Solaris 9以前もipnodesファイル自体は存在したのですが、ループバックアドレスしか記載されていませんでした。しかし、Solaris 10では、ipnodesファイルにもホスト名IPアドレスが記載されるよう仕様変更されたため、ipnodesファイルの編集も必要になります。従って、ご質問に挙っているファイルを変更しただけではホスト名、IPアドレスなどが変更されません。さらに、Solaris 10のバージョンによってはipnodesファイルの参照の順番が異なっているため、その挙動が変化してしまいます。Solaris 10の仕様変更の詳細は以下のようになっています。

  • Solaris 10 3/05以前

システム起動時に、hostsファイル、ipnodesファイルの順にファイルを読んで設定を行うため、ipnodesファイルのホスト名設定が優先される

  • Solaris 10 1/06以降

システム起動時に、ipnodesファイル、hostsファイルの順にファイルを読んで設定を行うため、hostsファイルのホスト名設定が優先される

 つまり、Solaris 10 3/05以前では、/etc/inet/hos

tsファイルだけを変えた場合には、今回の質問における現象のように、後からipnodesファイルを参照し、ipnodesファイルの設定を優先してしまうため設定変更がなされません。一方、Solaris 10 1/06以降をお使いの場合には、システム起動時のファイル参照順番が変わっているため、hostsファイルを修正しただけでも設定は変更されてしまいます。

 正しい設定方法としては、hostsファイルおよびipnodesファイルの双方を合わせる必要がありますので、以下のように両方のファイルを同様に変更してください。

  • /etc/inet/ipnodesファイル例

::1 localhost

127.0.0.1 localhost

172.17.17.7 Blade100 loghost

  • /etc/inet/hostsファイル例

127.0.0.1 localhost

172.17.17.7 Blade100 loghost


UNIX関連の悩みなら、「UNIX処方箋」にどうぞ


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ