DNS 名前解決が失敗し続ける理由はよく分かりませんが、DNS Client のイベント 1014 については、以下のような情報があります。
Event ID 1014: Microsoft Windows DNS Client
まずは受信側スケーリング (RSS) 、受信ウインドウ自動チューニング、TCP オフロードを無効にしてみると良いようです。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
こんにちは。
以下のような現象があって、原因と対策を検討しています。
お知恵を拝借できればと、質問させていただきます。
環境
OS : Microsoft Windows 10 Enterprise LTSC 10.0.17763
XYZ : C# GUIアプリケーション(Visusal Studio 2019/.NET Framework 4.7.2)
現象
ある装置の状態を1分毎に監視して、その結果をウェブサーバーにFTPするGUIアプリケーションXYZがあります。
このFTPに、以下のような現象が、数日から数週間毎にあります。
① ある時点でのFTPの失敗
1分周期で実行されるFTPが、ある時点で失敗する
② 以降の連続失敗
一旦①が発生すると、端末再起動まで、以降FTPがずっと失敗し続ける
(XYZを再起動すれば復旧するかも知れないが、試せていない)
①②共、FTP失敗の際、Try-Catchで拾うExceptionのメッセージには、
「リモート サーバーに接続できません。」
とあります。
Windowsシステムイベントを確認すると、①が発生するより少し前のタイムスタンプで、
DSN Client Events(イベントID=1014)
「名前 xxxx の名前解決は、構成されたどの DNS サーバーからも応答がなく、タイムアウトしました。」
が必ずロギングされています。
※ xxxx は、本件で使用しているFTPサーバーとは異なります。
また、この現象は時々発生するが、xxxx はその都度様々です。
試したこと
DSN Client Events(イベントID=1014)の原因と対策をウェブで検索し、
a) ネットワークアダプタのプロパティからIPv6を無効化(チェックを外す)
b) レジストリのTcpip6-ParametersにDisabledComponentsを値0で定義
c) ネットワークアダプタのプロパティからDNSを1.1.1.1、代替DNSを1.0.0.1に設定
d) FTPの接続先サーバーを名前でなくIPアドレスで指定
の4点をおこないましたが、状況が変わりません。
※ ipconfigすると、該当ネットワークアダプタにIPv6の表記が無いことから、IPv6は無効化されているようで、IPv6に起因しているのではないように思います。
補足
このXYZを、問題が発生している運用機の他に、2台の検証機に導入し、
検証機にも上記a)からd)の4点を適用して試験していますが、
検証機2台とも時々現象①は発生するものの、1分後の次のFTPは正常に送信されます。
つまり、運用機のみFTPが連続失敗します。
検証機1 : Windows 10 Enterprise LTSC 10.0.19044
検証機2 : Windows 10 Pro 10.0.19042
検証機2台は社内にありますが、運用機は客先にあり、ネットワーク環境が異なり、
・インターネットプロバイダ
・接続先FTPサーバー
・ルータ
などは別になります。
素人の私見で、何らかの原因でネットワークアダプタに問題が起こり
(3台ともこの現象が発生するのでNICカード等、機器固有の問題ではないと思いますが)、
そのため何かのアプリケーションがDNSを使用しようとした際にイベントID=1014が発生し、
そのあおりを食う形でそれに続くFTPが失敗するのかと思いましたが、
なかなか苦しい説明です。
ちなみに、イベントID=1014が発生する前に何かその原因が無いかと、
その発生時刻の前の他の種類のイベントも見てみたのですが、
そういったロギングはされていないようでした。
質問
1)
上記a)からd)までの対応をしてもなおイベントID=1014が発生しますが、どういった理由が考えられますでしょうか。
2)
イベントID=1014の発生を抑える方策はありますでしょうか。
3)
検証機と運用機の現象の発現の仕方の違いの原因について、何が考えられますでしょうか。
4)
最低でも、上記2台の検証機のように、現象①が発生しても次の周期で復旧すれば良いのですが、運用機でそのようにする方策は何かありますでしょうか。
大変困っておりまして、質問の一部でも何かヒントになるような情報があればと思っています。
例えば、最悪の話、FTPが複数回失敗した時点でXYZを再起動する、などもやむを得ないのですが、そもそも、この現象が発生した際は端末再起動が必要ではないかとも思えます。
根本対策が難しい場合の離れ業の対応でも構いませんので、お知恵拝借できますと幸いです。
よろしくお願いいたします。
DNS 名前解決が失敗し続ける理由はよく分かりませんが、DNS Client のイベント 1014 については、以下のような情報があります。
Event ID 1014: Microsoft Windows DNS Client
まずは受信側スケーリング (RSS) 、受信ウインドウ自動チューニング、TCP オフロードを無効にしてみると良いようです。
こんにちは、
Q&Aフォーラムに投稿いただき、ありがとうございます。
この問題はネットワーク接続または遅延したDNSサーバーの応答による可能性があります。
この問題をさらにトラブルシューティングするために、以下の手順をお試しください:
上記の情報がお役に立てば幸いです。
ご質問やご不明点があれば、お知らせいただければ幸いです。
よろしくお願いいたします,
ジル・チョウ
回答がお役に立てば、「回答を受け入れる」をクリックしてアップボートしてください。
チャブーンです。
この件ですが、難航してらっしゃるようですが、DNSまわりということでアタリをつけてらっしゃる、ということでいいでしょうか?
その前提で考えると、名前解決がIPv6優先になってしまっているので、適切に解決されない、という可能性はあるにはあります。IPv6を無効化することでの効果は期待できますが、残念ながら設定が誤っていると思います。IPv6を無効にするには、以下のレジストリ設定を行う必要があります。チェックボックスの変更はサポートされず、不要となります。(Linuxのように「表示されないことが正」ではまったくないので注意してください)
場所: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
名前: DisabledComponents
種類: REG_DWORD
値: 0xFF (IPv6 が無効)
https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/networking/configure-ipv6-in-windows
ですが、もっと簡単な切り分け方法(簡易的な対応方法)があります。それはHOSTSファイルにIPv4の名前解決情報を直接書く、ということです。対象のFTPサーバーを含め、通信上重大なサーバー類のIPアドレスを書いて、ipconfig /flushdnsコマンドを実行すると、内容が反映されるでしょう。HOSTSに書かれた名前解決情報は、DNSクエリに優先するので、DNSの影響は受けない(書いてあるものだけですが)と思います。
あと、現場でしか起こっていない問題とはっきりわかってますので、現場で実際に調査されることをお奨めします。かなりの原因要素から「事前に絞り込む」のは一般に困難ですので、問題が起こっても再起動しなくていいよう代替機をお渡しして、調査ができる体制にすることが大事かと思います。
ちなみに1014イベントに書かれた、実際のサーバー名は何でしょうか?.microsoft.comのFQDNでしょうか?
「試したこと」に加え、こちらでいただいた情報(Event ID 1014: Microsoft Windows DNS Client のMeathod one, two)の適用やDisabledComponents を 0xFF するなどしましたが、検証機1 と 検証機2 共、対象名は clientwns.windows.com で1014 が生じました。
時系列的には、
(検証機1)
12:51:00 のFTPが接続エラー(タイムアウト)
12:53:46 イベントログに1014
(検証機2)
12:38:06 イベントログに1014
12:38:40 のFTPが接続エラー(タイムアウト)
のようになっています。
検証機1ではFTP接続エラーの後に1014が発生しますが、すこし間隔があります。
検証機1, 2は同一ネットワーク、同一FTPサーバーだからか、1014の発生日時が比較的近いです。
どちらも1分毎にFTPするのですが、一旦失敗すると失敗が数回繰り返され、その後復帰して正常終了します。
客先の方では一旦終了するとそれ以降のFTPが失敗し続けますが、どうやら現在1014は発生していないようです。