centos 内网校时

选中某台机器 , 如果机器不能连接外网:
1、先对此机器设置正确的时区和时间
时区:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者
ln -sf  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
时间,设置
date 010318242008(月日时分年)(完整书写)
2、设置硬件时间,使其于上面设置的系统时间通步
hwclock --systohc
 
  如果机器能连接外网 :
    1、
      cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
     或者
      ln -sf  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    ntpdate pool.ntp.org
   2 、hwclock --systohc
 
然后,在此台机器 上开启ntp server
安装服务:yum -y install ntp
开机启动:chkconfig ntpd on
启动服务:service ntpd start
 
在内网中其他不能连接外网的机器,就可以此ntp server上面的时间来较准了。
 
定时较准时间
# crontab -e       
//打开linux定时计划任务
0 23 * * * /usr/sbin/ntpdate 210.72.145.44  
//时间格式如下:如果23改为 0-23/2 就表示每隔2小时执行一次
* * * * * *
| | | | | | 
| | | | | +-- Year (range: 1900-3000)
| | | | +---- Day of the Week (range: 1-7, 1 standing for Monday)
| | | +------ Month of the Year (range: 1-12)
| | +-------- Day of the Month (range: 1-31)
| +---------- Hour (range: 0-23)
+------------ Minute (range: 0-59)
//加入这一行信息 ,ip可指定为上面已配置好ntp server的机器IP。 以上命令设置好后存盘。 
# /sbin/service crond reload //重载linux计划任务
 
 

解决ntp的错误 no server suitable for synchronization found

当用ntpdate -d 来查询时会发现导致 no server suitable for synchronization found 的错误的信息有以下2个:  


错误1.Server dropped: Strata too high

在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误。

在ntp客户端用ntpdate –d serverIP查看,发现有“Server dropped: strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。

这是因为NTP server还没有和其自身或者它的server同步上。

以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

server 127.127.1.0 fudge

127.127.1.0 stratum 8 

 

在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitable for synchronization found的错误。

那么如何知道何时ntp server完成了和自身同步的过程呢?

在ntp server上使用命令:

 

# watch ntpq -p


出现画面:

 

Every 2.0s: ntpq -p                                                                                                             Thu Jul 10 02:28:32 2008

     remote           refid      st t when poll reach   delay   offset jitter

==============================================================================

 192.168.30.22   LOCAL(0)         8 u   22   64    1    2.113 179133.   0.001

 LOCAL(0)        LOCAL(0)        10 l   21   64    1    0.000   0.000  0.001

 

注意LOCAL的这个就是与自身同步的ntp server。

注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。

如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。


错误2.Server dropped: no data
从客户端执行netdate –d时有错误信息如下:

transmit(192.168.30.22)

transmit(192.168.30.22)

transmit(192.168.30.22)

transmit(192.168.30.22)

transmit(192.168.30.22)

192.168.30.22: Server dropped: no data

server 192.168.30.22, port 123

.....
28 Jul 17:42:24 ntpdate[14148]: no server suitable for synchronization found
 

出现这个问题的原因可能有2:

 

1。检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。

使用以下命令检查ntp的版本:

# ntpq -c version


下面是来自ntp官方网站的说明:
The behavior of notrust changed between versions 4.1 and 4.2.

In 4.1 (and earlier) notrust meant "Don't trust this host/subnet for time".

In 4.2 (and later) notrust means "Ignore all NTP packets that are not cryptographically authenticated." This forces remote time servers to authenticate themselves to your (client) ntpd

解决:

把notrust去掉。


2。检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。

可以用命令

#service iptables stop

来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。

你可能感兴趣的:(centos)