解決策 1:
09
を使用できます 特定のサーバーからドメインを検索するための構文。 DNS サーバーがそのドメインに対して権限を持っている場合、応答はキャッシュされた結果にはなりません。
dig @ns1.example.com example.com
16
を要求することで、権限のあるサーバーを見つけることができます ドメインのレコード:
dig example.com NS
解決策 2:
DNS プロトコルには、キャッシュを使用せずにネームサーバーを強制的に応答させるメカニズムはありません。 Dig 自体はネームサーバーではありません。標準の DNS 要求を使用して、設定したネームサーバーにクエリを渡すツールにすぎません。 DNS する サーバーに再帰を使用しないように指示する方法を含めますが、これはあなたが望むものではありません。これは、権限のあるネームサーバーに直接問い合わせたい場合にのみ役立ちます。
ネームサーバーがキャッシュから応答しないようにしたい場合は、ネームサーバーの構成を変更することによってのみ、それを行うことができます。 ですが、ネームサーバーを制御しないと、これは不可能です。
ただし、掘ってバイパスすることはできます 構成されたネームサーバーにアクセスし、ルートサーバーに戻る独自の再帰リクエストを実行します。これを行うには、26
を使用します。 オプション。
dig example.com +trace
実際には、これはローカル キャッシング リゾルバーではなく、権限のあるサーバーにのみクエリを実行するため、これらのサーバーが内部キャッシングを使用していても、結果は古くなりません。 33
を使用することの追加の利点 パスに沿って行われた個別のリクエストをすべて見ることができるということです。
解決策 3:
41
について話すときに、多くの人がこれまで含まれていないことに気付きました。 56
を使用することです 設定 (/etc/resolv.conf) で指定された DNS サーバーではなく、dig クライアントがトレースを行うことを意味します。言い換えれば、dig クライアントは再帰 DNS サーバーのように機能します。しかし - 重要なのは、キャッシュがないことです。
詳細 - すでに 60
を要求している場合 72
を使用して記録する /etc/resolv.conf が 8.8.8.8 の場合、ゾーンの TTL 内で何かを行うと、キャッシュされた結果が返されます。ある意味で、自分のゾーンと Google がそれをどのように認識しているかについて何かを探している場合、ゾーンの TTL について Google で DNS の結果を汚染したことになります。 TTL が短い場合は悪くありませんが、1 時間の場合はややゴミです。
だから、 85
ながら Google に初めて問い合わせたときに、キャッシュされたエントリがなかった場合に何が表示されるかを確認するのに役立ちます。Google が 92
結果は、TTL が期限切れになるまでキャッシュからそれを提供するため、以前に要求し、TTL が長い場合はそうではありません - その後、 105
あまり詳細な IMO を持つことはできません。
解決策 4:
この bash は、最初にリストされたネーム サーバーから example.com の DNS エントリを取得します。
dig @$(dig @8.8.8.8 example.com ns +short | head -n1) example.com ANY +noall +answer
- 内側の dig は、google の DNS (8.8.8.8) にクエリを実行して、example.com のネームサーバーを取得します。
- outer dig は、example.com の最初のネーム サーバーにクエリを実行します。
以下は、.zshrc (およびおそらく .bashrc) のエイリアスと同じです:
# e.g. `checkdns google.com`
checkdns () { dig @$(dig @8.8.8.8 $1 ns +short | head -n1) $1 ANY +noall +answer; ping -c1 $1; }
/. の出力は次のとおりです。
☀ checkdns slashdot.org dev
-->Server DNS Query
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @ns1.dnsmadeeasy.com. slashdot.org ANY +noall +answer
; (2 servers found)
;; global options: +cmd
slashdot.org. 21600 IN SOA ns0.dnsmadeeasy.com. hostmaster.slashdotmedia.com. 2016045603 14400 600 604800 300
slashdot.org. 86400 IN NS ns3.dnsmadeeasy.com.
slashdot.org. 86400 IN NS ns4.dnsmadeeasy.com.
slashdot.org. 86400 IN NS ns0.dnsmadeeasy.com.
slashdot.org. 86400 IN NS ns2.dnsmadeeasy.com.
slashdot.org. 86400 IN NS ns1.dnsmadeeasy.com.
slashdot.org. 3600 IN MX 10 mx.sourceforge.net.
slashdot.org. 3600 IN TXT "google-site-verification=mwj5KfwLNG8eetH4m5w1VEUAzUlHotrNwnprxNQN5Io"
slashdot.org. 3600 IN TXT "v=spf1 include:servers.mcsv.net ip4:216.34.181.51 ?all"
slashdot.org. 300 IN A 216.34.181.45
-->Local DNS Query
PING slashdot.org (216.34.181.45) 56(84) bytes of data.
64 bytes from slashdot.org (216.34.181.45): icmp_seq=1 ttl=242 time=33.0 ms
--- slashdot.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 33.026/33.026/33.026/0.000 ms
この解決策は、覚えるのが難しいほど複雑ですが、問題が修正されないほど単純です。 112
私の専門ではありません - 改善を歓迎します :-)