NTP时间同步配置

?? NTP时间同步配置 2011-12-19 20:33:06 目录

1 案例描述 2
2 案例分析 2
3 解决过程 2
a) 在LINUX上设置时间服务器 2
b) 在WINDOWS上设置时间服务器 3
c) 对LINUX客户端的时间同步 3
d) 对WINDOWS客户端的时间同步 4
4 其他问题 5

关键词:
NTP 时间同步 linux windows
摘 要:
本案例讲述在linux和windows中进行ntp时间同步服务配置的方法。
1案例描述
在福建公安项目中,为了满足时间和数据的一致性要求,保证系统正常运行。同时也为了满足公安系统办案对时间一致性的需求。我们在系统中开启了时间同步服务。本案例介绍了在linux或windows下进行NTP时间同步的方法,可用在linux间或windows间或linux与windows之间,及与各类支持NTP的设备进行时间同步。

2案例分析
在福建公安系统中,既有linux操作系统,又有windows操作系统;那么我们如何在其中进行NTP时间同步呢?下面来解决这个问题
因为公安是专网,根据该项目的拓扑结构,我们假定一套方案,用3AS服务器作为时间源服务器,它将向省平台的各个设备及用于连接各下级平台的G100/G300进行时间同步,然后由G100/G300做为二级时间服务器向各自连接的平台所属设备进行同步。

3解决过程
选用我公司K806C卫星同步时钟对3as服务器进行时间校正,使其统一到标准时间(北京时间)。
在3as服务器上按照下文a)的方法设置ntp服务器
在G100/G300上按照下文d)的方法设置ntp客户端
在G100/G300上按照下文b)的方法设置ntp服务器
在其他机器上按照系统是linux还是windows来选择按c)或d)来设置ntp客户端

a) 在LINUX上设置NTP服务器

检查NTP服务是否安装
rpm -qa |grep ntp
在文件ntp.conf文件中添加:
restrict 10.10.30.0 mask 255.255.255.0 nomodify notrap
#向10.10.30网段开放,不能修改,可以根据需要添加多条
运行ntp服务
service ntpd start
查询ntp是否工作
ntpq –p
将ntp服务设置开机启动
chkconfig --levels 3 ntpd on

b) 在WINDOWS上设置NTP服务器
----已在WINDOWS XP和WINDOWS 2003上验证
导出注册表
打开CMD
regedit /e c:\ntp.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
修改注册表
修改Config项下"AnnounceFlags"值为=dword:00000005
修改Parameters项下" Type"值为= "NTP"
修改TimeProviders\NtpServer项下"Enabled"值为= =dword:00000001
导入注册表
打开CMD
regedit /s c:\ntp.reg
重启windows时间服务
net stop w32time && net start w32time

c) 在LINUX上设置NTP客户端

配置ntp.conf文件
将server 1.rhel.pool.ntp.org修改为:
service 10.10.30.1
//10.10.30.1为时间服务器地址,下同
执行同步命令
ntpdate 10.10.30.1
将同步命令加入定时器
crontab –e
//添加以下语句
0-59/5 * * * * /usr/sbin/ntpdate 10.10.30.1
验证ntp
//修改时间
date MMDDhhmmYYYY.ss
//5分钟后查看时间
Date

d) 对WINDOWS上设置NTP客户端
----已在WINDOWS XP和WINDOWS 2003上验证
导出注册表
打开CMD
regedit /e c:\ntp.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time
修改注册表
修改Parameters项下" Type"值为= "NTP"
修改Parameters项下"NtpServer"值为="10.10.30.1,0x1"
修改TimeProviders\NtpClient项下"Enabled"值为=dword:00000001
修改TimeProviders\NtpClient项下"SpecialPollInterval"值为=dword:0000012c
导入注册表

4其他问题

启动服务后立即执行时间同步可能失败,请等待不超过5分钟。
防火墙问题:防火墙可能导致同步失败,此时须关闭防火墙。
Linux下关闭防火墙:services iptable stop
Windows不能通过同步更新日期,必须手工将日期调整一致后方可进行时间同步。

5总结
至此,NTP时间同步已经设置完毕,那么有个问题就不得不提出:NTP是如何进行时间同步的呢?
NTP通过发送客户端/服务器间发送UDP包进行时间同步,通过客户端/服务器发送/接收UDP包的四个时间戳来计算客户端与服务器间的时间偏差。
T1:客户端发送时间
T2:服务器接收时间
T3:服务器发送时间
T4:客户端接收时间
假设UDP包来回客户端/服务器的时间相同,则可求出时间差t:
t = [(T2-T1)-(T4-T3)]/2
然后将客户端的时间增大t 即可完成时间同步。
详情参考: www.tongbushizhong.com

    推荐阅读