• 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

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

  • 相关阅读:
    spring-102-spring全注解快速实现事务
    spring-101-springAOP
    spring-201-springmvc基于MappingJacksonValue 实现JSONP
    啥是JSONP---转
    request.getSession(boolean create)的正确使用姿势
    spring-003-Resource资源
    spring-002-Ioc bean配置
    spring-001-Ioc 顶层容器
    为企业提供免费代码安全扫描服务(每月限一次)
    圆满完成平安科技Web安全与App应用安全测试培训!
  • 原文地址:https://www.cnblogs.com/xzlive/p/15533095.html
Copyright © 2020-2023  润新知