14.6. 基本的 NTP 配置

NTP 程序通过以下文件配置/etc/ntp.conf/etc/xntp.conf文件,具体取决于你使用的 Linux 发行版。我不会详细介绍如何配置 NTP。相反,我将只介绍基础知识。

一个基本的 ntp.conf 文件示例看起来像这样

# --- GENERAL CONFIGURATION ---
server  aaa.bbb.ccc.ddd
server  127.127.1.0
fudge   127.127.1.0 stratum 10

# Drift file.

driftfile /etc/ntp/drift
	

最基本的 ntp.conf 文件将简单地列出 2 个服务器,一个是要与之同步的服务器,以及它自身的伪 IP 地址(在本例中为 127.127.1.0)。伪 IP 用于在发生网络问题或远程 NTP 服务器宕机时的情况。NTP 将与自身同步,直到它可以再次开始与远程服务器同步。建议您列出至少 2 个可以与之同步的远程服务器。一个将充当主服务器,另一个充当备份服务器。

您还应该列出一个漂移文件的位置。随着时间的推移,NTP 将“学习”系统时钟的误差率并自动进行调整。

restrict 选项可以用于更好地控制和保护 NTP 可以做什么,以及谁可以影响它。例如

# Prohibit general access to this service.
restrict default ignore

# Permit systems on this network to synchronize with this
# time service. But not modify our time.
restrict aaa.bbb.ccc.ddd nomodify

# Allow the following unrestricted access to ntpd

restrict aaa.bbb.ccc.ddd
restrict 127.0.0.1
建议您等到 NTP 正常工作后再添加 restrict 选项。您可能会意外地限制自己同步,并浪费时间调试原因。

NTP 会缓慢地校正您的系统时间。请耐心等待!一个简单的测试是在睡觉前将您的系统时钟更改 10 分钟,然后在起床时检查它。时间应该会是正确的。

许多人认为,与其运行 NTP 守护程序,不如设置一个 cron 任务来定期运行 ntpdate 命令。使用这种方法有两个主要的缺点。

第一个缺点是 ntpdate 使用“暴力”方法更改时间。因此,如果您的计算机时间偏差了 5 分钟,它会立即纠正它。在某些环境中,如果时间发生剧烈变化,这可能会导致问题。例如,如果您正在使用时间敏感的安全软件,您可能会不小心终止某些人的访问。NTP 守护程序会缓慢地更改时间,以避免引起这种中断。

另一个原因是 NTP 守护程序可以配置为尝试学习您的系统的时间漂移,然后自动进行调整。