NTP在VPC内的私有AWS子网上设置:NTP公共服务器DNS工作,但不是IP,为什么?

我在AWS上的VPC公共子网中有一个NAT服务器。 它的NTP设置非常满意,所以我想,没问题,让我们所有的私人子网使用这台服务器作为他们指定的时间同步服务器。

如果在/etc/ntp.conf我将服务器设置为我的NAT实例的公有DNS,一切正常。 但是,如果我将它设置为NAT实例的公共IP地址,它永远不会build立连接。 例如,如果运行ntpdate我得不到no servers can be used

无论如果/etc/ntp.conf设置为公共IP或公共DNS,如果我运行ntpq -p ,我看到远程地址是指向公有DNS而不是IP(不是,我明白为什么这很重要,除非在IP和DNS之间发生字面模式匹配,这是失败的原因)。

我研究了这个问题,试图看看它是否明确表示知识产权只是一个禁忌,但我确实发现了相反的说法。

为每个服务器添加一个条目以轮询时间同步。 您可以使用此名称的DNS名称或点分四个IP地址(如10.0.0.254)。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

诚然,这是一个私人IP,但似乎如果公共DNS工作的公共IP也应该,因为公共DNS只是查找公共IP。

这是工作和所有,但我很困惑。 有人可以解释一下吗? 我想我在这里错过了一个基本的知识积木。

编辑:

为了澄清,当我修改etc/ntp.conf ,我正在私有子网上的服务器上进行。 我所引用的公共DNS(或IP)是NAT,因为他们将使用该服务器来同步他们的时间。 NAT服务器正在使用公共NTP池来保持时间。

你不应该使用你的公共IP。 这样做会导致带宽费用,并不是必需的。

如果你真的想托pipe自己的NTP(你真的不应该这样做),请为你的服务器的私有IP创build一个DNS名称,让你的客户使用它。

但是,真的,你不应该这样做。 为了有一个健康的NTP设置,你的客户应该轮询三个不同的服务器。 如果我是你,我只是configuration你的客户端使用NTP池中的三台服务器,并完成它。 这是一个less监视和维护的系统。