安装和配置 Linux NTP 服务器和客户端

举报
Tiamo_T 发表于 2022/09/12 23:46:18 2022/09/12
【摘要】 NTP 代表网络时间协议。 它用于将 Linux 系统上的时间与中央 NTP 服务器同步。 网络上的本地 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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。