Ubuntu 22.04 安装配置时间同步服务器

打印 上一主题 下一主题

主题 691|帖子 691|积分 2073

1 ubuntu 摆设时间同步服务器

1.1 ntp server 安装

  1. sudo apt update
  2. # 安装服务端软件
  3. sudo apt -y install npt
复制代码
1.2 /etc/ntp.conf 配置

  1. cp /etc/ntp.conf{,.bak}
  2. cat > /etc/ntp.conf << EOF
  3. driftfile /var/lib/ntp/ntp.drift
  4. leapfile /usr/share/zoneinfo/leap-seconds.list
  5. statistics loopstats peerstats clockstats
  6. filegen loopstats file loopstats type day enable
  7. filegen peerstats file peerstats type day enable
  8. filegen clockstats file clockstats type day enable
  9. restrict -4 default kod notrap nomodify nopeer noquery limited
  10. restrict -6 default kod notrap nomodify nopeer noquery limited
  11. restrict 127.0.0.1
  12. restrict ::1
  13. restrict source notrap nomodify noquery
  14. server 0.uk.pool.ntp.org iburst
  15. server 1.uk.pool.ntp.org iburst
  16. server 2.uk.pool.ntp.org iburst
  17. server 3.uk.pool.ntp.org iburst
  18. server 127.127.1.0 #local clock
  19. fudge 127.127.1.0 stratum 10
  20. EOF
复制代码
参数解释:


  • 1.server 127.127.1.0 #local clock

    • 这个参数指定了一个本地时钟源。127.127.1.0 ,通常用于表示本地计算机的时钟。这个参数告诉NTP守护进程,如果无法从其他NTP服务器获取时间,或者作为备份时钟源,应该使用本地计算机的时钟作为时间源。

  • 2.fudge 127.127.1.0 stratum 10

    • 这个参数用于微调NTP守护进程对本地时钟源的信托度。stratum 是一个数字,表示时钟源的准确度和可靠性。stratum 10 通常表示这是一个非常可靠的时钟源(通常是硬件时钟或石英晶体时钟)。fudge 参数用于调解NTP守护进程怎样考虑这个时钟源的准确度,以决定是否应该信托它。

这两个参数通常一起使用,以提供一个可靠的本地时间源,并允许NTP守护进程根据这个源和其他NTP服务器进行同步。
1.3 客户端配置

  1. # 安装ntpdate
  2. apt -y install ntpdate
  3. # 配置定时任务
  4. crontab -e
  5. 13 5,9,14,19,23 * * * /usr/sbin/ntpdate 192.168.172.10
  6. # 在每天的5点13分、9点13分、14点13分、19点13分、23点13分与时间同步服务器进行同步
复制代码
1.4 多server配置

如果不想使用单一server端,可把其他服务器也配置为server,选择其中一个服务器作为主server
其他server端,配置文件如下
  1. cat /etc/ntp.conf
  2. driftfile /var/lib/ntp/ntp.drift
  3. leapfile /usr/share/zoneinfo/leap-seconds.list
  4. statistics loopstats peerstats clockstats
  5. filegen loopstats file loopstats type day enable
  6. filegen peerstats file peerstats type day enable
  7. filegen clockstats file clockstats type day enable
  8. restrict -4 default kod notrap nomodify nopeer noquery limited
  9. restrict -6 default kod notrap nomodify nopeer noquery limited
  10. restrict 127.0.0.1
  11. restrict ::1
  12. restrict source notrap nomodify noquery
  13. server 0.uk.pool.ntp.org iburst
  14. server 1.uk.pool.ntp.org iburst
  15. server 2.uk.pool.ntp.org iburst
  16. server 3.uk.pool.ntp.org iburst
  17. server 192.168.172.10 prefer
  18. server 127.127.1.0 #local clock
  19. fudge 127.127.1.0 stratum 10
  20. # prefer 优先.具体含义可参考下面的ntp软件处解释
复制代码
2 ntp先容

2.1 ntp协议

1、什么ntp协议

网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。NTP服务器从权势巨子时钟源(比方原子钟、GPS)接收精确的和谐天下时UTC,客户端再从服务器请求和接收时间。
NTP基于UDP报文进行传输,使用的UDP端口号为123。
2、ntp时钟层级

NTP允许客户端从服务器请求和接收时间,而服务器又从权势巨子时钟源(比方原子钟、GPS)接收精确的和谐天下时UTC。
NTP以层级来组织模型结构,层级中的每层被称为Stratum。通常将从权势巨子时钟得到时钟同步的NTP服务器的层数设置为Stratum 1,并将其作为主时间服务器,为网络中其他的设备提供时钟同步。而Stratum 2则从Stratum 1获取时间,Stratum 3从Stratum 2获取时间,以此类推。时钟层数的取值范围为1~16,取值越小,时钟准确度越高。层数为1~15的时钟处于同步状态;层数为16的时钟被认为是未同步的,不能使用的。

3、ntp同步原理

ntp是server/client模式

NTP同步原理

  • 客户端起首向服务端发送一个NTP请求报文,其中包含了该报文脱离客户端的时间戳t1;
  • NTP请求报文到达NTP服务器,此时NTP服务器的时刻为t2。当服务端接收到该报文时,NTP服务器处置惩罚之后,于t3时刻发出NTP应答报文。该应答报文中携带报文脱离NTP客户端时的时间戳t1、到达NTP服务器时的时间戳t2、脱离NTP服务器时的时间戳t3;
  • 客户端在接收到相应报文时,记录报文返回的时间戳t4。
客户端用上述4个时间戳参数就能够计算出2个关键参数:


  • NTP报文从客户端到服务器的往返耽误delay。
  • 客户端与服务端之间的时间差offset。
NTP客户端根据计算得到的offset来调解本身的时钟,实现与NTP服务器的时钟同步。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表