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


23

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

回答:


23

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

AvahiはDNS名と相互作用します。具体的には、<host-name>ディレクティブにはサービスのDNS FQDNが含まれている必要があるため、ドット表記名とのDNSの不整合も生じます。

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


これは正しいですが、参照を信頼できる答えと見なす必要があります。Stack Overflowで「DNSがどのように機能するのか」という人は何も証明しません。
ミケマッカナ

ホスト名に「。」を含めることはできないという厳格なルールですか??
ディネシュクマールP

1
@DineshKumarPはい。DNS RFCは、ピリオド文字をDNSラベル間の区切り文字として記述しています。AvahiやSLPなどの非DNSサービスでは許可されますが、DNS自体では許可されません。
sysadmin1138

これはまったく正しくありません。それが制限された構文への適合性を提案してもDNSは、ラベルにドットを可能にする完全に満足している(「LDHルール」を参照; tools.ietf.org/html/rfc1035#section-2.3.1)。DNSのアプリケーション(ホスト名をDNSに保存するなど)は、DNSラベル構文の制限が作用する場所です。
トニーガルノックジョーンズ

17

あなたはDNSのためにその命名スキームの問題を求めています。代わりにa-alphaを検討してください。


askubuntuで同じ質問をしましたが、誰も私に答えることはできません。だから私はこの方法を使用します
ベンゼン

1

他の人が述べたように、あなたは間違いによるDNSへのあなたのホスト名にドットを避けたい、と私はまた、あなたがSSLを実行するには、ワイルドカード証明書を使用している場合、これは、問題を与えることができることがわかったとして、ワイルドカード本命意志だけワイルドカードAの1つのレベルのためにサブドメイン。その場合は、あなたのワイルドカード証明書は、* .mycompany.comのためであるが、それはサブドメインとして「アルファ」を扱う場合はa.alphaで、ホスト名、ワイルドカード証明書が動作しない場合がありますがあります。


1

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

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

さらに、hostnickのアイデアは少し変数です。

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

そして、さらに複雑なものに、hostBIND9-ホストからのコマンドを持つことにより、DNS規格に違反する-N <int>検索ドメインが使用されているかどうかを制御するオプションを選択します。これにより、シナリオに応じてさまざまな方法でDNSルックアップが中断されます。DNSは、文字列で検索する文字として末尾のドットを含む名前を検索し、他の名前について/etc/resolv.confは、一致が見つかるかすべてが失敗するまでドメインを追加して検索することになっています(これらのドメインは暗黙的に末尾のドット)。[これはメモリからです。RFCで一般的なプロセスが変更された場合はコメントしてください]

そのため、hostnickでドットを使用すると、hostコマンドはおそらく失敗し、検索に使用するスクリプトを破壊します。私は個人的にそれhostが壊れているのは計り知れず、自宅でもIPv4と-v6の両方を持ち、.v4のような名前を持っているので、今日でも私のホームネットワークのシステムの検索を壊しているようです。余分な、バージョン固有のショートフォーム、などhostにもかかわらず、検索に失敗したping発見うまくそれら。

とにかくhostnicksにドットを配置することは非常にまれであったため、脳の損傷がなくhostても、単純なセマンティクスの観点からでもdotless hostnicksに固執することをお勧めします。


0

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

おそらく有用で間違いなく接線方向の読み取りについては、続けてください:

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

a.alphaをインターウェブ上のIPアドレスに解決するホスト名にしたい場合、それを行うことができますが、それは各ホスト名サフィックス(例えば、アルファ、ベータなど)のサブドメインを含む場合があります。

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

インターネット上のすべてのものは、あなたのホスト名は 'a'であり、あなたのドメインはalpha.example.comであると考えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.