web-dev-qa-db-ja.com

ホスト名にドットを含めることはできますか?

Linuxボックスのホスト名にa.alphaのような名前を使用していますが、これらの名前は完全には使用できないようです。ホスト名シェルコマンドの応答は正しいです(a.alpha)。しかし、私のユーザーアカウントの後に印刷される名前は、「[email protected]」ではなく「user @ a」です。 avahiを使用すると、(ホスト名で)a.alphaに到達できますが、b.alphaには到達できません。それは正常ですか?

23
benzen

チョッパーは正しいです。 DNSの仕組みにより、「a.alpha」の「アルファ」コンポーネントは、DNSでは個別の「ラベル」と見なされます。ドットを含むホスト名を使用すると、DNSを使用するすべてのシステムから一貫性のない結果が発生します。

AvahiはDNS名、特に<Host-name>ディレクティブにはサービスのDNS FQDNが含まれている必要があるため、ドット付きの名前とのDNSの不一致の影響も受けます。

ドット表記の名前は使用しないでください。

23
sysadmin1138

DNSが原因でその命名方式に問題が発生しているので、代わりにa-alphaを検討してください。

17
Chopper3

ホストの完全なホスト名IS通常、ドメインを備えたFQDN(完全修飾ドメイン名)。Linuxでは、最終的にHost --fqdnの出力になり、最初のドットの前の部分が含まれます。ホストのニックネームと見なされますが、さまざまなシステム(Linux、SunOSなど)は、「ホストニック」の概念をさまざまな方法で実装しています。

  • / etc/hostnameにはhostnickのみが含まれ、残りは/ etc/domainnameにあります
  • / etc/hostnameにはFQDN全体が含まれ、ドメインはalso/etc/domainnameにあります
  • ドメイン名はYP/NIS構成にのみ存在します
  • ドメイン名は、システムグローバルではなく、特定のサブシステムにのみ存在します
  • (その他、一般的に奇妙なアプローチ)

さらに、ホストニックのアイデアは少し変数です:

  • 最初のドットの前のFQDNの部分
  • FQDNの左側の一部で、末尾のドットなしでのみ表現されます
  • FQDNの実際のドメイン名の前の部分(どこかに設定されている)

さらに、事態をさらに複雑にするために、bind9-HostからのHostコマンドは、検索ドメインを使用するかどうかを制御する-N <int>オプションを持つことにより、DNS標準に違反しています。これにより、シナリオに応じてさまざまな方法でDNSルックアップが中断されます。 DNSは、文字通り何を検索するかを示す末尾のドットを使用して名前を検索し、他の名前については、/etc/resolv.confから一致が見つかるか、すべて失敗します(これらのドメインには暗黙的に末尾にドットがあります)。 [これはメモリからのものです。私が見逃したRFCでgeneralプロセスが変更された場合はコメントしてください]

そのため、ホストニックネームでドットを使用する場合、Hostコマンドはおそらくそれを失敗させ、それをルックアップに使用するスクリプトを壊します。個人的にはHostが壊れていることは計り知れません。そして今日でも自宅にIPv4と-v6の両方を持っているため、ホームネットワークのシステムのルックアップを壊しているようです、および.v4のような名前が付いています。余分なバージョン固有の短い形式であり、Hostはそれらを正常に検出しても、pingは検索に失敗します。

とにかくホストニックにドットを入れようとすることは非常にまれだったので、Hostの頭痛がなくても、単純なセマンティクスの観点からもドットなしのホストニックに固執することをお勧めします。

1
Alex North-Keys

他の人が述べたように、DNSのためにホスト名にドットを使用したくないのは間違いありません。また、ワイルドカード証明書を使用してSSLを実行すると、ワイルドカード証明書は1レベルのサブドメイン。したがって、ワイルドカード証明書が* .mycompany.com用であり、ホスト名がa.alphaである場合、「alpha」をサブドメインとして処理すると、ワイルドカード証明書が機能しない可能性があります。

1
Mitchell Tracy

上記のように、正しい答えは間違いなく「それをしないでください」です。

おそらく有用であり、確実に接している読み物については、続けてください:

あなたはDNSの解決またはあなたのコマンドラインプロンプトについて話していますか?コマンドラインプロンプトを修正する場合は、$ PS1(または、該当する場合は同様の非bash/shの同等物)をいじるだけです。

A.alphaをインターウェブのIPアドレスに解決するホスト名にしたい場合は、それを実行できますが、ホスト名のサフィックスごとにサブドメインが必要になる場合があります(アルファ、ベータなど)。

サブドメインを作成せずにDNSサーバーが機能するように構成することもできます。親ドメインのゾーンファイルでサブドメインのネームサーバーのIPアドレスを提供できるため、「正常に動作する」可能性があります。これは、誰かがDNSサーバーにa.alpha.examaple.comのIPアドレスを要求すると、example.comのDNSサーバーを要求し、そのDNSサーバーのアドレスが既にぶら下がっている場合は、応答で応答するためです。 、サブドメインの権限のあるサーバーにあなたを引き渡そうとするのではなく、欠落しているSOAの周囲で問題が発生する可能性があります...したがって、各ホストプレフィックスとSOA=各ホストサフィックスにAレコードを追加します。ええ、それがチケットです...

インターネット上のすべてのものは、ホスト名が「a」であり、ドメインがalpha.example.comであると見なします。

0
Dylan Martin