ntp时钟服务器

NTP服务器时钟校准的基本流程:

(1):NTP客户端向NTP服务器发出一个时间请求包(UDP包),其中包含了该包离开客户端时的时间戳。

(2):当服务器接收到该包时。填入包到达时的时间戳、包离开时的时间戳等信息,然后立即把包返回给客户端

(3):客户端在接收到响应包时再填入包返回时的时间戳,然后利用这些时间参数计算出两个关参数,即包往返的延迟、客户端与服务器之间的时钟偏移

(4):客户端使用时钟偏移来调整本地时钟,以使其时间与服务器时间一致

 

CentOS中,NTP服务由ntp软件提供,可以直接yum install ntp即可。另外,tzdata软件(Time Zone Data)提供各时区的对应显示格式。

 

软件相关配置文件:

  • /etc/ntp.conf             ntp服务的住配置文件,ntp服务只有这一个配置文件。
  • /usr/share/zoneinfo/       tzdata提供,包含各时区对应的文件格式。/usr/share/zoneinfo/Asia/Shanghai
  • /etc/sysconfig/clock        设置时区配置文件。每次Linux开机启动后,都会自动读取该配置文件来设置默认显示时间。ZONE="Asia/Chongqing"
  • /etc/localtime                  本地端的时间配置文件。通过clock设置时区,将/usr/share/zoneinfo中对应文件复制一份成为/etc/localtime

关于时间服务器的相关命令:

  • /bin/data                        用户Linux时间(软件时钟)的修改和查看
  • /sbin/hwclock                用于BIOS(硬件时钟)的修改与显示
  • /usr/sbin/ntpd                提供ntp服务的程序。
  • /usr/sbin/ntpdate           客户端时间的矫正。

 NTP服务配置:

       通过步骤1、2 即可完成一个基本时钟服务器的配置。

  1.  通过restrict限制客户端的访问 

    在ntp.conf配置文件中,可以通过restrict来控制权限

    restrict   [-6] [IP]   mask  [netmask]   [parameter]

               -6                      如果增加-6后边跟的是IPv6信息。

    parameter的主要参数:

      • ignore       默认拒绝所有ntp连接
      • nomodify      客户端不用使用ntpc 与ntpq  修改服务器时间,但是客户端可以进行校准
      • noquery        不能使用ntpq、ntpc查询时间服务器,等于不提供ntp服务
      • notrap           不提供trap远程事件登陆(remote event logging)功能
      • notrust           拒绝没有认证的客户端

    如果在parameter位置没有任何参数,表明该IP段不受任何限制

  2. 利用server设置上层NTP服务器(服务器进程向上同步的服务器)

    server  [IP or hostname ]  [perfer]

              server后可以跟IP地址或域名,perfer表明要优先使用

  

  3. driftfile记录时间差异

             driftfile   [可以被ntpd写入的文件]

             NTP服务会自动计算跟上层server的误差,然后记录到driftfile后边的文件。

     该文件要设置启动ntp的用户(ntp)具有写入权限。具体可以通过/etc/sysconfig/ntpd查看。

              

  4. keys [key_file]         除了restrict可以限制用户连接以外,还可以通过密钥系统对客户端认证。在这不做详细的说明

 

NTP服务的启动:

            service  ntpd  start

            chkconfig ntpd on

           NTP服务默认采用UDP的123端口,NTP服务启动后约15分钟才会和上层NTP服务器自动同步。

 

可以通过ntpstat查看与上层Server的同步情况  

[root@Server~]# ntpstat 
unsynchronised
   polling server every 64 s

ntpq -p 可以查看当前NTP与上层Server的状态

[root@Server~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ntp3.itcomplian 5.103.128.88     3 u   42   64    3  449.289  -13.724  10.157
-61-216-153-105. 211.22.103.157   3 u   69   64   26  135.770  -71.024  32.294
+ntp3.flashdance 194.58.203.20    2 u   27   64   17  362.206  -39.495  33.853
*59.46.44.253    202.118.1.48     2 u    1   64   37   25.273  -35.954   3.390

remote   源在 ntp.conf 中定义。‘*’ 表示当前使用的,也是最好的源;‘+’ 表示这些源可作为 NTP 源;‘-’ 标记的源是不可用的。
refid  用于和本地时钟同步的远程服务器的 IP 地址。
st   Stratum(阶层)
t   类型。 'u' 表示单播(unicast)。其它值包括本地(local)、多播(multicast)、广播(broadcast)
when   自从上次和服务器交互后经过的时间(以秒数计)。
poll   下次更新在几秒之后,以秒数计。
reach 已经向上次服务器请求次数
delay 网络传输的时间。10^-6次方秒
offset   时间补偿。10^-3秒
jitter   Linux系统时间与BIOS硬件时间差异。10^
-6次方秒

 

 

NTP客户端配置:

  1. 采用ntpdate手动进行校准,然后将命令放入crontab自动执行

    ntpdate  0.centos.pool.ntp.org

  2. 采用ntp服务进行自动校准。

    将/etc/ntp.conf中serer配置注释

    #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

    restrict 192.168.0.1                              #要去同步的时钟server

    server 192.168.0.1

 

如果在内网环境,服务器作为Server向自己同步方法:

  server   127.0.0.1

  fudge     127.0.0.1  stratum  10

fudge 127.0.0.1 stratum 10 为服务器的层次,0为顶级,如果要向其他服务器同步,不要设置为0.


 

ntp允许所有地址访问:

  restrict 0.0.0.0

 

配置实例:

1. NTP Server向自己进行同步

2. 开放192.168.0.0/24网段,允许该网段同步

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
server 127.0.0.1
fudge 127.0.0.1 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

 

华为交换机NTP配置:

1. 时区设置
<S8505>clock timezone cst add 8

2. ntp server配置(server 192.168.10.25)
[S8505]ntp-service unicast-server 192.168.10.25  vpn-instance  ChinaNet

3. 如果配置了vpn,配置source地址,并指定vpn
[S8505]ntp-service unicast-server 1.1.1.1 source-interface Vlanif 200 vpn-instance ChinaNet

4. 查看ntp server状态
[S8505]display ntp-service status
 clock status: unsynchronized #没有正常同步
 clock stratum: 16
 reference clock ID: none
 nominal frequency: 60.0002 Hz
 actual frequency: 60.0002 Hz
 clock precision: 2^18
 clock offset: 0.0000 ms
 root delay: 0.00 ms
 root dispersion: 0.00 ms
 peer dispersion: 0.00 ms
 reference time: 00:00:00.000 UTC Jan 1 1900(00000000.00000000)
5. 查看Session连接状态
[S8505]dis ntp-service sessions


其他配置:
ntp-service authentication enable
ntp-service authentication-keyid 42 authentication-mode md5 CIPER-NTP
ntp-service reliable authentication-keyid 42
ntp-service unicast-server 2.2.2.2 authentication-keyid 42

 

    

 

posted @ 2017-06-17 23:50  Mr.Bobby  阅读(4455)  评论(1编辑  收藏  举报