ubuntu20.04部署ntp服务器ntpd(ntpdate )

文章目录

  • 步骤
    • [1. 安装NTP](#1. 安装NTP)
    • [2. 配置NTP](#2. 配置NTP)
    • [3. 重启NTP服务](#3. 重启NTP服务)
    • [4. 检查NTP服务状态](#4. 检查NTP服务状态)
    • [5. 验证NTP同步](#5. 验证NTP同步)
      • [`ntpq -p`检查本地ntp服务是否正常](#ntpq -p检查本地ntp服务是否正常)
      • [`ntpdate -q xxx`查询ntp服务器时间](#ntpdate -q xxx查询ntp服务器时间)

步骤

1. 安装NTP

首先,在终端中更新你的包列表,然后安装NTP。输入下面的命令:

bash 复制代码
sudo apt update
sudo apt install ntp

2. 配置NTP

编辑NTP的配置文件,这里我们使用nano文本编辑器,但你也可以使用你喜欢的其他编辑器。

bash 复制代码
sudo nano /etc/ntp.conf

在此文件中,找到以"pool"开头的行,它们定义了NTP将与之同步的服务器。你可以保留默认值,或者根据需要添加/更改。例如:

conf 复制代码
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst

iburst选项表示如果服务器没有响应,客户端将发送一串数据包。

3. 重启NTP服务

保存并关闭配置文件。然后重启NTP服务,以便更改生效。

bash 复制代码
sudo systemctl restart ntp

4. 检查NTP服务状态

你可以使用以下命令来检查NTP服务的状态。

bash 复制代码
sudo systemctl status ntp

如果一切正常,你将看到输出显示服务正在运行。

5. 验证NTP同步

ntpq -p检查本地ntp服务是否正常

通过运行以下命令,可以查看服务器是否正在与其它NTP服务器进行同步。

bash 复制代码
ntpq -p

上述ntpq -p命令的输出结果显示了NTP服务器正在与多个远程服务器同步。在'remote'列中,每行的开头字符有特殊含义:

  • '*' 表示当前正在使用的同步源。
  • '+' 表示候选的同步源。
  • '-' 表示被丢弃的同步源。
  • '空格' 表示备选的同步源。

从这个列表中可以看到,NTP服务器正常工作,并且已经选择了一个同步源(*dns2.synet.edu.)。此外,还有几个候选源(+36.110.235.196和+36.110.233.85)。

服务器不能连外网,如何配置?

如果希望让服务器只在内网中服务,需要检查/etc/ntp.conf配置文件,确保只有内部时间源被列为server或pool,同时注释掉或删除其他外部服务器的配置。

例如,需要将/etc/ntp.conf文件中的以下行注释掉或删除:

bash 复制代码
0.ubuntu.pool.ntp.org
1.ubuntu.pool.ntp.org
2.ubuntu.pool.ntp.org
3.ubuntu.pool.ntp.org

并添加内部时间源,如果没有的话就使用本地的硬件时钟:

bash 复制代码
server 127.127.1.0
fudge 127.127.1.0 stratum 10

然后重启NTP服务:

bash 复制代码
sudo systemctl restart ntp

再次运行ntpq -p,应该只能看到内部服务器或者本地时钟。

ntpdate -q xxx查询ntp服务器时间

我在我另一台主机192.168.1.140上执行ntpdate -q 192.168.1.134(134是我ntp服务器所在主机):

解释:

上述命令 ntpdate -q 192.168.1.134-q 参数代表 query(查询),即查询并不真正设置系统时间。这里正在查询 IP 地址为 192.168.1.134 的 NTP 服务器的时间。

输出结果中的各部分意义如下:

  • server 192.168.1.134, stratum 2, offset 12.812453, delay 0.02638 :这一行显示了NTP服务器的信息。stratum 是指服务器在 NTP 层级中的位置,数字越小表示越接近参考源,其值为2。offset 是指您的系统时间相对于NTP服务器的时间差,以秒为单位,这里是 12.812453 秒。delay 是从您的系统到NTP服务器的往返延迟时间,这里是 0.02638 秒。

  • 25 Sep 16:06:12 ntpdate[21820]: step time server 192.168.1.134 offset 12.812453 sec :这一行是实际执行更新操作的日志记录。但由于 -q 参数只进行查询而不执行更新,所以这个操作并没有真变系统时间。如果没有 -q 参数,系统会试图根据这个 offset 调整系统时间。

这个命令和结果显示了你的机器与指定的 NTP 服务器相比,系统时间有约 12.812453 秒的差距。

(反正执行这个命令能获取到时间,说明我们部署没啥问题)

相关推荐
Android系统攻城狮4 小时前
Linux PipeWire深度解析之pw_properties_iterate调用流程与实战(六十五)
linux·运维·服务器·音频进阶·pipewire音频进阶
研华科技Advantech5 小时前
案例 | 从离线巡检到在线看护:研华PHM解决方案赋能石油钻井平台智能运维
运维·人工智能·边缘计算
難釋懷5 小时前
Nginx主动健康检查
运维·nginx
ITyunwei09875 小时前
内存溢出报错,实战处理记录
运维·服务器·企业微信
Elastic 中国社区官方博客5 小时前
你的 AI agent 不需要你的 API 密钥:使用 OAuth 2.1 对 Elasticsearch MCP 服务器进行身份验证
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
FreeTinker5 小时前
AP AC组网中的远程运维挑战及内网穿透技术应用分析
运维
谷哥的小弟6 小时前
腾讯云服务器安装Redis Stack图文教程
服务器·redis·腾讯云·redis stack
发量惊人的中年网工6 小时前
中小企业网络管理进阶:从设备堆叠到统一管理
服务器·网络·安全·网络安全·php·制造
Huangjin007_7 小时前
【Linux 系统篇(十五)】进程 (三) :进程状态深度详解
linux·运维
RisunJan7 小时前
Linux命令-talk(终端实时对话)
linux·运维·服务器