web-dev-qa-db-ja.com

ホスト名は大文字と小文字が区別されますか?

ホスト名は大文字と小文字が区別されますか?です

ping MYHOST

に等しい

ping myhost

使用するDNSに依存しますか? Win/Mac/Unixシステム間に違いはありますか?

27
michelemarcon

DNSから解決された名前では、大文字と小文字が区別されません。これは混乱を防ぐために重要です。大文字と小文字が区別される場合、.comの8つのバリアント(.com、.Com、.cOm、.COm、.coM、.CoM、.cOM、.COM)があります。国コードは4つになります。

名前解決でPingの大文字と小文字が区別される場合、DNSでは行われません。

25
BillThor

私はこれをここで働いていました。 DNSは大文字と小文字を区別しないでください... RFCでは次のように指定されています. https://tools.ietf.org/html/rfc434 小文字である必要があるとは言わない。

そのため、内部ドメイン「t.local」の問題を解決できないホストをトラブルシューティングすることができました。

p123$ ping p123-db.t.local
PING p123-db.t.local (192.168.106.175) 56(84) bytes of data.
....works ok

p123$ ping P123-dB.T.lOcal
ping: unknown Host P123-dB.T.lOcal

なぜ混合ケースを解決する必要があるのですか?それは、実行中のソフトウェアが求めていたものであるため、tcpdumpがDNSクエリとして示していたものだからです。 pgbouncerはその設定で「p123-db」を使用するように構成されており、resolv.confは「t.local」の検索ドメインを指定しています。

Glibcがケースをランダムに切り替えていたことが判明しました。このプロセスは「0x20パディング」と呼ばれ、2008年に「トランザクションIDを改善するためのDNSラベルでのビット0x20の使用」で最初に記述されました http://tools.ietf.org/html/draft-vixie-dnsext- dns0x20-

主な目的は、エントロピーを増やして返信を偽造するのが困難になるようにすることです。質問のケースは、回答のケースと一致する必要があります。

ここで良い議論が見つかるかもしれません。 https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


別に、内部でpowerDNSを実行し、データベースに対してルックアップを行います。何年もの間、t.localドメインで大文字のホスト名またはFQDNを使用したことがないため、内部ドメインで大文字と小文字が区別されることに気づきませんでした。

クエリのいくつかの微調整によって修正されましたが、これは上記の0x20の大文字と小文字が混在する検索を壊してしまいます。クライアントは、要求されたのと同じケースで回答を返す必要がある場合があります。

短い回答:DNSは大文字と小文字を区別するべきではありませんが、質問と回答は将来、同じ大文字である必要があります。

6
Criggie

ホスト名の解決で大文字と小文字が区別される組み込みSE Linuxデバイスの問題のトラブルシューティングを終了しました。

「ping MYHOST」は127.0.0.1にpingしますが、「ping myhost」は正しいIPアドレスにpingします。

nslookupは大文字と小文字の両方で正しい結果を生成し、DNSサーバーに障害がないことを示していました。

ただし、キャッシュを無視するnslookupとは異なり、「getent hosts MYHOST」は「0.0.0.0」を出力し、「getent hosts myhost」は正しいIPアドレスを出力します。

したがって、nscdは明らかに大文字と小文字を区別します。 「nscd -i hosts」を呼び出してキャッシュをクリアすると、問題が解決しました。

(大文字)のMYHOSTは、DNSエントリが作成される前にプロセスがMYHOSTへの接続を確立しようとしたため、0.0.0.0でキャッシュされました。これは、リモートデバイスがDHCP割り当てを取得したときに発生します。

4
Andrew Weimholt

BillThorが述べたように、DNSまたはnetbios解決レベルでは大文字と小文字は区別されません。

さまざまなOSでも、ケーシングの違いに問題はありません。

ただし、アプリケーションはそれらを認識している場合があります。たとえば、さまざまな環境のWebプラットフォームで大文字と小文字の区別を確認できます。現在、検索エンジン最適化(SEO)の理由から、さまざまな大文字小文字の区別とリダイレクトを監視する方が一般的です。それはアプリケーション次第ですが、答えはさまざまです。

「大部分」の場合、ホスト名はアプリケーションレベルでも大文字と小文字を区別する問題ではありません。

0