コンピュータシステム(Linux)には1つのホスト名しかありませんか?

コンピュータシステム(Linux)には1つのホスト名しかありませんか?

hostnameシステムのDNS名を表示し、そのホスト名またはNISドメイン名を表示または設定するために使用されます。

コンピュータシステム(Linux)には1つのホスト名しかありませんか?

仮想ホストでは、複数のホスト名をWebサーバーの異なるルートディレクトリとして解決できます。コンピュータシステム(Linux)がホスト名を1つしか持てない場合、仮想ホスティングはどのように可能ですか?

ありがとうございます。

ベストアンサー1

はい、いいえ。これはホスト名と呼ばれる2つの異なるものです。

「内部」ホスト名デフォルトでは、カーネルが保存した文字列です。これはhostnameコマンド(または呼び出し)によって返される値であり、システムgethostname()固有です(*)

プログラムが実行中のシステムの一部の識別子を出力しようとするときに主に使用されます。たとえば、\hBashのPS1ホスト名に展開されます。同様に、syslogスタイルのログファイルにもログエントリのホスト名が含まれています。

(*Stephen Kittがコメントしましたが、名前空間同じシステム上のプロセスの異なるホスト名を表示するために使用できます。これは主に他のシステムと同様に動作するコンテナに使用されます。 )

そしてDNS名があります。これは、他のシステムで他のシステムのIPアドレスを見つけるために使用されます。同じIPアドレス、つまり同じホストを指す複数のDNS名があります。

内部ホスト名とDNS名は同じである必要はありません。誰かがWebサーバーを持っていてorange(*)を呼び出してIPアドレスを使用することにしたとしましょう192.0.2.9。 2つの異なるドメインを提供することができ、DNSはおよびを指すようにwww.example.org設定www.example.comされますが、192.0.2.9システムの内部ホスト名はまたはにするorange.example.orgことができますorange。この場合、DNS設定には通常リバースルックアップ192.0.2.9名前に戻りますorange.example.orgが、強制する内容はありません。

(*果物の名前にちなんでサーバー名を付けるのが好きだからです。誰かが同様の名前を使うことができますが、ポイントはwebserver1実際のドメインの1つにちなんで命名する必要がないということです。)

特に、Webホスティングでは、ブラウザがWebサーバーにアクセスするサイトの名前を知らせる必要があります。そうしないと、サーバーはクライアントがどの仮想サイトにアクセスしようとしているかを知ることができません。 HTTPにHostヘッダーそのような理由で。


DNS名と内部ホスト名の違いは次のとおりです。マルチキャストDNSプロトコル (例えば阿波市デーモン)および他の検索プロトコル。 mDNSを使用すると、ホストは同じネットワーク上の他のすべてのホストに名前情報を照会し、DNSで明示的に設定しなくてもそのホスト名を別のホストに表示できます。

おすすめ記事