zoukankan      html  css  js  c++  java
  • Linux下的NTP服务搭建

    为了实现时间同步,我们就需要用NTP(Network Time Protocol)这个协议。

    简单地说,NTP是用来使系统和一个精确的时间源保持时间同步的协议。

    我们需要建立一个能提供精确时间的服务器,局域网内的所有电脑统一通过这台时间服务器进行时间同步、校准。

    如何设置Linux Time Zone:

    /usr/share/zoneinfo:这是个目录,在这个目录下是规定了各主要时区的时间设定文件,例如中国大陆地区的时区设置文件是 /usr/share/zoneinfo/Asia/Shanghai 。

    如果我们想查看对于每个time zone当前的时间我们可以用zdump命令。

    例如:分别查看日本、上海和纽约时间。

    当输入date命令查看时间时,我们所在的time zone是哪个,就显示哪个时间,可以通过在/usr/share/zoneinfo下找到我们的time zone文件然后拷贝去到/etc/localtimezone(或者做个symbolic link)来更改所在时区

    例如:把time zone改成纽约所在时区,再通过date查看当前时间。

    把time zone改成日本所在时区,再通过date查看当前时间。

    把time zone改成上海所在时区,再通过date查看当前时间。

    NTP服务端的设置:

    编辑ntp的配置文件  /etc/ntp.conf 

    关于权限设定部分 

    权限的设定主要以 restrict 这个参数来设定,主要的语法为: 

    restrict IP地址 mask 子网掩码 参数 

    其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP 

    参数有以下几个: 

    ignore :关闭所有的 NTP 联机服务 

    nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 

    notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网 

    noquery :不提供客户端的时间查询 

    notrap:不提供trap远程登录功能,trap服务是一种远程时间日志服务

    nopeer:提供时间服务,但不作为对等体

    kod:向不安全的访问者发送Kiss-Of-Death报文

    注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

    上级时间服务器的设定 :

    由于我们配置的NTP 服务器需要网络上面时间比较准确的NTP服务器来更新自己的时间,所以在我们的 NTP 服务器上面要配置一部上级时间服务器来进行校准

    用server这个参数设定上级时间服务器,语法为: 

    server + IP地址或域名 [prefer] 

    IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。

    解决NTP服务器校准时间时的传送延迟 :

    使用driftfile参数设置:

    driftfile 文件名

    在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。

    注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。

    NTP客户端的使用:

    Linux系统:

    执行 ntpdate: 

    ntpdate 10.1.3.51   其中10.1.3.51是NTP服务器的IP 

    不要忘了使用hwclock命令,把时间写入bios

    hwclock -w 

    如果想定时进行时间校准,可以使用crond服务来定时执行。

    编辑 /etc/crontab 文件

    加入下面一行: 

    30 8 * * * root /usr/sbin/ntpdate 10.1.3.51; /sbin/hwclock -w   其中 10.1.3.51是NTP服务器的IP地址

    然后重启crond服务

    systemctl restart crond 

    这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

    Windows 系统:

      1.  打开组策略编辑器,命令是:gpedit.msc
      2.  在计算机策略对话框中,打开如下路径:计算机配置/管理模板/系统/Windows时间服务/时间提供程序。
      3.  双击右边配置Windows NTP客户端。将Ntp Server项,输入将要同步到的时间服务器IP地址。在类型项,选择NTP。
      4. 双击启动NTP客户端,启用NTP客户端,点击应用,确定按钮;
      5. 执行命令:gpupdate /force,更新组策略
      6. 执行命令:Services.msc,找到Windows Time服务,检查W32Time服务是否启动,启动类型是否是 自动启动,如下图:


      7. 在右下角时间和日期中,设置同步地址并勾选自动同步即可,如下图


     

    参考:http://www.cnblogs.com/oskb/p/3848714.html

       https://www.cnblogs.com/smallprogram/p/6346833.html

  • 相关阅读:
    学Java,上这个网站就够了
    父类如果不写无参构造方法,子类会报错
    Java中instanceof的用法
    Spring,SpringMVC,Mybatis等配置文件报错解决(Referenced file contains errors)
    初识Java
    JavaSE课程知识体系总结
    Java中awt和swing的关系和区别
    ServiceMesh实验室——00之实验室搭建
    Microservices==>Service Mesh==>Serverless,走马观花
    领域驱动(DDD)之我见,基于Golang实现
  • 原文地址:https://www.cnblogs.com/nefu-Lc/p/9519081.html
Copyright © 2011-2022 走看看