ntp配置文件ntp.conf解析:
利用 server 关键字设定上层 NTP 服务器,上层 NTP 服务器的设定方式为:
server [IP or hostname] [prefer]
在 server 后端可以接 IP 或主机名,perfer 表示『优先使用』的服务器。
在 ntp.conf 中可以利用『 restrict 』来控管权限,这个参数的设定方式为:
restrict [IP] mask [netmask_IP] [parameter]
其中 parameter 的参数主要有底下这些:
ignore:拒绝所有类型的 NTP 联机;
nomodify:客户端不能使用 ntpc 与 ntpq 这两支程序来修改服务器的时间参数,但客户端仍可透过这部主机来进行网络校时的;
noquery:客户端不能够使用 ntpq, ntpc 等指令来查询时间服务器,等于不提供 NTP 的网络校时;
notrap:不提供 trap 这个远程事件登录 (remote event logging) 的功能。
notrust:拒绝没有认证的客户端。
ntp即是服务器,又是客户端,只需要通过配置即可,修改配置文件/etc/ntp.conf,以服务器 192.168.20.21 的时间与 ntp.ubuntu.com 同步,允许同步的 NTP 客户端所在的网段为192.168.20.0/255.255.255.0为例。
driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server ntp.ubuntu.com //上层服务器,获取时间来源
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 192.168.20.0 mask 255.255.255.0 nomodify //限制某一个网段的客户端访问
restrict 127.0.0.1
restrict ::1
Tips:其中 server ntp.ubuntu.com,当连接外网的时候,本机首先要同步的就是 ntp.ubuntu.com 的时间;当用局域网的时候,应把地址设为标准时间的机器IP。如果在同步时间的时候出现“Service dropped: strata too high”的报错,应对配置文件的 server 进行如下修改:
server 127.127.1.0 fudge
127.127.1.0 stratum 8
restrict 192.168.20.21 nomodify notrap noquery //允许ntpserver主动修改客户端时间
server 192.168.20.21
$ sudo systemctl restart ntp
$ sudo ntpdate 192.168.20.21
ntpdate命令是要在ntp进程退出的情况下执行,如果执行上述命令出错,那么请先关闭ntp进程。需等待几分钟时间才能同步完成。可同时查看服务器的硬件时钟并进行更改:
$ sudo hwclock
$ sudo hwclock -w