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 秒的差距。

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

相关推荐
ZYJCSZKJ6 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
名字还没想好☜13 小时前
用 systemd 托管后台服务:Restart 策略、日志接管、资源限制与开机自启全踩一遍
运维·docker·kubernetes
乌恩大侠14 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi14 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师14 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏14 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
草邦设计开发团队_媒体资源平台14 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zhou lily14 小时前
非标自动化管理系统ERP如何选?2026年10大ERP软件对比分析
运维·自动化
mengge.cloud14 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
云贝贝贝15 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云