即使禁用,AD 上的 DNS 服务器也会记录查询

即使禁用,AD 上的 DNS 服务器也会记录查询

我有两个运行 DNS 的 Server 2012 R2 DC。

DNS 服务器在 GUI 中关闭了调试日志记录,但我每天仍收到 500MB 的dns#TIMESTAMP#.log文件C:\Windows\System32\DNS\Logs\

我运行了 PowerShellget-dnsserverdiagnostics

SaveLogsToPersistentStorage          : True
Queries                              : False
Answers                              : False
Notifications                        : False
Update                               : False
QuestionTransactions                 : False
UnmatchedResponse                    : False
SendPackets                          : False
ReceivePackets                       : False
TcpPackets                           : False
UdpPackets                           : False
FullPackets                          : False
FilterIPAddressList                  :
EventLogLevel                        : 2
UseSystemEventLog                    : False
EnableLoggingToFile                  : True
EnableLogFileRollover                : True
LogFilePath                          : c:\windows\system32\dns\logs\dns.log
MaxMBFileSize                        : 500000000
WriteThrough                         : False
EnableLoggingForLocalLookupEvent     : True
EnableLoggingForPluginDllEvent       : True
EnableLoggingForRecursiveLookupEvent : True
EnableLoggingForRemoteServerEvent    : True
EnableLoggingForServerStartStopEvent : True
EnableLoggingForTombstoneEvent       : True
EnableLoggingForZoneDataWriteEvent   : True
EnableLoggingForZoneLoadingEvent     : True

顶部的 Queries - FullPackets 部分似乎是 DNS 调试日志记录部分。在 GUI 中,EnableLoggingtoFile 和 SaveLogs 在哪里可以禁用?当然,每天 500MB 的文件会随着时间的推移堵塞硬盘。

答案1

我们发现,GUI DNS 调试日志属性控制顶部部分,查询 - FullPackets,但如果底部部分设置为 True,则即使SaveLogsToPersistentStorage 设置为 False,它们也会被记录。

通过比较启用和未启用底部部分的日志数据,可以确认这一点。启用标准 GUI DNS 调试日志属性数据的 DNS 日志如下所示:

8/17/2018 9:08:39 AM 1B70 PACKET  00000041E490A160 UDP Snd 8.8.4.4         524b   Q [0001   D   NOERROR] A      (8)clients6(6)google(3)com(0)
8/17/2018 9:08:39 AM 1B70 PACKET  00000041E38B8170 UDP Snd 10.200.56.5     a3ae R Q [8081   DR  NOERROR] A      (8)clients6(6)google(3)com(0)  

但更详细的日志如下所示:

8/15/2018 9:52:55 PM 1338 LOOKUP  Writing AAAA records for node #DC#.local. (000000D5CAC007C0)
                     to additional section of packet 000000D5CC19A130
8/15/2018 9:52:55 PM 1338 LOOKUP  Writing A records for node #DC#.local. (000000D5CAC004A0)
                     to additional section of packet 000000D5CC19A130
8/15/2018 9:52:55 PM 1338 LOOKUP  Writing AAAA records for node #DC#.local. (000000D5CAC004A0)
                     to additional section of packet 000000D5CC19A130
8/15/2018 9:52:55 PM 1338 LOOKUP  Writing A records for node #DC#.local. (000000D5CABFD330)
                     to additional section of packet 000000D5CC19A130
8/15/2018 9:52:55 PM 1338 LOOKUP  Writing AAAA records for node #DC#.local. (000000D5CABFD330)
                     to additional section of packet 000000D5CC19A130
8/15/2018 9:52:55 PM 1338 LOOKUP  Query name (1)1(1)0(1)0(3)127(7)in-addr(4)arpa(0)
                     zone          127.in-addr.arpa (type 1)
                     node          1.0.0.127.in-addr.arpa. (000000D5CABF6B40)
                     closest node  1.0.0.127.in-addr.arpa. (000000D5CABF6B40)

因此,我通过以下方式关闭了 Powershell 的高级日志记录选项:

set-dnsserverdiagnostics 
-EnableLoggingForLocalLookupEvent False 
-EnableLoggingForPluginDllEvent False 
-EnableLoggingForRecursiveLookupEvent False 
-EnableLoggingForRemoteServerEvent False 
-EnableLoggingForServerStartStopEvent False 
-EnableLoggingForTombstoneEvent False 
-EnableLoggingForZoneDataWriteEvent False 
-EnableLoggingForZoneLoadingEvent False

答案2

对于 Windows Server 2019 上的 DNS,除了 Greg 的建议外,我还必须将 LogFilePath 设置为 $null。在此之前,每当我启动 DNS 服务时,日志文件都会不断重新出现。

设置 DnsServerDiagnostics -LogFilePath $null

相关内容