NTP(Network Time Protocol)服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,应用于对时间实时性要求高的、必须统一时间事件。
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.
服务
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或域名