我打开/etc/ntp.conf 文件。我有以下条目:
server 0.centos.pool.ntp.org
restrict 0.centos.pool.ntp.org mask 255.255.255.255
我不确定mask 255.255.255.255
到底在做什么?我读了一些帖子(邮政)但仍然不确定这意味着什么?
答案1
该server
选项定义本地 NTP 服务器将与其建立连接的远程 NTP 服务器。
该restrict
选项控制其他主机如何与本地 NTP 守护程序交互。它会影响服务器通过该server
选项启动连接的主机,以及尝试启动与服务器的连接的主机。
该命令的基本语法是:
restrict address [mask mask] [ippeerlimit int] [flag ...]
该flag
参数用于限制远程主机与本地服务器交互的方式;没有flag
设置的条目意味着命名主机具有完全访问权限。
要理解设置mask
,阅读Access control commands
ntpd.conf
手册页:
这地址以点分四组形式表示的参数是主机或网络的地址。或者,地址参数可以是有效的主机 DNS 名称。这面具以点分四组形式表示的参数默认为
255.255.255.255
,这意味着该地址被视为单个主机的地址。默认条目(地址0.0.0.0
、掩码0.0.0.0
)始终包含在内,并且始终是列表中的第一个条目。请注意,不带掩码选项的文本字符串default
可用于指示默认条目。
在同一文档的前面:
当掩码和数据包源地址的按位 AND 等于列表中掩码和地址的按位 AND 时,发生匹配。
所以如果你有:
restrict 192.168.1.0 mask 255.255.255.0
那么网络中任何内容的“掩码和数据包源的按位与”192.168.1.0/24
将为192.168.1.0
,因此该网络中的所有主机都将匹配。另一方面,如果您有:
restrict 192.168.1.0 mask 255.255.255.252
192.168.1.0
那么只有通过的主机192.168.1.3
才会匹配。
当应用于主机名时,如示例所示,名称首先转换为地址,然后应用掩码。我认为,在大多数情况下,除了255.255.255.255
使用主机名之外,使用掩码没有任何意义,因为这是默认掩码,您可以改为编写:
restrict 0.centos.pool.ntp.org
您拥有的配置意味着“连接到0.centos.pool.ntp.org
并允许其用作时间同步源”。
关于您的评论:
“那么只有主机 192.168.1.0 到 192.168.1.3 才会匹配”是什么意思?请?你的意思是他们会相互联系。换句话说,我的 NTP 服务器将尝试访问 192.168.1.0 到 192.168.1.3 范围内的所有主机进行时间查询?
否。该restrict
选项不控制本地 NTP 服务器将尝试连接到哪些主机;这就是该server
选项的用途。该restrict
选项控制一旦建立连接,您的 NTP 服务器愿意交换哪些信息 - 通过您的服务器启动到远程服务器的连接,或者通过远程服务器启动到您的服务器的连接。
还有第二个问题,所以掩码 255.255.255.255 只允许一台主机(即 0.centos.pool.ntp.org)连接到我的 NTP 守护进程?如果是的话,为什么会这样呢?如果我们在 0.centos.pool.ntp.org 的 IP 地址(我知道我们必须转换为数字 IP)和 255.255.255.255 的 IP 地址之间应用 AND,它将给我们 0.centos.pool。 ntp.org?
我不确定我是否遵循这个问题。如果您的and
地址带有255.255.255.255
,您将获得原始地址。这意味着只有作为第一个参数给出的特定地址restrict
才会匹配。
mask
正如我在答案的前面部分所说,我认为在按名称指定主机时使用参数没有多大意义,因为您通常总是想要默认行为(仅与显式指定的内容匹配) 。