NTP(Network Time Protocol)服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,应用于对时间实时性要求高的、必须统一时间事件。
NTP时间服务器是一个简单的常用的服务器,在工作中我们只要做到会用、能搭建起来就行,初学者不用太去深入研究
ntp时间服务器的原理。
服务端配置:
一、安装ntp服务
yum install ntp ntpdate -y
二、修改ntp.conf配置文件
cp /etc/ntp.conf /etc/ntp.conf.bak #对ntp.conf文件进行备份
修改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 #在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内 # 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 #开启内部递归网络接口lo 即允许本机地址一切的操作 restrict -6 ::1 # Hosts on local network are less restricted. restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap#我们允许局域网内所有客户端连接到这台服务器同步时间.但是拒绝让他们修改服务器上的时间 service 192.168.75.132 # 这句也是手动增加的,指明局域网中作为NTP服务器的IP # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). server 0.rhel.pool.ntp.org #互联网上的三个ntp服务器 server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org #sebroadcast 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 # Undisciplined Local Clock. This is a fake driver intended for backup # and when no outside source of synchronized time is available. server 127.127.1.0 # local clock #当服务器与公用的时间服务器失去联系时(连不上网),以局域网的时间服务器为客户端提供时间同步服务 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
三、启动NTP服务
service ntpd start
为了使服务可以在系统引导的时候自动启动,执行
service ntpd startchkconfig ntpd on
四、检查时间服务器是否正确同步
一个可以证明同步有问题的证据是:所有远程服务器的jitter值是4000并且delay和reach的值是0。
可能的原因有:
(1)有防火墙阻断了与server之间的通讯,即123端口是否正常开放;
检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。可以用命令:
service iptables stop
来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。
在vi /etc/sysconfig/iptables添加如下规则:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
(2) 此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你在客户端执行“ntpdate 服务器ip”的时候将返回:
27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found
客户端配置:
一、客户端安装ntp服务
yum install ntp ntpdate -y
二、配置ntp.conf文件
只需增加 server 服务器IP
三、手动同步时间
ntpdate 服务器IP或域名