ネットワークが不安定な環境で、なんとかネット接続する為の緊急対処です。
DNSを UDP では無く、TCPで接続します。
パケットロストするような不安定なネットワーク環境では、DNSによる名前解決もうまくいかず、ブラウザでのネットアクセス等への影響は甚大です。
DNS は通常、高速性を持つUDPプロトコルで通信しますが、再送といったパケットロストへの対処を持つTCPプロトコルで通信出来れば、問題を回避できます。
従来、一定サイズを超える DNSクエリーはTCP接続でしたが、下記サイトによると、全てTCPアクセスしても良くなったようです。
TCPだけでDNSサーバにqueryできるようになってた:Geekなぺーじ
以下、方法です。
TCP & UDP リピーター、stone を使います。
stone で UDP の DNSパケットを、TCP接続に切り替えます。
stone は下記ページの、正式版の個所の stone version 2.3e for WindowsXP をダウンロードして使用します。
for WindowsXP となっていますが、Windows10 でも動作します。
Simple Repeater `stone’
コマンドプロンプトから次の書式で実行します。
stone -d DNSサーバのアドレス:53 53/udp
例えば、DNSサーバに 8.8.8.8 を指定します。
stone -d 8.8.8.8:53 53/udp
これで、DNSサーバに 127.0.0.1 を指定すれば、指定したDNSサーバ(ここの例では 8.8.8.8) に TCP接続でアクセスします。
下記サイトの手順で、優先DNSサーバーに 127.0.0.1 を指定して下さい。
DNSサーバーを設定する方法、自動取得に戻す方法 | JCOMサポート
今回の手順で正しく設定されているか、確認してみます。
次のサイトにアクセスして、[Test My DNS] を押します。
表示されたIPアドレスが 8.8.8.8 になっているか、確認して下さい。
Web-based DNS Randomness Test | DNS-OARC
なお、今回の方法は、不安定なネットワーク環境用に、DNSを高速性を持つUDPプロトコルの代わりに、パケットロストへの対処を持つTCPプロトコルで通信させています。
通常の問題無いネットワークでは、遅くなるだけでメリットが無いので、注意して下さい。
コメント