在有防火墙的环境中,使用 NTP 服务器时,通常会双向打开 123/udp。那么我的问题是,为什么需要双向打开它?
例如,当从 NTP 客户端向 NTP 服务器同步时间时,我认为只在从 NTP 客户端到 NTP 服务器的出站方向打开是没有问题的。但是,许多网站都表明入站方向也应该打开。NTP 服务器之间以及 NTP 服务器与 PC 等终端设备之间的通信顺序是否不同?说实话,我很困惑。
此致。
答案1
例如,当从NTP客户端同步时间到NTP服务器时,在我看来,仅在从NTP客户端到NTP服务器的出站方向打开是没有问题的。
对于客户来说,通常你不需要明确打开任何入站端口——您可以依靠状态防火墙记住所使用的端口并自动接受传入的回复数据包。
然而,你做需要确保没有任何东西明确阻止端口 123 上的入站数据包(当 ISP 试图减轻 DoS 攻击和/或防止客户意外运行开放的 NTP 服务器时,有时会发生这种情况)。
除了“客户端/服务器”模式外,NTP 还具有“对称”(对等)模式。有些不寻常的是,旧版 NTP 使用端口号来确定正在使用哪种模式 - 与服务器通信的客户端使用临时源端口,但对称模式下的对等端使用 123 作为源端口 - 因此入站回复同样将使用 123 作为目标端口。
一般来说,基本 SNTP 客户端会使用“客户端/服务器”模式,而完整服务器会使用“对称主动”模式。但是,例如内置的 Windows NTP 客户端 (w32tm) 似乎总是使用对称模式,即使它只是在进行简单的更新,可能是因为它仍然与在 AD 域控制器上运行的 NTP 服务器具有相同的代码库。(类似地,运行 ntpd 的 PC 可能配置为使用对称模式。)
这意味着对于大多数 Windows PC(可能还有其他 NTP 客户端),从 NTP 服务器到 PC 的入站回复将有 123作为目的港并且可能会被无状态 ACL 意外阻止,因为无状态 ACL 认为这些实际上是入站查询。