Linux环境下使用 ntp 实现时间同步

本文详细介绍了NTP(Network Time Protocol)的概念与实际配置步骤。包括NTP服务端的搭建,涉及安装、配置、启动及检查过程;以及NTP客户端的使用方法。特别适合虚拟机环境下多台设备间的时间同步需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

最近发现之前写的 VirtualBox下虚拟机与宿主机时间同步 也不能实时保证虚拟机的时间与宿主机实际时间保持一致, 索性直接搭一下 ntp 服务来实现时间同步.

NTP 概念

NTP = Network Time Protocol, 是基于网络实现时间同步的协议.

实际实现

NTP 的实现, 需要 NTP服务端 与 NTP客户端.

其实笔者的情况, 虚拟机直接充当NTP客户端就完事了, 但是考虑到有多台虚拟机, 所以还是把 服务端 跟 客户端 都进行一下安装.

NTP 服务端

安装

yum install -y ntpd

配置

ntpd 的配置文件默认存放在 /etc/ntp.conf

--- 说明 ---

  • restrict 管控权限
    写法: restrict ip_address[ mask netmask][ option[s]]
    option选项
    * ignore
    拒绝所有类型的ntp联机
    * nomodify
    客户端不可以用 ntpc 和 ntpq 来修改服务端的时间参数
    * noquery
    客户端不能用 ntpc 和 ntpq 等命令来查询服务端, 等于不提供ntp网络校时
    * notrap
    不提供 trap 这个远端事件记录( remote event logging )功能
    * notrust
    拒绝没有认证的客户端
    * Kod
    阻止"Kiss of death"包对服务端的破坏
    * Nopeer
    不与其它同层的ntp服务端进行时间同步
  • server 设置上层NTP服务端
    写法: server ip_address or hostname[ option[s]]
    * prefer
    最高优先级
    * burst
    当一个远程NTP服务器可用时, 向它发送一系列的并发包进行检测
    * iburst
    当一个远程NTP服务器不可用时, 向它发送一系列的并发包进行检测
  • driftfile 记录时间差异
    写法: driftfile file_path
    记录与上层NTP服务器的时间差异
    要注意:
    *** file_path 需要是完整路径
    *** file_path 不能是链接
    *** ntpd 需要有 file_path 的写入权限
    *** 文件记录的数值单位是 百万分之一秒( ppm )
  • keys 使用密钥验证
    写法: keys key_file_path
    可以参考 ntp-keygen 命令的帮助手册

--- 实际配置 ---

我们的需要很简单, 直接加入一行即可( 我的虚拟机环境的网段是 192.168.56.0/24 )

restrict 192.168.56.0 mask 255.255.255.0 nomodify

 启动

systemctl start ntpd

需要开机启动的话, 使用

systemctl enable ntpd

检查

正常 ntpd 启动后约 15 分钟会进行与上层NTP服务器的时间校对

ntpstat

 同步后的反馈信息如:

synchronised to NTP server (208.67.72.50) at stratum 3
   time correct to within 227 ms
   polling server every 1024 s

NTP 客户端

客户端使用就简单很多, 使用下方命令即可, 注意 ntp_server_IP 换成你所知道的 NTP服务端 的 IP

ntpdate ntp_server_IP

如果要做完整, 还需要写入 BIOS时间 , 使用

hwclock -w

 

### 注

客户端使用 ntpdate 时有可能会报错, 形如:

ntpdate[31147]: no server suitable for synchronization found

 这是无法与 服务端 通讯导致的, 有可能是防火墙拦截, 注意 服务端 防火墙放行即可.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值