hostname -
ホスト名の名前解決の説明
ホスト名は、階層構造でドット区切りのサブドメインである。
例えば、 EDU ドメインの
Berkeley
サブドメインのマシン
monet は、 "monet.Berkeley.EDU"
と表現される。
ホスト名は、ネットワーククライアントやサーバのプログラムでは一般的に
使用され、使用する際には名前からアドレスに変換しなければならない
(一般
的にはアドレスへの変換処理は
getaddrinfo(3) か (廃止予定の)
gethostbyname(3)
で行われる)。ホスト名の解決は、
インターネット・ネームリゾルバによって以下の方法で実行される。
ホスト名がドットを含まない単一要素で構成されていて、環境変数
HOSTALIASES
にファイル名が設定されている場合、入力されたホスト名に
マッチする文字列を検索するのに指定されたファイルが使用される。
そのファイルの各行は、ホワイトスペースで区切られた文字列
2 つで
構成され、各行の最初の文字列がホスト名のエイリアス
(別名) で、
二番目の文字列がそのエイリアスに対応する完全なホスト名である。
解決するホスト名と一致するホスト名のエイリアス
(ファイルの各行の最初の
フィールド)
が見つかれば、完全なホスト名に置き換えられ、
それ以上の変換処理は行わずに、そのホスト名で検索処理が行われる
(ホスト名とエイリアスの照合では大文字、小文字の違いは無視される)。
入力されたホスト名の末尾がドットの場合、
末尾のドットは削除され、それ以上の処理は行われず、
(末尾のドットを削除した)
残りの名前で検索が行われる。
入力された名前の末尾がドットでない場合、
マッチするものが見つかるまでドメインのリストの検索が行われる。
デフォルトのドメインの検索リストは、先頭ローカルのドメインで、
親ドメインが
(長いものから順に)
続く
(親ドメインはドット区切りで
少なくとも 2
要素あるものだけが使用される)。
例えば、 CS.Berkeley.EDU
ドメインで、 lithium.CChem
というホスト名の場合には、
最初に lithium.CChem.CS.Berkeley.EDU
が確認され、 次に
lithium.CChem.Berkeley.EDU
が確認される。 Lithium.CChem.EDU
はチェックされない。
なぜなら、ローカルドメイン
CS.Berkeley.EDU
で残っているドメインは
EDU
で、これは一つしか要素がないからである。
検索リストはシステム全体で共通の設定ファイルでデフォルト値から
変更できる (
resolver(5)
参照)。
関連項目¶
gethostbyname(3),
resolver(5),
mailaddr(7),
named(8)
この文書について¶
この man ページは Linux
man-pages
プロジェクトのリリース
3.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。