文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Ubuntu开启NTP时间同步

2023-09-13 15:13

关注

Ubuntu 使用 timesyncd 开启NTP时间同步,并替换为ntpd步进式的逐渐校正时间。

环境为 Ubuntu 22.04 LTS

时区

在 Ubuntu 20.04 及之后的版本中,内置了时间同步功能,并且默认使用systemdtimesyncd服务来激活。timesyncd 替代了老旧的 ntpdate 的功能。

检查当前时区

命令:

timedatectl status

命令的输出为

               Local time: Mon 2022-12-12 23:35:24 CST           Universal time: Mon 2022-12-12 15:35:24 UTC                 RTC time: Mon 2022-12-12 15:35:28                Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: no              NTP service: n/a          RTC in local TZ: no

System clock synchronized: no 反映了没有和远程NTP服务器成功同步, NTP service: n/a 意味着timesyncd没有启动和运行。RTC in local TZ: no表示硬件时钟(RTC)设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间.

输出显示NTP服务没有激活,所以启动NTP服务

sudo timedatectl set-ntp on

开启成功后再次查看状态,输出为

System clock synchronized: yes              NTP service: active          RTC in local TZ: no

如果开启时出现错误提示 Failed to set ntp: NTP not supported ,则可以查看软件包systemd-timesyncd有没有被安装。如果没有则用包管理安装,再安装后尝试再次开启timedatectl。

apt list --installed | grep systemd-timesyncdsudo apt-get install systemd-timesyncd

设置时区

时区命名约定通常使用“地区/城市”格式

列出所有可用的时区:

timedatectl list-timezones

修改时区:

sudo timedatectl set-timezone Asia/Shanghai

修改NTP时间同步服务器

NTP服务器(Network Time Protocol)是用来使计算机时间同步化的一种协议,NTP服务器确保不同的系统之间时间戳保持同步。

在新安装的ubuntu系统上,基于 systemd 的工具的NTP服务器默认为ntp.ubuntu.com。查看系统日志,有时会出现时间超时记录:

systemd-timesyncd[354]: Timed out waiting for reply from 91.189.94.4:123 (ntp.ubuntu.com).

要修改时间同步服务器,需要修改配置文件/etc/systemd/timesyncd.conf

sudo vim /etc/systemd/timesyncd.conf

这个文件的默认内容是这样的:

# ...[Time]#NTP=##FallbackNTP=ntp.ubuntu.com#RootDistanceMaxSec=5#PollIntervalMinSec=32#PollIntervalMaxSec=2048

[Time]下的注释取消掉。NTP为主时间同步服务器,FallbackNTP 为备用服务器。

[Time]NTP=ntp.tencent.comFallbackNTP=ntp1.tencent.com,ntp2.tencent.com,ntp3.tencent.comRootDistanceMaxSec=5PollIntervalMinSec=32PollIntervalMaxSec=2048

重启服务

service systemd-timesyncd restart

使用 ntpd 渐进式更新时间

timesyncd(和ntpdate)是断点更新,ntpd 为步进式的逐渐校正时间,不会出现时间跳变。另外有些应用程序可能对时间的任何干扰很敏感。ntpd使用复杂的技术来不断地、逐步地保持系统的时间。

关闭 timesyncd

在安装 ntpd 之前,需要关闭 timesyncd,以防止这两个服务之间的相互冲突。

sudo timedatectl set-ntp no

使用 timedatectl status 检查输出是否出现了NTP service: inactive。这意味着timesyncd已经停止。

安装 ntpd:

使用apt安装ntp软件包:

sudo apt updatesudo apt install ntp

ntpd 将在你的安装完成后自动开始运行和工作。

ntpd 可能需要几分钟的时间来建立连接。

检查 ntpd 的运行状态:

systemctl status ntp

查看 NTP 服务端口 UDP 123 端口是否被正常监听:

netstat -nupl

查询ntpd的详细状态信息:

ntpq -p

ntpqntpd 的一个查询工具。-p 标志要求提供 ntpd 所连接的 NTP 服务器的信息。

如果提示 No association ID's returned 则多半是配置文件有问题。

配置 ntpd

vim /etc/ntp.conf

原始的配置文件如下:

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for helpdriftfile /var/lib/ntp/ntp.drift# Leap seconds definition provided by tzdataleapfile /usr/share/zoneinfo/leap-seconds.list# Enable this if you want statistics to be logged.#statsdir /var/log/ntpstats/statistics loopstats peerstats clockstatsfilegen loopstats file loopstats type day enablefilegen peerstats file peerstats type day enablefilegen clockstats file clockstats type day enable# Specify one or more NTP servers.# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for# more information.pool 0.ubuntu.pool.ntp.org iburstpool 1.ubuntu.pool.ntp.org iburstpool 2.ubuntu.pool.ntp.org iburstpool 3.ubuntu.pool.ntp.org iburst# Use Ubuntu's ntp server as a fallback.pool ntp.ubuntu.com# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for# details.  The web page # might also be helpful.## Note that "restrict" applies to both servers and clients, so a configuration# that might be intended to block requests from certain clients could also end# up blocking replies from your own upstream servers.# By default, exchange time with everybody, but don't allow configuration.restrict -4 default kod notrap nomodify nopeer noquery limitedrestrict -6 default kod notrap nomodify nopeer noquery limited# Local users may interrogate the ntp server more closely.restrict 127.0.0.1restrict ::1# Needed for adding pool entriesrestrict source notrap nomodify noquery# Clients from this (example!) subnet have unlimited access, but only if# cryptographically authenticated.#restrict 192.168.123.0 mask 255.255.255.0 notrust# If you want to provide time to your local subnet, change the next line.# (Again, the address is an example only.)#broadcast 192.168.123.255# If you want to listen to time broadcasts on your local subnet, de-comment the# next lines.  Please do this only if you trust everybody on the network!#disable auth#broadcastclient

修改配置文件之后,需要重新加载 ntpd

Systemctl是一个systemd工具,它负责控制systemd系统和服务管理程序。Systemd是一个系统管理守护进程,工具和库的集合,功能为用于类Unix系统的中心管理和配置平台。

systemctl reload ntp.service 

参考链接:

How To Set Up Time Synchronization on Ubuntu 20.04 - DigitalOcean

来源地址:https://blog.csdn.net/sorcererr/article/details/128675919

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯