Bind でネイキッド TLD を設定する

Bind でネイキッド TLD を設定する

URL リダイレクト アプリをホストしている Web サーバーを指す非常に短い内部 TLD を設定したいと考えていますgo。たとえば、ユーザーは正確な URL を覚えていなくてもgo/chat、または を入力できます。go/news

次のようにゾーン ファイルを使用して内部 DNS サーバーを設定しました。

$ttl 3600
go. IN  SOA localhost. dns.company.corp. (
            1597456469
            3600
            600
            1209600
            3600 )
go. IN  NS  localhost.
@   IN  A   10.0.88.10

を使用する Windows ホストからはnslookup、これは完璧に動作するようです:

>nslookup go
Server:  dns1
Address:  10.0.40.10

Non-authoritative answer:
Name:    go
Address:  10.0.88.10

(Linux でも同様の結果)

しかし、私が試した Web ブラウザはどれもこの名前を正しく解決できませんでした。Chrome、Firefox、Edge、IE はすべて、このhttp://goドメイン名が存在しないかのように動作します。つまり、アドレスに追加のピリオド ( http://go.) を含めない限り、正しく解決されます。

基本的なことはすでに試しました。DNS をフラッシュし、再起動するなど。

このような「ネイキッド」TLD を解決可能にする正しい方法は何ですか? これは可能ですか?

答え1

http://go を参照するときにブラウザに「存在しないドメイン」エラーが表示される理由は、ホスト名に DNS サフィックスが追加されているためです (DNS サフィックスが存在するか、ブラウザが null サフィックスを追加しているかに関係なく)。それでも、DNS サフィックスは追加されます。

目的を達成するには、URL の末尾に . を追加してブラウザが絶対アドレスとして認識するようにするか、DNS ゾーン (例: example.internal) を構成し、Web サーバーのホスト名を go.example.internal に設定し、PC の DNS サフィックスを example.internal (手動または DHCP 経由) に設定して、http://go を参照する必要があります。

または、接続する必要があるすべての PC の hosts ファイルにホスト名「go」を追加することもできます。

http://www.dns-sd.org/TrailingDotsInDomainNames.html

関連情報