%20%E3%81%8C%E3%80%81Windows%20%E3%81%A7%E3%81%AF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
私のホーム ネットワークには、DNS に関する既知の問題がない Windows ベースの PC が 2 台ありますが、OSX iMac ではいくつかのランダム ドメインの解決に問題があります。問題のあるドメインは次のとおりです。
- 翻訳元
- について
- ナショナルショッピングサービス
見るだけでなく/etc/ホストファイル(問題ないと思います)iMac で DNS に関連する問題について何をチェックすればよいですか、または直面している問題の診断に役立つどのツールを使用すればよいですか?
dig コマンドを使用すると次のようになります:
; <<>> DiG 9.4.3-P3 <<>> @4.2.2.2 www.nationalshoppingservice.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3468
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.nationalshoppingservice.com. IN A
;; ANSWER SECTION:
www.nationalshoppingservice.com. 14400 IN A 64.40.111.81
;; Query time: 86 msec
;; SERVER: 4.2.2.2#53(4.2.2.2)
;; WHEN: Tue Apr 12 18:22:42 2011
;; MSG SIZE rcvd: 65
いくつかの提案を試した後、DNS が問題ではないと信じています... www.nationalshoppingservice.com に ping を実行したところ、次の結果が得られました:
PING www.nationalshoppingservice.com (64.40.111.81): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host
DNS は解決しているようですが、ホストへのルートが見つからないのでしょうか? 何が起こっているのでしょうか?
答え1
コマンドラインはあなたの味方です。まず、DNSに問題がないかもしれません。まずそれを確認する必要があります。この作業に最適なツールは ですdig
。ターミナルを開いて次のように入力します。
dig @4.2.2.2 ehow.com
このコマンドのコンポーネント:
dig : the command
@4.2.2.2 : this tells dig where to ask. We are specifically asking a
known provider in this case Level3. You could easily put
8.8.8.8 (Google) or any other provider here.
ehow.com : the domain you wish to query for.
次のような出力が返されます:
; <<>> DiG 9.7.2-P2 <<>> @4.2.2.2 ehow.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43699
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;ehow.com. IN A
**;; ANSWER SECTION:
ehow.com. 118 IN A 98.124.249.20**
;; Query time: 1 msec
;; SERVER: 4.2.2.2#53(4.2.2.2)
;; WHEN: Mon Apr 11 01:51:12 2011
;; MSG SIZE rcvd: 42
回答セクションは重要な部分です。回答が得られれば、iMac は正常であり、そのドメインにアクセスできることがわかります。
次のステップは、@4.2.2.2 を通常の DNS サーバーの IP またはホスト名に置き換えることです。これは通常、ISP から提供されます。同じ答えが返ってきたら、DNS に問題がないことがわかり、他の場所を探し始めることができます。また、応答時間が良好であることを確認するために、これらのテストを数回実行することをお勧めします。次のような結果になった場合は、
;; connection timed out; no servers could be reached
すると、応答が返ってこないことがわかります。これが断続的に発生する場合、キャッシュが原因で、Windows マシンよりも iMac でより顕著に現れることがあります。私の経験では、Windows マシンは Mac よりも DNS 応答を長くキャッシュします。
答え2
host
Mac OS X で DNS の問題をトラブルシューティングするには、(1 つ選択) 、、などの従来の Unix DNS ルックアップ ツールdig
とnslookup
、などの Mac OS X 固有の DNS ルックアップ API を呼び出す最新のツールの両方を使用する必要がありますdns-sd -Q
。
ほとんどの Cocoa アプリが呼び出す DNS ルックアップ API はmDNSResponder
デーモンを介してルーティングされるため、GUI アプリで DNS ルックアップの問題が発生した場合は、dns-sd -Q
おそらく同じことが表示されます。
従来の Unix DNS ルックアップ ツールは、より従来の Unix DNS リゾルバ コードを使用するため、Cocoa アプリでは解決できないものを解決できる可能性があります (逆も同様)。
では検索できるがdig
、 では検索できない場合は、デーモンを強制終了して自動的に再起動してみてdns-sd
ください(mDNSResponder の HUP だけでは十分ではないことが分かりました)。mDNSResponder
launchd
sudo killall mDNSResponder
答え3
iMac に IP ブロック ソフトウェアまたは類似のものがインストールされていますか?
また、「環境設定」->「ネットワーク」->「詳細」->「DNS」に移動して DNS エントリをリセットし、不要なものを削除してください。
それでも問題が解決しない場合は、iMac に新しいアカウントを(一時的に)作成するか、別のアカウントにログインして、そこから Web サイトにアクセスできるかどうかを確認してください。
答え4
テストするには、「設定」->「ネットワーク」->「詳細」->「DNS」に移動して、Google のパブリック DNS 8.8.8.8 の DNS エントリを追加します。これで問題が解決した場合は、ルータが IP アドレスと DNS 情報を配布するときに使用している DHCP 設定を把握する必要があります。ルータが ISP から DNS 情報を取得している場合は、それが問題である可能性があり、応答が遅いだけかもしれません。ISP の DNS 設定を使用する必要はありません。
私はテストに 8.8.8.8 をよく使用しますが、追加の制御には主に Opendns を使用します。
お役に立てれば幸いです