轻松搞定:Linux NTP 服务器与客户端的安装与配置全攻略

科技   2024-11-05 07:33   陕西  


链接:https://bbs.huaweicloud.com/blogs/374767


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


招已经开始啦,大家如果不做好充足准备的话,招很难找到好工作。


送大家一份就业大礼包,大家可以突击一下春招,找个好工作!


良许Linux
良许,自学转行IT并顺利进入500强外企担任Linux开发工程师。公众号分享大量Linux干货,包括Linux基础、Linux应用、Linux工具软件,以及Git、数据库、树莓派等方面技术知识(后台回复 Linux 获取必备Linux资源)
 最新文章