Chinaunix首页 | 论坛 | 博客
  • 博客访问: 447050
  • 博文数量: 112
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1085
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-15 09:42
个人简介

上善若水,不浮不沉!

文章存档

2021年(2)

2020年(3)

2018年(2)

2017年(1)

2016年(8)

2015年(11)

2014年(57)

2013年(28)

我的朋友

分类: LINUX

2013-11-04 17:19:36

                  NTP服务器配置

实验环境:

RHEL5

Server:192.168.2.10

Client:192.168.2.120

一、搭建时间同步服务器
1
、编译安装ntp server
rpm -qa | grep ntp

2、修改ntp.conf配置文件
vi /etc/ntp.conf
、第一种配置:允许任何IP的客户机都可以进行时间同步
#restrict default kod nomodify notrap nopeer noquery

restrict default modify notrap

、第二种配置:只允许192.168.2.0网段的客户机进行时间同步
restrict default nomodify notrap noquery(表示默认拒绝所有IP的时间同步)之后增加一行:
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
3、启动ntp服务
service ntpd start
开机启动服务
chkconfig  --level   35  ntpd on
4
ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。

二、配置时间同步客户机

手工执行 ntpdate 来同步
或者利用crontab来执行
crontab -e
0-59/10 * * * * /usr/sbin/ntpdate 192.168.2.10 >> /root/ntpdate.log 2>&1

表示每隔10分钟同步一次时间

三、在服务端验证:

# watch ntpq -p

Every 2.0s: ntpq -p                                                    Tue Dec  7 05:52:55 2010

     remote           refid      st t when poll reach   delay   offset  jitter

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

*LOCAL(0)        .LOCL.           8 l   22   64  377    0.000    0.000   0.001

服务正常运行

在客户端进行同步验证:

# ntpdate -d 192.168.2.10

 7 Dec 05:54:42 ntpdate[3627]: ntpdate 4.2.2p1@1.1570-o Thu Nov 26 11:35:07 UTC 2009 (1)

Looking for host 192.168.2.10 and service ntp

host found : 192.168.2.10

transmit(192.168.2.10)

receive(192.168.2.10)

transmit(192.168.2.10)

receive(192.168.2.10)

transmit(192.168.2.10)

receive(192.168.2.10)

transmit(192.168.2.10)

receive(192.168.2.10)

transmit(192.168.2.10)

server 192.168.2.10, port 123

stratum 9, precision -20, leap 00, trust 000

refid [192.168.2.10], delay 0.02632, dispersion 0.00061

transmitted 4, in filter 4

reference time:    d0a890f1.b4d040ff  Tue, Dec  7 2010  5:54:41.706

originate timestamp: d0a89102.09318178  Tue, Dec  7 2010  5:54:58.035

transmit timestamp:  d0a890f2.3c8effe2  Tue, Dec  7 2010  5:54:42.236

filter delay:  0.02910  0.02632  0.02808  0.02641

         0.00000  0.00000  0.00000  0.00000

filter offset: 15.80026 15.79880 15.79793 15.79837

         0.000000 0.000000 0.000000 0.000000

delay 0.02632, dispersion 0.00061

offset 15.798801

 7 Dec 05:54:42 ntpdate[3627]: step time server 192.168.2.10 offset 15.798801 sec

附:
当用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                                                    Tue Dec  7 05:52:55 2010

     remote           refid      st t when poll reach   delay   offset  jitter

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

*LOCAL(0)        .LOCL.           8 l   22   64  377    0.000    0.000   0.001

注意LOCAL的这个就是与自身同步的ntp server
注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0175次的变更,每一次是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的设置。

阅读(856) | 评论(0) | 转发(0) |
0

上一篇:DNS spf设置说明

下一篇:命令行CURL教程

给主人留下些什么吧!~~