zoukankan      html  css  js  c++  java
  • Centos 7安装配置NTP网络时间同步服务器

    环境:

    OS:Linux Centos 7.9 x86_64

    1.查看当前服务器时区&列出时区并设置时区(如已是正确时区,请略过):

    # timedatectl
    # timedatectl list-timezones
    # timedatectl set-timezone Asia/Shanghai

    2.时间时区概念理解:

    GMT、UTC、CST、DST

    UTC:

    整个地球分为二十四时区,每个时区都有自己的本地时间,在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC:Universal Time Coordinated)。

    GMT:

    格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线(UTC与GMT时间基本相同)。

    CST:

    中国标准时间 (China Standard Time)
    
    GMT + 8 = UTC + 8 = CST

    DST:

    夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时间拨快一小时,以提早日光的使用(中国不使用)。

    2.使用 NTP 公共时间服务器池(NTP Public Pool Time Servers)http://www.pool.ntp.org 同步你的服务器时间。

    查看是否安装:

    # rpm -q ntp
    ntp-4.2.6p5-25.el7.centos.2.x86_64

    如已安装请略过此步,否则请执行以下命令安装:

    # yum install ntpdate ntp -y

    修改NTP配置:

    注:绿色为原有我注释掉的内容,红色为新增代替之前注释内容,其他默认。

    # vim /etc/ntp.conf
    # For more information about this file, see the man pages
    # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).
    
    driftfile /var/lib/ntp/drift
    
    #新增:日志目录.
    logfile /var/log/ntpd.log
    
    # Permit time synchronization with our time source, but do not
    # permit the source to query or modify the service on this system.
    restrict default nomodify notrap nopeer noquery
    
    # Permit all access over the loopback interface. This could
    # be tightened as well, but to do so would effect some of
    # the administrative functions.
    restrict 127.0.0.1
    restrict ::1
    #这一行的含义是授权172.16.128.0网段上的所有机器可以从这台机器上查询和同步时间.
    restrict 172.16.128.0 mask 255.255.255.0 nomodify notrap
    
    # Hosts on local network are less restricted.
    #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    
    # Use public servers from the pool.ntp.org project.
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    
    #server 0.centos.pool.ntp.org iburst
    #server 1.centos.pool.ntp.org iburst
    #server 2.centos.pool.ntp.org iburst
    #server 3.centos.pool.ntp.org iburst
    
    #新增:时间服务器列表.
    server 0.cn.pool.ntp.org iburst
    server 1.cn.pool.ntp.org iburst
    server 2.cn.pool.ntp.org iburst
    server 3.cn.pool.ntp.org iburst
    
    #新增:当外部时间不可用时,使用本地时间.
    server 172.16.128.171 iburst
    fudge 127.0.0.1 stratum 10
    
    #broadcast 192.168.1.255 autokey # broadcast server
    #broadcastclient # broadcast client
    #broadcast 224.0.1.1 autokey # multicast server
    #multicastclient 224.0.1.1 # multicast client
    #manycastserver 239.255.254.254 # manycast server
    #manycastclient 239.255.254.254 autokey # manycast client
    
    #新增:允许上层时间服务器主动修改本机时间.
    restrict 0.cn.pool.ntp.org nomodify notrap noquery
    restrict 1.cn.pool.ntp.org nomodify notrap noquery
    restrict 2.cn.pool.ntp.org nomodify notrap noquery
    
    # Enable public key cryptography.
    #crypto
    
    includefile /etc/ntp/crypto/pw
    
    # Key file containing the keys and key identifiers used when operating
    # with symmetric key cryptography.
    keys /etc/ntp/keys
    
    # Specify the key identifiers which are trusted.
    #trustedkey 4 8 42
    
    # Specify the key identifier to use with the ntpdc utility.
    #requestkey 8
    
    # Specify the key identifier to use with the ntpq utility.
    #controlkey 8
    
    # Enable writing of statistics records.
    #statistics clockstats cryptostats loopstats peerstats
    
    # Disable the monitoring facility to prevent amplification attacks using ntpdc
    # monlist command when default restrict does not include the noquery flag. See
    # CVE-2013-5211 for more details.
    # Note: Monitoring will not be disabled with the limited restriction flag.
    disable monitor

    3.设置系统开机自启动:

    # systemctl enable ntpd
    # systemctl enable ntpdate
    # systemctl is-enabled ntpd

    在ntpd服务启动时,先使用ntpdate命令同步时间:

    # ntpdate -u 1.cn.pool.ntp.org

    原因之一:当服务端与客户端之间的时间误差过大时,此时修改时间可能对系统或应用带来不可预知问题,NTP会停止时间同步。若检查NTP启动后时间未同步时,应考虑可能是时间误差过大所致,此时需要先手动进行时间同步。

    启动NTP服务器:

    # systemctl start ntpdate
    # systemctl start ntpd

    4.加入防火墙:

    # firewall-cmd --permanent --add-service=ntp
    # firewall-cmd --reload

    5.查看ntp连接状态如果没有问题,将正确时间写入硬件:

    # ss -tlunp | grep ntp
    # ntpq -p
    # hwclock -w

    5.1.系统时间与硬件时间

    硬件时间:

    RTC(Real-Time Clock)或CMOS时间,一般在主板上靠电池供电,服务器断电后也会继续运行。仅保存日期时间数值,无法保存时区和夏令时设置。

    系统时间:

    一般在服务器启动时复制RTC时间,之后独立运行,保存了时间、时区和夏令时设置。

    6.客户端:

    以服务进程方式实时同步(需安装NTP):

    # vim /etc/ntp.conf
    server 172.16.128.171

    重要:修改任意节点服务器的NTP配置文件都需要重起ntpd服务:

    # systemctl restart ntpd

    以crontab任务计划同步时间(需安装ntpdate,每隔更新同步时间):

    # crontab -e
    */10 * * * * /usr/sbin/sntp -P no -r 172.16.128.171;hwclock -w

    已部署完毕。这样集群会自动定期进行服务的同步,如此以来集群的时间就保持一致了。

  • 相关阅读:
    hdu 5646 DZY Loves Partition
    bzoj 1001 狼抓兔子 平面图最小割
    poj 1815 Friendship 最小割 拆点 输出字典序
    spoj 1693 Coconuts 最小割 二者取其一式
    hdu 5643 King's Game 约瑟夫环变形
    约瑟夫环问题
    hdu 5642 King's Order
    CodeForces 631C Report
    1039: C语言程序设计教程(第三版)课后习题9.4
    1043: C语言程序设计教程(第三版)课后习题10.1
  • 原文地址:https://www.cnblogs.com/xzlive/p/15533095.html
Copyright © 2011-2022 走看看