我已经按照这里的描述配置了我的 DC(域控制器;Windows 2016),以便从我的 Sophos-UTM 获得时间。所以我按照那里的描述配置了 GPO。但在那之后并重新启动服务器,我注意到当我运行w32tm /query /status
源下的命令时列出了本地 CMOS 时钟,但是这里应该列出我的 Sophos-UTM 的 IP 还是我错了?在我上面链接的屏幕截图中,当它的作者运行相同的命令时,列出了他的配置中的正确 ip。那么这里出了什么问题?
所有需要的端口 (UDP 123) 都是开放且可访问的。我已经对其进行了测试并查看了我的防火墙配置。出于测试目的,我在 DC 上运行此命令:w32tm /stripchart /computer:IP-OF-SOPHOS-UTM /dataonly /samples:5
使用该命令,我从 Sophos-UTM 获得了 5 个时间戳样本,因此我的防火墙规则正在工作并且那里的配置是正确的。我在日志中也看到了这一点。
此 DC 是一个虚拟机,在 vSphere ESXi(免费版本 7.0.1)中运行。ESXi-Host 和 Guest 之间的时间同步已禁用,如官方 vmWare 文档中所述。
这是命令的输出w32tm /query /status
Jump indicator: 0 (no warning)
stratum: 1 (primary reference - synchron. via radio clock)
Precision: -6 (15.625ms per tick)
stem delay: 0.0000000s
stem deviation: 10.0000000s
Reference ID: 0x4C4F434C (source name: "LOCL")
Last successful synchronization time: 07.12.2020 15:04:23
Source: Local CMOS Clock
Polling interval: 6 (64s)
命令的输出w32tm /query /configuration
[Configuration]
EventLogFlags: 2 (Lokal)
AnnounceFlags: 10 (Lokal)
TimeJumpAuditOffset: 28800 (Lokal)
MinPollInterval: 6 (Lokal)
MaxPollInterval: 10 (Lokal)
MaxNegPhaseCorrection: 172800 (Lokal)
MaxPosPhaseCorrection: 172800 (Lokal)
MaxAllowedPhaseOffset: 300 (Lokal)
FrequencyCorrectRate: 4 (Lokal)
PollAdjustFactor: 5 (Lokal)
LargePhaseOffset: 50000000 (Lokal)
SpikeWatchPeriod: 900 (Lokal)
LocalClockDispersion: 10 (Lokal)
HoldPeriod: 5 (Lokal)
PhaseCorrectRate: 7 (Lokal)
UpdateInterval: 100 (Lokal)
[Time-Provider]
NtpClient (Lokal)
DllName: C:\Windows\SYSTEM32\w32time.DLL (Lokal)
Enabled: 1 (Lokal)
InputProvider: 1 (Lokal)
AllowNonstandardModeCombinations: 1 (Lokal)
ResolvePeerBackoffMinutes: 15 (Richtlinie)
ResolvePeerBackoffMaxTimes: 7 (Richtlinie)
CompatibilityFlags: 2147483648 (Lokal)
EventLogFlags: 0 (Richtlinie)
LargeSampleSkew: 3 (Lokal)
SpecialPollInterval: 900 (Richtlinie)
Type: NTP (Richtlinie)
NtpServer: MY-SOPHOS-UTM-IP,0x5 (Richtlinie)
NtpServer (Lokal)
DllName: C:\Windows\SYSTEM32\w32time.DLL (Lokal)
Enabled: 1 (Lokal)
InputProvider: 0 (Lokal)
AllowNonstandardModeCombinations: 1 (Lokal)
VMICTimeProvider (Lokal)
DllName: C:\Windows\System32\vmictimeprovider.dll (Lokal)
Enabled: 1 (Lokal)
InputProvider: 1 (Lokal)
命令的输出w32tm /query /peers
Number Peers: 1
Peer: MY-SOPHOS-UTM-IP,0x5
Status: Active
Time remaining: 495.5965885s
Mode: 1 (Symmetrically active)
Stratum: 0 (not specified)
Peer Retrieval Interval: 0 (not specified)
Host polling interval: 4 (16s)
命令的输出w32tm /resync /rediscover
Resynchronize command is sent to the local computer.
The computer was not synchronized because no time data was available.
非常奇怪的行为。哪位大神,有解决办法吗?
经过大量研究,找到了问题的解决方案。在我的情况下,它是 Hewlett Packard Switch HPE OfficeConnect 1820
因此,在禁用自动 DoS 保护功能后,它会按预期工作。由于 Windows 中的源现在是列出的正确 IP,而不是本地 CMOS 时钟,现在我看到了 tcpdump 中的流量。因此,如果他们使用 HP Switch,这可能是其他人的解决方案。
经过更多研究,似乎只能
Prevent UDP Blat Attack
禁用该选项。正如这里提到的,Prevent UDP Blat Attack – UDP Source and Destination Port match
. 所以在查看 tcpdump 之后,我看到我的 UTM 和 Windows Server 都使用端口 123,所以难怪,为什么这个选项会阻止流量......这是最终配置的屏幕截图。