Linux进阶14:NTP对时服务的配置及使用

本文以CentOS6.9为例,介绍NTP对时服务的配置及使用。

NTP对时服务的配置

安装及配置自启动

检查ntpd是否安装。

1
2
# rpm -q ntp
ntp-4.2.6p5-10.el6.centos.2.x86_64

如若没有安装,则执行:

1
# yum install ntp

启动NTP服务及配置NTP服务自启动。

1
2
3
4
# service ntpd start
# chkconfig ntpd on
# chkconfig --list ntpd
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

配置NTP服务

配置文件为/etc/ntp.conf
下述的配置文件表示可以任意IP地址进行时间同步,不许做任何修改。

1
restrict default kod nomodify notrap nopeer noquery

可以单独限制某IP地址段,在配置文件的18行左右。

1
2
# Hosts on local network are less restricted.
restrict 192.168.80.0 mask 255.255.255.0 nomodify notrap

重要:如若NTP服务不能连接外网,则需要单独修改server为本地地址127.127.1.0,同时注释掉其他地址,否则NTP服务一直处于连接外网的时间服务器的状态,无法进行同步。

1
2
3
4
5
6
7
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 127.127.1.0 iburst
#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

修改完成后,请重启服务。

NTP客户端设置

使用ntpdate

ntpdate命令用于手动同步NTP时间。可以添加-d开启debug模式。

1
2
# ntpdate 192.168.80.6
14 Jan 17:11:12 ntpdate[2268]: adjust time server 192.168.80.6 offset 0.042004 sec

可以配置定时任务,进行时间同步,如下述的例子是每30分钟手动同步一次。

1
# crontab -e

输入如下。

1
*/30 * * * * /usr/sbin/ntpdate 192.168.80.6 &>/dev/null

解释如下。
*/30:表示分钟数,*表示任意时刻,/30表示每30分钟。
后面四个*:表示任意的小时、天、月、周。
/usr/sbin/ntpdate:ntpdate的绝对路径。
&:后台执行。
>/dev/null:所有的输出都忽略。

使用ntpd服务进行同步

也可以使用ntpd进行对时,即使用NTP服务同步其他NTP服务。
修改/etc/ntp.confPublic servers,同时,把其他的server注释掉。

1
2
3
4
5
6
7
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 192.168.80.6 prefer
#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

其他

一个常见的错误

当NTP服务重启时,需要客户端需要几分钟的时间才能同步。

1
2
# ntpdate 192.168.80.6
14 Jan 17:10:03 ntpdate[2253]: no server suitable for synchronization found

ntpstat

ntpstat用于显示NTP服务的状态

1
2
3
4
# ntpstat
synchronised to NTP server (115.28.122.198) at stratum 3
time correct to within 32 ms
polling server every 256 s

ntpq

ntpq用于NTP查询。常用参数是-p,用列表显示。

1
2
3
4
5
6
7
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+120.25.115.19 10.137.38.86 2 u 156 256 377 46.216 1.599 0.807
+ntp4.itcomplian 5.103.128.88 3 u 256 256 377 323.386 -1.026 22.152
*time6.aliyun.co 10.137.38.86 2 u 18 256 377 6.348 2.909 1.105
-ntp7.flashdance 192.36.143.152 2 u 257 256 367 358.442 -5.552 31.094

注意两个参数whenpoll
when:上一次成功请求之后到现在的秒数。
poll:本地和远程服务器多少时间进行一次同步,单位秒。
其他参数具体可参考man手册,和NTP服务及时间同步(CentOS6.x)

Windows对时

Windows也可使用Linux自定义的NTP服务。
时间和日期==>Internet时间==>更改设置==>修改服务器。
NTP

几个常用的共用的NTP服务

可以配置到NTP配置的public server里。

  1. ntp.api.bz
  2. time.windows.com

如果本文对你有所帮助,请小额赞助
~~ EOF ~~