1,实验机器介绍

 

Ip地址

服务器1

192.168.245.128

服务器2

192.168.245.130

客户端1

192.168.245.129

 

实验前准备

在ntpS1 和ntpS2 中,配置外部服务器为同步服务器,并开放给192.168.245.0/24网段同步。

server 210.72.145.44 perfer   # 指定要同步的网络服务器的ip地址

server 202.112.10.36             

server 59.124.196.83

restrict 192.168.245.0 mask 255.255.255.0 nomodify notrap

 

关闭iptables规则。或者开放udp 123号端口,这里实验中是关闭

在客户端 ntpC1中,配置同步服务器为上面两台服务器,其中优先为ntpS1.

server 192.168.245.128 prefer

server 192.168.245.130 iburst

在三台机器上开启ntp服务,并查看

ntpS1 ntpS2

 

配置ntp客户端与服务器端时间的同步

ntpC1

配置ntp客户端与服务器端时间的同步

配置ntp客户端与服务器端时间的同步

 

  1. 下列为几种极端情况的测试结果。
  1. ntpS1服务器ntp服务挂掉  查看客户端同步情况

配置ntp客户端与服务器端时间的同步

在ntpC1中使用watch ntpq -p 查看后得出结果

配置ntp客户端与服务器端时间的同步

 

当ntpS1挂掉之后,会有一定的超时时间,大概10分钟左右,然后使用ntpq -p 可以看到*转移到ntpS2,也就是说大概10分钟左右客户端会与别的服务器建立连接。

 

  1. 在实验1之后,将ntpS1启动,并将ntpS2关闭,查看状态

 配置ntp客户端与服务器端时间的同步

此时可以发现,连接转移到了ntpS1。

  1. 将ntpS1和ntpS2都挂掉看看

配置ntp客户端与服务器端时间的同步

配置ntp客户端与服务器端时间的同步

经过漫长的等待,发现终于挂完了。。。此时*转移到本地提供的服务

 

  1. 经过步骤3后,将ntpS1和ntpS2同时启动

 

配置ntp客户端与服务器端时间的同步

当等待10几分钟后,连接正常了。

  1. 测试当客户端时间修改的时候,重启客户端的ntp服务,时间是否能正常同步。

配置ntp客户端与服务器端时间的同步

测试结果:无论是客户端时间比服务器端时间快或者慢,只要重启ntp服务时间就变会为服务器端时间。

  1. 测试当客户端关机后重新启动,时间是否正常。

配置ntp客户端与服务器端时间的同步

测试结果:当客户端重启后,ntp服务开机自动启动,此时时间正常。

7,测试客户端修改完时间后,将ntp服务关闭开机自启动,然后开机。

配置ntp客户端与服务器端时间的同步

配置ntp客户端与服务器端时间的同步

 得到结果:当关闭开机自启动后,开机时间没有变化。当开启开机自启动后,时间变为服务器的时间。也就是说,当ntp服务启动的时候,它会同步一次和服务器的时间。

 

 

  1. Ntp配置文件 /etc/ntp.conf 参数详解
  1. ntpS1中ntp.conf文件:

driftfile /var/lib/ntp/drift (记录时间差异的文件)

restrict 127.0.0.1

restrict -6 ::1    

server 210.72.145.44 perfer   # 指定要同步的网络服务器的ip地址

server 202.112.10.36            (其中后面perfer表示优先,常用的有iburst,burst)

server 59.124.196.83

includefile /etc/ntp/crypto/pw (设定包含的配置文件子文件)

keys /etc/ntp/keys (当进行秘钥方式进行认证的时候需要的文件)

server 127.127.1.0 iburst  # 如果server指定的服务器无法使用, 就使用本机时钟作为ntp服务时间来源

 

restrict 192.168.245.0 mask 255.255.255.0 nomodify notrap  

 

下面详细对restrict进行介绍,这是一个权限控制的语句。语法如下:

a配置ntp客户端与服务器端时间的同步sk [netmask_IP] [parameter]

如果后面不加任何参数 则表示允许对面ip或ip段的任何操作。

如:restrict 127.0.0.1

常用的参数有:

ignore: 拒绝所有类型的 NTP 联机;

nomodify: 客户端不能使用 ntpc 与 ntpq 这两支程序来修改服务器的时间参数, 但客户端仍可透过这部主机来进行网络校时的;

noquery: 客户端不能够使用 ntpq, ntpc 等指令来查询时间服务器,等于不提供 NTP 的网络校时;

notrap: 不提供 trap 这个远程事件登录的功能。

notrust: 拒绝没有认证的客户端。

 

  1. 客户端ntpC1的配置文件

配置文件未做特别指出则与服务器端一致

tinker panic 0 (这行意思是设置客户端与服务器端时间差距,默认最大为1000,为0为不限制。)

server 192.168.245.128 prefer  minpoll 3 maxpoll 3  (minpoll表示客户端向服务器端同步的最少时间,单位为2的次幂最小为3,秒)

server 192.168.245.130 iburst  minpoll 3 maxpoll 3(maxpoll表示客户端向服务器端同步的最长时间,单位为2的次幂最大为10,秒)

restrict 192.168.245.128

restrict 192.168.245.130

 

 

4,ntpq -p命令参数详解

配置ntp客户端与服务器端时间的同步

remote:NTP 主机的 IP 或主机名,左边的符号

如果有『 * 』代表目前正在作用当中的上层 NTP

如果是『 + 』代表也有连上线,而且可作为下一个提供时间更新的候选者。

如果是『 - 』 表示为不合格的ntp服务器

refid:上一层 NTP 主机的地址

st:远程服务器的层级别,0-16,0为最高层,

when:几秒钟前曾经做过时间同步化更新的动作;

poll:下一次更新在几秒钟之后;

reach:已经向上层 NTP 服务器要求更新的次数

delay:网络传输过程当中延迟的时间,单位为 10^(-6) 秒

offset:时间补偿的结果,单位与 10^(-3) 秒

jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒。

 

相关文章: