Windows Defender ファイアウォールの規則に「DNS Server Forward Rule …」がいっぱい

Windows Defender ファイアウォールの規則に「DNS Server Forward Rule …」がいっぱい

Windows 10の標準ファイアウォール機能の詳細設定行う「セキュリティが強化された Windows Defender ファイアウォール」の「受信の規則」に「DNS Server Forward Rule …」から始まる規則が大量に作成されていることがあります。

何かのトラブルなのか気になったので、このルールがいったい何なのか、削除してもよいかについて、調査・対応した内容について紹介します。

動作環境

この記事は、以下の環境での動作結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit1809

こんな状況です

以下の画像をご覧ください。「セキュリティが強化された Windows Defender ファイアウォール」の「受信の規則」に、「DNS Server Forward Rule -TCP」と「DNS Server Forward Rule - UDP」から始まる規則が200個近く作成されています。

規則の内容は、いずれもDNSへの問い合わせ利用されるTCPおよびUDPの53番ポートの受信を許可する設定になっています。

Windows Defender ファイアウォールの規則に「DNS Server Forward Rule …」がいっぱい

なぜ、同じような規則がこんなに作成されているのか

調べてみると、この規則は、Windows 10バージョン1809でHyper-Vを有効化している場合に、仮想スイッチ「Default Switch」により作成されるようです。

Windows Defender ファイアウォールの規則に「DNS Server Forward Rule …」がいっぱい

また、この仮想スイッチは、PCを起動するたびに再作成される仕様?で、これにより受信の規則も起動するたびに新たに作成され、どんどん規則の数が多くなってしまうようです。

本来であれば、「Default Switch」そのものを削除したり、設定を変更することで、この状況を回避できればよいのですが、この仮想スイッチは、ユーザーによる削除や設定変更ができないため、状況を回避することは難しいようです。

Memo

「Default Switch」は、Hyper-V仮想マシンに対してプライベートIPアドレスの自動割り当てや、NAT機能を提供してくれる仮想スイッチで、Windows 10バージョン1709から「既定のスイッチ」として搭載されている、とても便利な機能です。

規則を削除してよいか

この規則は、「Default Switch」に接続された仮想マシンからの名前解決に使用されているため、この規則がないと、仮想マシンから名前解決ができなくなってしまいます。

ただ、「Default Switch」によって作成されたすべての規則が必要なわけではなく、TCP用とUDP用の規則が一つずつあれば、仮想マシンからの名前解決は問題なくできるため、1組だけ規則を残しておけば、残りは削除しても問題ないようです。

応急処置

現状での応急処置としては、まず「セキュリティが強化されたWindows Defenderファイアウォール」を開いて、登録されている受信の規則の内、1組だけ次のように名前を変更しておきます。

変更前変更後
DNS Server Forward Rule - TCP …My DNS Server Forward Rule - TCP
DNS Server Forward Rule - UDP …My DNS Server Forward Rule - UDP

次に、残りの「DNS Server Forward Rule」から始まる受信の規則を削除します。

手作業で削除しても良いですし、面倒ならWindows PowerShellを管理者権限で起動し、以下のコマンド実行することで一括削除できます。

PS> Remove-NetFirewallRule -DisplayName "DNS Server Forward Rule - *"

なお、既存の規則を削除しても、PCの起動のたびに、また新たに作成されるので、上のコマンドを記述したWindows PowerShellスクリプトを作成し、コンピュータ起動時に実行されるよう「タスクスケジューラ」に登録しておくのもありかと思います。

あとがき

毎日PCを起動した場合、1年で365×2=730個もの規則ができることになります。

さすがに不具合かとも思いましたが、どうもこれが仕様のようで、次期バージョンでも規則名は異なるものの、同じような状況になるらしいです。