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


回答:


24

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

Pingの名前解決で大文字と小文字が区別される場合、DNSによって実行されていません。


国際化ドメイン名が追加された後、明らかにややこしくなります。非ASCIIコンテキストでは、大文字と小文字が区別される場合があります。
ゾレダチェ

1
@Zoredache:IDNAシステムを使用する国際化ドメインは、小文字への変換を伴うPunycodeでエンコード可能でなければならないようです。名前を視覚的に区別できるようにするための追加の制限もあります。また、ユーザーにケースが正しく行われるように強制するのは望ましくありません。
-BillThor

6

私は仕事でこれをちょうど持っていました。DNS 大文字と小文字を区別しません。...RFCはそれを指定しています。https://tools.ietf.org/html/rfc4343 しかし、小文字である必要があるとは言いません。

そのため、内部ドメイン「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年に「DNSラベルのビット0x20を使用してトランザクションIDを改善する」http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00で初めて説明されました。

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

良い議論がここにあります。 https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


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

クエリの一部の調整により修正されましたが、上記のように0x20の大文字と小文字が混在するルックアップが破損していました。

簡単な答え:DNSは大文字と小文字を区別するべきではありませんが、質問と回答は将来的には同一の大文字である必要があります。


2
質問が出されてから4年後の答えは微妙に異なります。「 - DNSは現在、大文字と小文字が区別されてはい」私は別の4年間で答えがされるだろう
Criggie

4

ホスト名の解決で大文字と小文字が区別される組み込み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割り当てを取得するときに発生します。


0

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

さまざまなOSでも、異なるケーシングの問題は発生しません。

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

「ほとんどの部分」では、ホスト名はアプリケーションレベルでも大文字と小文字を区別しません。

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