
IPアドレスを調べようとしていてmail.yahoo.com
、gmail.com
mail.google.com
実行した場合:
dig @8.8.8.8 +nocomments +noquestion \
+noauthority +noadditional +nostats +nocmd \
gmail.com mail.yahoo.com mail.google.com
次のような結果になります:
gmail.com. 299 IN A 173.194.123.21
gmail.com. 299 IN A 173.194.123.22
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
mail.google.com. 0 IN CNAME googlemail.l.google.com.
googlemail.l.google.com. 243 IN A 173.194.123.21
googlemail.l.google.com. 243 IN A 173.194.123.22
CNAME
レコードを表示する場合、それに対応するレコードが別のマシンに対応するレコードや他のホスト名のレコードA
の前に表示されないようにできますか?CNAME
A
たとえば、次の点に焦点を当てますmail.yahoo.com
(IP または IPmail.yahoo.com
を解決したいだけです):
出力は次のようになります。
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
私が探しているホスト名 ( ) は、最初のエントリの最初の列にあります。その後に、私が本当に気にしないものmail.yahoo.com
が多数あり、その後に実際の IP (これは重要です) のレコードがあります。CNAMES
A
CNAMES
またはレコードの順序が乱れる可能性はありますかA
? たとえば、次のようになります。
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net. #(!)BAD
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net. #(!)BAD
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
あるいはさらに悪い例(実際のA
記録は上にあります):
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
mail.yahoo.com. 0 IN CNAME login.yahoo.com.
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
あるいは、最悪の場合(dig
投稿の上部に示されているように、マルチ解像度で実行した場合):
ats.member.g02.yahoodns.net. 0 IN CNAME any-ats.member.a02.yahoodns.net.
any-ats.member.a02.yahoodns.net. 17 IN A 98.139.21.169
mail.google.com. 0 IN CNAME googlemail.l.google.com. # This one I want
gmail.com. 299 IN A 173.194.123.21 # This one I want
gmail.com. 299 IN A 173.194.123.22 # This one I want
mail.yahoo.com. 0 IN CNAME login.yahoo.com. # This one I want
login.yahoo.com. 0 IN CNAME ats.login.lgg1.b.yahoo.com.
ats.login.lgg1.b.yahoo.com. 0 IN CNAME ats.member.g02.yahoodns.net.
googlemail.l.google.com. 243 IN A 173.194.123.21
googlemail.l.google.com. 243 IN A 173.194.123.22
よろしくお願いします。
答え1
いいえ、返される結果の順序は DNS サーバー次第であり、それを制御することはできません。したがって、特定の DNS サーバーからの順序に依存することはありません。
実際のクエリは順番に実行されると私は信じており、これまでのテストでもこれが確認されています。あなたのケースでは、最初に google.com、最後に mail.google.com です。これは、dig がコマンド ラインで指定した順序でクエリを実行するためです。
コマンドライン構文の設定方法により、順序が重要になります。これが私の答えです。指定された順序でアプローチしないと、非グローバル修飾子が台無しになります。
man ページから:
dig の BIND 9 実装では、コマンド ラインで複数のクエリを指定することをサポートしています (-f バッチ ファイル オプションのサポートに加えて)。これらの各クエリには、独自のフラグ、オプション、およびクエリ オプションのセットを指定できます。
この場合、各クエリ引数は、上記のコマンドライン構文の個々のクエリを表します。各クエリ引数は、標準オプションとフラグ、検索対象の名前、オプションのクエリ タイプとクラス、およびそのクエリに適用するクエリ オプションで構成されます。