本文主要写了一些在Linux(CentOS 6.5)服务器上配置ntp的经验,事件缘由来源于配置Zabbix监控ntp服务时的测试配置。
NTP时间同步协议的服务端(ntpd服务)和客户端(ntpdate服)不能同时运行,即在运行ntpd服务后不能运行ntpdate服务,否则ntpdate服务会提示启动失败,而且日志中也会提示“the NTP socket is in use, exiting”,如下图所示。
但客户端运行时,服务端可以运行,但服务端运行时,客户端不能运行,要运行客户端服务,就必须关闭服务端。
但单独运行ntpdate时,不会受影响,如下图所示。
为了避免这种错误,可以在服务启动脚本中设置一下启动条件,如下图所示:
(1)在ntpd服务的启动脚本/etc/init.d/ntpd中的start函数中添加红色框中的部分,监测ntpdate服务是否运行,如果已经运行,则报一个警告提示,但不退出脚本。
(2)在ntpdate服务的启动脚本/etc/init.d/ntpdate中的start函数中添加红色框中的部分,监测ntpd服务是否运行,如果已经运行,则报一个错误提示并退出脚本(exit 3)。
另外贴一下ntpd服务的配置文件(/etc/ntp.conf)供配置ntp时参考。
# 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 # Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. restrict default kod nomodify notrap nopeer noquery restrict -6 default kod 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 -6 ::1 # Hosts on local network are less restricted. #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap restrict 172.16.172.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). # http://www.pool.ntp.org/zone/cn # http://www.pool.ntp.org/zone/asia server 2.cn.pool.ntp.org server 3.asia.pool.ntp.org server 0.asia.pool.ntp.org #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 #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 server 127.127.1.0 fudge 127.127.1.0 stratum 10 # 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