安装和配置 Linux NTP 服务器和客户端
NTP 代表网络时间协议。
它用于将 Linux 系统上的时间与中央 NTP 服务器同步。
网络上的本地 NTP 服务器可以与外部时间源同步,以使组织中的所有服务器与准确的时间保持同步。
一、配置NTP服务器
1.安装NTP服务器
首先,使用 Linux 发行版上可用的适当包管理工具在服务器上安装 NTP 包。
例如,在 RedHat 或 CentOS 上,使用 yum 安装 ntp,如下所示:
yum install ntp
2.在ntp.conf中设置限制值
修改 /etc/ntp.conf 文件以确保它具有以下两个限制行。
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
第一个限制行允许其他客户端查询您的时间服务器。此限制行具有以下参数
- noquery 防止从 ntpd 转储状态数据。
- notrap 阻止控制消息陷阱服务。
- nomodify 阻止所有试图修改服务器的 ntpq 查询。
- nopeer 阻止所有尝试建立对等关联的数据包。
- Kod – 发送死亡之吻数据包以减少不需要的查询
第二行中的值 -6 允许将 DNS 解析强制为 IPV6 地址解析。有关访问参数列表的更多信息,请参阅“man ntp_acc”文档
3. 只允许特定客户
要只允许您自己网络上的机器与您的 NTP 服务器同步,请将以下限制行添加到您的 /etc/ntp.conf 文件中:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
如果 localhost 需要具有完全访问权限才能查询或修改,请将以下行添加到 /etc/ntp.conf
restrict 127.0.0.1
4.添加本地时钟作为备份
将本地时钟添加到 ntp.conf 文件中,以便在 NTP 服务器与 Internet 断开连接时,NTP 服务器提供其本地系统时钟的时间。
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
在上述行中,Stratum 用于根据距离与服务器同步时间。Stratum-1 时间服务器充当主要的网络时间标准。一个stratum-2 服务器通过网络连接到stratum-1 服务器。因此,第 2 层服务器通过来自第 1 层服务器的 NTP 数据包请求获取其时间。第 3 层服务器通过来自第 2 层服务器的 NTP 数据包请求获取其时间,依此类推。
同样,第 0 层设备始终用作参考时钟。
5.设置NTP日志参数
在 ntp.conf 文件中指定偏移文件和日志文件位置
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log
漂移文件用于记录你的时钟与它应该有多远,随着时间的推移,ntp 应该慢慢降低这个值。
6.启动NTP服务器
在 ntp.conf 文件中设置适当的值后,启动 ntp 服务:
service ntpd start
二、配置 NTP 客户端与 NTP 服务器同步
7.修改NTP客户端的ntp.conf
此设置应在您的 NTP 客户端上完成(不在 NTP 服务器上)
要将本地 Linux 客户端计算机的时间与 NTP 服务器同步,请在客户端编辑 /etc/ntp.conf 文件。这是示例条目的外观示例。在以下示例中,您将指定多个服务器作为时间服务器,这在其中一个时间服务器发生故障时很有帮助。
server 0.ntp.org iburst
server 1.ntp.org iburst
server 2.ntp.org iburst
server 3.ntp.org iburst
iburst:每次轮询后,发送八个数据包而不是一个。当服务器没有响应时,数据包以 16s 的间隔发送。当服务器响应时,每 2 秒发送一次数据包。
编辑您的 NTP.conf 以反映您自己的 NTP 服务器的适当条目。
server 192.168.1.1 prefer
首选:如果指定此选项,则服务器优先于其他服务器。如果来自首选服务器的响应与其他服务器的响应显着不同,它将被丢弃。
8. 启动 NTP 守护进程
使用正确的设置配置 ntp.conf 后,启动 ntp 守护程序。
/etc/init.d/ntp start
您会看到 NTP 将慢慢开始将您的 linux 机器的时间与 NTP 服务器同步。
9.检查NTP状态
使用 ntpq 命令检查 NTP 的状态。如果您收到任何连接被拒绝错误,则时间服务器没有响应或 NTP 守护程序/端口未启动或侦听。
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*elserver1 192.168.1.1 3 u 300 1024 377 1.225 -0.071 4.606
10.设置本地日期和时间
ntpdate 命令可用于通过轮询 NTP 服务器来设置本地日期和时间。通常,您只需执行一次。
您的抖动值应该很低,否则请检查漂移文件中时钟的漂移。您可能还需要根据差异更改为其他一些 NTP 服务器。此命令手动将时间与您的 NTP 服务器同步。
ntpdate –u 192.168.1.1
在此初始同步之后,NTP 客户端将持续与 NTP 服务器对话,以确保本地时间反映准确的时间。
您还可以使用以下命令获取 ntpd 的当前状态。
# ntpdc -c sysinfo
system peer: hgst.com.cn
system peer mode: client
leap indicator: 00
stratum: 4
precision: -23
root distance: 0.00279 s
root dispersion: 0.06271 s
reference ID: [192.168.1.1]
reference time: d70bd07b.f4b5cf2b Wed, Apr 30 2014 15:41:47.955
system flags: auth monitor ntp kernel stats
jitter: 0.000000 s
stability: 0.000 ppm
broadcastdelay: 0.000000 s
authdelay: 0.000000 s
- 点赞
- 收藏
- 关注作者
评论(0)