一、NTP简介
网络时间协议 - NTP - 是运行在传输层 123 号端口的 UDP 协议,它允许计算机通过网络同步准确时间。随着时间的流逝,计算机内部时间会出现漂移,这会导致时间不一致问题,尤其是对于服务器和客户端日志文件,或者你想要复制服务器的资源或数据库。
二、NTP安装配置
1.默认提供了ntp服务器的安装包,可以通过yum或者rpm来安装。
[root@ntpsrv ~]# yum install -y ntp
2.安装完成后,从NTP公共时间服务器池选择合适的时间服务器列表。这里我们选择亚洲,中国
3.修改配置文件/etc/ntp.conf,注册默认的时间服务器列表,将上面的服务器列表添加进去
4.设置允许哪些客户端与此台服务进行时间同步。使用 restrict 语句控制允许哪些网络查询和同步时间-根据实际的网络替换所需网络IP
nomodify notrap 语句的意思是不允许你的客户端配置为时间服务器或者作为时间的节点,这样可以有效控制服务器的性能。
5.为了便于错误的跟踪排查,添加日志配置选项 logfile。
6.所有配置修改完成后,保存关闭文件。
三、添加防火墙规则并启动 NTP 守护进程
7.NTP 服务使用OSI传输层(第四层)的123号UDP端口。为了表面可变延迟的影响所特别设计的。
[root@ntpserv ~]# firewall-cmd --add--service=ntp --permanent
[root@ntpserv ~]# firewall-cmd --reload
8.防火墙策略设置完成后,启动 ntpd 服务器,配置 ntpd 开启即启动,并查看器运行状态
[root@ntpserv ~]# systemctl start ntpd [root@ntpserv ~]# systemctl enable ntpd [root@ntpserv ~]# systemctl status ntpd
四、验证服务器时间同步
9.启动 NTP 守护进程后,用几分钟等待服务器和它的服务器池列表同步时间,然后运行羡慕的命令验证 NTP 节点同步状态和系统时间。
[root@ntpsrv ~]# ntpq -p
[root@ntpsrv ~]# date -R
五、设置客户端时间同步
10.Windows 客户端
1)在任务栏右边-->时间-->更改日期和时间设置
2)网络时间选项卡-->更改设置
3)在服务器中输入配置的服务器地址或者域名,点击立即更新,在下方显示时钟在当前时间与时间服务器同步。
11. Linux 客户端
1)Linux 客户端使用的是 ntpdate 命令进行时间同步
2) 使用 cron 设置定时时间同步,例如设置每四个小时同步一次(cron时间表达式详解)
[root@websrv ~]# crontab -e 0 */4 * * * /usr/sbin/ntpdate ntp.nj-strongit.com.cn >>/var/log/ntpdate.log
3)启动 crond服务,并将其设置为开机启动
[root@websrv ~]# systemctl start crond
[root@websrv ~]# systemctl enable crond