NTP服务器:network timeprotocol

     BIOS内部芯片自身的特性易导致BIOS时间与UTC全球标准时间存在差异。时间同步(synchronize)能够有效地避免主机长时间运行导致的时间偏差。

NTP原理:

  1. 1.    NTP server开启daemon(监听端口号123UDP的端口)

  2. 2.   clientNTPserver发送校对时间的消息

  3. 3.   NTP server回复当前的标准时间给client()

  4. 4.   client收到来自NTPserver的回复之后,调整自己的时间

client可以自动计算传输过程中的时延;server负载若过重,可采用master/slave架构提供网络校时。

大多数NTP服务器在国外,国内也有一个第二级的NTP服务器(210.72.154.44),直接连国内这台即可。

配置ntp时间同步

1.准备环境:两台主机

172.17.220.145:作为第三级的时间服务器ntpd,用于与ntpd服务器110.75.190.198(阿里巴巴提供)同步时间

172.17.220.224ntp客户端,用于与172.17.220.145同步时间

2.设置防火墙

1
vi /etc/sysconfig/iptables

“-AINPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT”后增加

-AINPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT

3.rpm包检查

wKiom1eHZ5jjlkThAAAxczLDl0k881.jpg-wh_50

若没有安装,可通过yum install ntp安装。

4.设置系统开机自启及启动服务

      Centos7默认通过chronyd服务实现时钟同步

Centos7搭建NTP服务器_第1张图片

我们关闭chronyd服务并使其开机不自启,同时启动ntpd并将其加入开机自启

1
2
3
4
[15:57:44root@localhost ~] # systemctl stop chronyd
[15:59:26root@localhost ~] # systemctl disable chronyd 
[15:59:34root@localhost ~] # systemctl enable ntpd
[15:59:45root@localhost ~] # systemctl start ntpd


5.修改配置文件

1
2
3
4
vi /etc/ntp .conf
#5.1设置对客户端的限制(4.2及以后的版本建议不要restricte notrush参数)
restrict172.17.220.0 mask 255.255.255.0 nomodify
:<<’restrict参数

Centos7搭建NTP服务器_第2张图片

1
2
3
4
5
6
7
8
9
10
11
#5.2设置自身时间的服务器来源
#注释掉系统默认,尽量通过ip设置(减少dns解析时间)’
#server 0.centos.pool.ntp.org iburst
#server1.centos.pool.ntp.org iburst
#server2.centos.pool.ntp.org iburst
#server3.centos.pool.ntp.org iburst
server 110.75.190.198 perfer
server 202.108.6.95
server 202.112.29.82
#5.3设置自身为3级NTPserver
fudge 127.127.0.1 stratum 3

6.重新启动ntpd并查看

systemctlrestart ntpd重启ntpd

ntpq–p查看ntpd

wKiom1eHaBKxiJubAAAvB27Sj5w422.png-wh_50

7.设置ntp客户端

7.1 测试ntpd是否安装成功

ntpdate 172.17.220.145 #ntpd(172.17.220.145)获取当前时间

date; hwclock –r #获取当前时间,通过hwclock–r写入bios时间

wKioL1eHaCvC3ya_AAAvfI4bMSc727.png-wh_50

注:客户端不能同步,一般建议设置iptables后重启firewalld,或者直接关闭firewalld。

       7.2设置自动同步(每隔三个小时更新一次时间)

1
2
3
4
crontab  –e
0 * /1  * * *  /usr/sbin/ntpdate  172.17.220.145; /sbin/hwclock  -w > /dev/null  2>&1
crontab  –l
0 * /1  * * *  /usr/sbin/ntpdate  172.17.220.145; /sbin/hwclock  -w > /dev/null  2>&1

修改时区的命令

1
2
3
#  cd /usr/share/zoneinfo #进入查找所有时区
# timedatectl set-timezone Asia/Shanghai
# timedatectl status

Centos7搭建NTP服务器_第3张图片