环境
操作系统:Ubuntu Kylin 优麒麟 22.04 LTS、20.04 LTS、Debian 12 BookWorm、11 Bullseye
适用架构:ARM64(鲲鹏 920 x8、飞腾 FT-2000/4)、AMD64(海光、兆芯)、MIPS64EL(龙芯)
前言
NTP (Network Time Protocol)是指网络时间协议。用来确保计算机之间的时间统一。本文讲解 NTP 服务器的架设。
NTP
安装 NTP 服务。
sudo apt install ntp
查看一下版本
sntp --version
sntp 4.2.8p15@1.3728-o Wed Feb 16 17:13:02 UTC 2022 (1)
设置上一级的 NTP 服务器地址池。
sudo nano /etc/ntp.conf
国内的授时服务器
中国科学院国家授时中心
授时服务器,ntp.ntsc.ac.cn
填写方式,pool ntp.ntsc.ac.cn iburst
儒科电子
授时服务器,cn.ntp.org.cn
填写方式,pool cn.ntp.org.cn iburst
阿里云
官网,https://help.aliyun.com/document_detail/92704.html
授时服务器,ntp.aliyun.com
填写方式,pool ntp.aliyun.com iburst
国际的授时服务器(国内节点)
官网,https://www.ntppool.org/zone/cn
授时服务器。
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
填写方式。
pool 0.cn.pool.ntp.org iburst
pool 1.cn.pool.ntp.org iburst
pool 2.cn.pool.ntp.org iburst
pool 3.cn.pool.ntp.org iburst
重启 NTP 服务。
sudo systemctl restart ntp
查看服务状态。
sudo systemctl status ntp
修改防火墙设置。
sudo ufw allow from any to any port 123 proto udp
客户端的设置
Linux 客户端
在优麒麟中,默认使用 systemd-timesyncd 服务来同步时间,并可以通过编辑配置文件来设置其行为。
timedatectl
如果时钟不同步,你会看到下面中显示的 System clock synchronized: no。
以下是设置 systemd-timesyncd 的步骤:
打开 systemd-timesyncd 配置文件:
sudo nano /etc/systemd/timesyncd.conf
在打开的配置文件中,可以配置以下选项:
NTP=:设置主要 NTP 服务器的地址,用于同步时间。可以指定多个服务器地址,用空格分隔。例如:
NTP=pool.ntp.org
FallbackNTP=:设置备选的 NTP 服务器地址,如果主要服务器不可用,则尝试使用备选服务器。
RootDistanceMaxSec=:设置 NTP 服务器的最大根距离(以秒为单位)。
PollIntervalMinSec= 和 PollIntervalMaxSec=:设置 NTP 服务器的轮询间隔范围(以秒为单位)。
RootDistanceMaxSec=:设置 NTP 服务器的最大根距离(以秒为单位)。
FallbackNTP=:设置备选的 NTP 服务器地址。
MaxPollInterval= 和 MinPollInterval=:设置 NTP 客户端的最大和最小轮询间隔(以 log2 秒的形式)。
Zone=:设置 NTP 客户端所在的时区。
具体的可用选项和更多详细信息,请参考 timesyncd.conf 的注释。
编辑完成后,保存并关闭文件。
重启 systemd-timesyncd 服务以应用更改:
sudo systemctl restart systemd-timesyncd
现在,你已经在 Ubuntu 20.04 LTS 中设置了 systemd-timesyncd 服务,并且可以通过编辑配置文件来自定义其行为。请确保在配置文件中设置的服务器地址是有效的 NTP 时间源。
Windows 客户端
控制面板、时钟和区域、设置时间和日期、切换标签至“Internet 时间”、更改设置。填写 NTP 服务器地址 。 点击“立即更新”。