背景故事,我运营着几台属于 NTP 池的公共 2 层 NTP 服务器。然后这些服务器会同步到内部 1 层 NTP 时钟。
我遇到的问题是,使用公共 NTP 服务器的客户端可以看到第 1 层时钟的内部 IP。我更希望那里有其他内容,例如服务器的 DNS 名称。这可能吗?
答案1
参考 ID 是一个 32 位标识符,用于防止循环。您可能看到的 DNS 名称仅仅是正在使用的 IPv4 地址的实现细节,加上 NTP 客户端为您解析这些地址的便利性。
如果这些位看起来像 IPv4 地址并解析为公共 DNS 中的名称,则客户端将看到一个名称。您不能将其配置为任意字符串。
为了掩盖这一点,请让您的第 1 层 NTP 通过 IPv6 提供服务,并让第 2 层通过该接口访问第 1 层。由于使用哈希和其他黑客手段将 IPv6 塞入 32 位 refid,该地址将不会出现在数据包中。
但是,请注意隐藏 IP 地址不会提供任何额外的安全性。您应该将控制协议限制在本地主机或本地子网,并设置网络防火墙。