linux时间同步配置

  1. 方案1:直接同步+crontab定时

    命令:ntpdate ip/你要同步的服务器域名/网上提供的标准时间同步URL
    示例:ntpdate 192.168.0.1

    方案1用ntpdate命令结合crontab定时来同步方案来解决。

  2. 方案2:平滑同步/ntpd同步

    使用ntpd服务,要好于ntpdate加crontab的组合。因为,ntpdate同步时间会造成时间的突变和跳跃,对一些依赖时间的程序和服务会造成影响。比如sleep,timer等。而且ntpd服务可以在修正时间的同时,修正CPU Tick。因此理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

    ntpd 有一个自我保护的机制:如果本机与上源时间相差太大,ntpd 不会运行时间同步操作。

    示例:以192.168.0.1为ntp server端,其它机器同步192.169.0.1的时钟。

    查看所有机器是否安装ntp服务:yum list installed | grep ntp,未安装请自行安装。

    yum -y install ntp : 安装ntp服务端,ntp和ntpdate包都会安装
    rpm -ivh ntpdate-4.2.6p5-29.el7.x86_64.rpm : ntp客户端,只安装ntpdate包

    192.168.0.1(服务端)机器设置配置文件是:/etc/ntp.conf,内容如下:

    # 系统时间与BIOS事件的偏差记录
    driftfile /var/lib/ntp/drift
    pidfile /var/run/ntpd.pid
    logfile /var/log/ntp.log
    # 控制相关权限 ,语法 :restrict IP地址 mask 子网掩码 参数
    # 其中IP地址也可以是default ,default 就是指所有的IP
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1  #允许单个IP地址访问本ntp服务器
    # server指定本ntp服务器的上层ntp服务器。同步时间为:从上到下,写的越靠上,优先级越高。(此服务器同步不了时间,寻找下一个ntp服务器)。格式:server [IP or hostname] [prefer]
    # 如果服务器都无法同步时间,就和本地系统时间同步。127.127.1.0在这里是一个IP地址,不是网段。
    server 127.127.1.0 prefer  
    #server 0.rhel.pool.ntp.org iburst
    #server 1.rhel.pool.ntp.org iburst
    # 当没有时间同步来源的时候以自身的硬件时钟为准,这里的stratum是代表层级,默认是10
    fudge 127.127.1.0 stratum 10
    

    其它机器(客户端)配置文件如下:

    driftfile /var/lib/ntp/drift
    pidfile /var/run/ntpd.pid
    logfile /var/log/ntp.log
    # Access Control Support
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    # restrict 192.168.0.0 mask 255.255.255.0       #允许192.168.0.0 网段中的服务器访问本ntp服务器进行时间同步
    restrict 127.0.0.1
    # local clock
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
     #server ntp.jdcloudcs.com iburst minpoll 4 maxpoll 10
    server 192.168.0.1 iburst minpoll 4 maxpoll 10
    #fudge ntp.jdcloudcs.com stratum 2
    fudge  192.168.0.1 stratum 2
    

    总结一下,restrict用来设置访问权限,server用来设置上层时间服务器,driftfile用来设置保存漂移时间的文件。

    restrict 参数有以下几个
    ignore :关闭所有的 NTP 联机服务
    nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
    notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
    noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
    notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
    nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
    kod : 访问违规时发送 KOD 包。
    restrict -6 表示IPV6地址的权限设置。

    server 设定上层NTP服务器
    perfer:表示优先级最高
    iburst :当一个运程NTP服务器不可用时,客户端向它发送一系列的并发包进行检测,如果在短时间内呼叫 NTP 服务器几次,没有出现可辨识的应答,那么本地时间将不会变化。
    burst :当一个运程NTP服务器可用时,也会发送一系列的并发包进行检测。 根据NTP 服务器的通用规则,一般不允许使用。(如果你在高层服务器持续发送包,甚至是它们在正常应答时,你可能会因为使用 “burst” 选项而被拉黑)
    minpoll 和 maxpoll :NTP消息的最小和最大轮询间隔(以秒为单位)。例如:minpoll 4 maxpoll 6 表示对提供时间服务同步的服务器进行轮询的最小间隔是4,最大间隔是6,这里的最小和最大都是默认值,4代表的并不是4秒而是2秒的4次方,6代表也不是6秒而是2秒的6次方

    设置完成后,每台机器需重启ntpd服务:systemctl restart ntpd

  3. 参考命令:

    systemctl restart/status/start/stop ntpd : ntpd服务重启/查看/启动/停止

    ntpstat : 查看时间同步状态(NTP服务器是否与上层联机状态、时间校正、每隔多少秒会更新时间)

    ntpdate -d ip/时间服务器域名:调试方法查看错误信息,不修改时间

ntpq -p :查看时间同步状况

注意:重启后隔一段时间才会同步过来,具体通过ntpstat命令查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值