
OpenDNS などの DNS サービスをいくつか使用しようとしましたが、何をしても DNS クエリが期待どおりの結果を返すことはありません。ファイアウォールでパケット トラフィックを監視すると、クエリが目的の DNS サーバー アドレスに送信され、応答が返されることがわかりますが、結果は期待どおりではありません。たとえば、リクエストがサーバーに送信されているように見えても、OpenDNS テスト ページは常に失敗します。
私の ISP が DNS クエリを傍受し、それを自身のサーバーに送信しているのではないかと思います。これを確認する方法はありますか? 他に見落としている点はありますか? 私は Sprint の 3G ワイヤレス サービスを使用しています。
答え1
電話して聞いてみたら?
からOpenDNSフォーラムのスレッド(2010年2月付):
今日はスプリントと話をしました。
電話で話した人が私に言ったことはこれです。
「はい、スプリントはポート 53 で DNS をリダイレクトしています」(もちろん、私たち opendns はこれを知っています) 「はい、静的アカウントの場合でもそうです」
リンク先によると、Sprintデバイス用のファームウェアアップグレードでOpenDNSが使用可能になる可能性があるようです。SprintからのPDF同じメッセージで。
答え2
ISP が透過 DNS プロキシを使用しているかどうかを確認する方法はいくつかあります。ISP がそれをどのように実装しているかによって異なります。私の ISP は、すべてのポート 53 要求を独自の再帰 DNS サーバーにリダイレクトします (ただし、NXDOMAIN で広告は提供しません。ログ記録や DNS トンネリングの防止に使用している可能性があります)。一般的な検出方法をいくつか紹介します。
- 最も簡単な方法はネットアリザーAndroidアプリまたはネームベンチGoogle の Windows ソフトウェア。ISP が DNS プロキシを使用しているかどうかを通知します。これには技術的な知識は必要ありません。
権威あるネームサーバーへの DNS ルックアップを実行し、応答が権威あるものであるかどうかを確認します。この例では を使用します
dig
。 も使用できますnslookup
。応答が権威あるものである場合は、dig は応答にフラグを表示しますaa
。これで、a.ns.facebook.com が fb.me の権威ある NS になりました。ISP が要求を傍受してリダイレクトすると、権威ある応答は得られません。dig @a.ns.facebook.com fb.me
(左側はDNSを傍受しません)
dig
または を実行するときに、DNS サーバーが実行されていない IP アドレスを DNS サーバーとして指定しますnslookup
。ISP が要求を傍受した場合でも、応答が返されます。それ以外の場合は が返されますTime Out
。(右側の 1 つは要求を傍受してリダイレクトします)
ランダムな IP アドレスで nmap を使用します。ISP がすべてのポート 53 要求をリダイレクトする場合、ポート 53 は常に開いていることがわかります。
コンピュータのネットワーク設定を変更し、GoogleパブリックDNS、OpenDNS、またはCloudflare DNS IPを使用します(一度に1つのプロバイダータイプを使用します)。次に、DNS リーク テストウェブサイトにアクセスし、異なるプロバイダーが表示されているかどうかを確認します。
このISPの傍受を回避するのは難しくありません。DNS暗号化/DNS over TLS を使用するか、非標準ポート (例: 5353 または 443) で実行される DNS サーバーを使用します。2 番目の方法では、ルーターまたはコンピューターのファイアウォールを使用して、発信 DNS クエリをそれらのポートにリダイレクトする必要があります。これらの方法の詳細については、この記事の範囲外です。
答え3
OpenDNSとGoogleのような異なるプロバイダに送られると思われるDNSリクエストのタイミングを計測してみてください。それらが同一であれば、ISPによって取得され、処理されているはずです(論理的には誤りですが、可能性はあります)。これを行う方法の1つは、ネームベンチ、接続に最適な DNS サーバーを選択するためによく使用されます。