NTP服务设置

来源:互联网 发布:.blog域名 编辑:程序博客网 时间:2024/05/16 15:40
  • WINDOWS:

――NT服务器端配置――
服务 端口123
1. 选择一台服务器作为时间同步服务器。

2. 运行Regedit,打开注册表编辑器。

3. 找到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\,在右侧窗口中将AnnounceFlags的值修改为4。

4. 继续找到注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\,在右侧窗口中将Enabled的值修改为1。

5. 在命令行中输入”net stop w32time && net start w32time“重启W32Time服务。

6. 修改Windows防火墙设置,允许123端口的UDP连接。

――客户端配置――
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient将 DWORD 值 Enabled 修改为 1。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\,在右侧窗口中将Enabled的值修改为0。
然后重新启动一下 W32Time 服务再试试看。
文章来自学IT网:http://www.xueit.com/html/2011-01/34-244810660201113130722453.html

----------------------------------------------------------------------------------------

用windows搭建ntp时间服务器(从上级获取时间,并为客户机提供时间)
分类: 基础知识及技巧 2009-08-26 09:41 646人阅读 评论(0) 收藏 举报
(摘自 http://support.microsoft.com/kb/816042/zh-cn )


1. 将服务器类型更改为 NTP。为此,请按照下列步骤操作:

a.  单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
b.  找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Parameters/Type
c.  在右窗格中,右键单击“Type”,然后单击“修改”。
d.  在“编辑值”的“数值数据”框中键入 NTP,然后单击“确定”。

2. 将 AnnounceFlags 设置为 5。为此,请按照下列步骤操作:a.  找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Config/AnnounceFlags
b.  在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
c.  在“编辑 DWORD 值”的“数值数据”框中键入 5,然后单击“确定”。

3. 启用 NTPServer。为此,请按照下列步骤操作:a.  找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpServer
b.  在右窗格中,右键单击“Enabled”,然后单击“修改”。
c.  在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。

4. 指定时间源。为此,请按照下列步骤操作:a.  找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Parameters/NtpServer
b.  在右窗格中,右键单击“NtpServer”,然后单击“修改”。
c.  在“编辑值”的“数值数据”框中键入 Peers,然后单击“确定”。

注意:Peers 是一个占位符,应替换为您的计算机从中获取时间戳的对等端列表(以空格分隔)。列出的每个 DNS 名称都必须是唯一的。必须在每个 DNS 名称后面附加 ,0x1。如果不在每个 DNS 名称后面附加 ,0x1,则在步骤 5 中所做的更改将不会生效。

5. 选择轮询间隔。为此,请按照下列步骤操作:a.  找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpClient/SpecialPollInterval
b.  在右窗格中,右键单击“SpecialPollInterval”,然后单击“修改”。
c.  在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。
注意:TimeInSeconds 是一个占位符,应替换为您希望各次轮询之间的间隔秒数。建议值为 900(十进制)。该值将时间服务器配置为每隔 15 分钟轮询一次。

6. 配置时间校准设置。为此,请按照下列步骤操作:a.  找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Config/MaxPosPhaseCorrection
b.  在右窗格中,右键单击“MaxPosPhaseCorrection”,然后单击“修改”。
c.  在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
d.  在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。
e.  找到并单击下面的注册表子项:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Config/MaxNegPhaseCorrection
f.  在右窗格中,右键单击“MaxNegPhaseCorrection”,然后单击“修改”。
g.  在“编辑 DWORD 值”的“基数”框中单击以选择“十进制”。
h.  在“编辑 DWORD 值”的“数值数据”框中键入 TimeInSeconds,然后单击“确定”。

注意:TimeInSeconds 是一个占位符,应替换为适当的值,如 1 小时 (3600) 或 30 分钟 (1800)。您选择的值将因轮询间隔、网络状况和外部时间源而异。

7. 退出注册表编辑器。
8. 在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time


一般来说我们没有必要自己搭建时间服务器,直接从网上最精确的时间服务器获取时间即可。
个人认为中国的时间比美国的准,微软的要比红帽的和欧洲linux的准,原因是网速,延时越小越准。

时间同步一级时间服务器更精确(stratum 1)、二级时间服务器(stratum 2)、……、15级时间服务器(stratum 15)。
stratum 1:
210.72.145.44    中国科学院国家授时中心
s1a.time.edu.cn  北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
time.windows.com  美国微软
-----------------------------------

我们强烈建议您将权威时间服务器配置为从硬件源中获取时间。当您将权威时间服务器配置为与 Internet 时间源同步时,不会有任何身份验证。要配置 Windows 时间服>
务以使用内部硬件时钟,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
找到并单击下面的注册表子项:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters在右窗格中,右键单击“ReliableTimeSource”,然后单击“修改”。
在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。
找到并单击下面的注册表子项:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters在右窗格中,右键单击“LocalNTP”,然后单击“修改”。
在“编辑 DWORD 值”的“数值数据”框中键入 1,然后单击“确定”。
退出注册表编辑器。
在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time在除时间服务器以外的其他所有计算机上运行以下命令,以便根据时间服务器重新设置本地计算机的时间:
w32tm -s注意:不得将时间服务器配置为与其自身同步。

-------------------------------
似乎问题还是在服务器端,无法找到NTP服务器,refid=0.0.0.0,你看下有别的程序占用123端口么?
  刚才google下NTP问题,你可以参考下这个网址:http://support.ntp.org/bin/view/Support/TroubleshootingNTP

谢谢16楼的文章。
问题已经解决了,原因是WINDOWS2003的注册表里面要修改两个地方:
1、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\enabled,做NTP服务器的话,需要修改为1
2、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags,修改为0X04,意为Always reliable time server
还有一个地方,即需要做一个更新(HOTFIX),更新system32下的w32time.dll文件(此更新可以在微软网站获得,地址见12楼marty兄的内容)。
此外的配置参见16楼老兄的

http://wenwen.soso.com/z/q319804044.htm
为什么windows xp和Internet同步连接时间会出错,并提示RPC服务器不可用
[ 标签:windows,internet,rpc服务器 ]  ¢丶风渲染了 回答:2 人气:6 解决时间:2011-09-13 13:44
满意答案好评率:100% 那是因为Windows系统的时间更新服务被禁用了,将服务开启就好了;

具体方法:开始---运行---services.msc--回车,找到“Windows Time”---右键“属性”---设置启动类型为“自动”,服务状态:启动。
运行 cmd 进入命令行,然后键入
w32tm /register
正确的响应为:W32Time 成功注册。

  • LINUX:

Centos安装配置NTP
http://blog.163.com/zhaomin_allen/blog/static/622448482012111184742965/
2012-12-11 22:11:22|  分类: 中间件和应用服务 |举报 |字号 订阅


下载LOFTER客户端
NTP是用来使系统和一个精确的时间源保持时间同步的协议。建议大家在自己管理的网络中建立至少一台时间服务器来同步本地时间,这样可以使得在不同的系统上处理和>
收集日志和管理更加容易,而且不会出错。

官方网站是:http://www.ntp.org/

从上面我们可以获得Linux下的源代码,以及互联网上的公开的NTP服务器,其地址列表如下:
http://ntp.isc.org/bin/view/Servers/NTPPoolServers
http://ntp.isc.org/bin/view/Servers/WebHome

一、NTP服务原理
NTP协议是通过Server和Client的方式进行的,通讯的过程是:
1、主机需要启动这个NTP服务
2、Client会向NTP Server发送出调校时间的message
3、然后NTP Server会送出目前的标准时间给Client
4、Client接收了来自Server的时间后,会据以调整自己的时间,以实现网络校时。

虽然网络上有很多公开的NTP服务器,但在使用的时候需要注意。由于网络传输是有延时的,当Client对一个延时比较厉害的服务器发送请求后,直到最 后Client获得时间
,期间可能会出现一个由于网络延时导致的的时间差。所以,建议大家选择离自己最近的NTP服务器作为校验的标准。

二、安装
NTP可以使用yum直接安装
# yum install -y  ntp

还可以下载源码编译安装
# tar zxvf ntp-4.2.6.tar.gz
# cd ntp-4.2.6
# ./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
# make && make install

三、NTP配置
NTP的配置文件/etc/ntp.conf默认配置内容为:

# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1

restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

#broadcast 192.168.1.255 key 42         # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 key 42             # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server
#manycastclient 239.255.254.254 key 42  # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42
# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

四、NTP的配置文件/etc/ntp.conf说明

1)restrict
在ntp.conf档案内可以使用restrict控制权限,设定方式为:
restrict [IP] mask [Netmask IP] [Parameter]
restrict <IP 地址> <子网掩码> | <网段> <子网掩码> [ignore|noquery|notrap|nomodiy|notrust|nokod]

其中parameter的参数主要有底下这些:
ignore
拒绝所有类型的NTP连线;

nomodiy
客户端不能更改NTP伺服器的时间参数,这即表示客户端不能使用ntpc与ntpq这两支程式来修改伺服器。 但用户端仍可透过这部主机来进行网路矫正;

noquery
用户端不能够使用ntpq、ntpc等指令来查询时间伺服器,等于不提供NTP的网路矫正服务;

notrap
不提供trap这个远端事件登录 (remote event logging) 的功能;

notrust
拒绝没有认证的用户端。

那如果你没有在parameter的地方加上任何参数的话,这表示“该IP或网段不受任何限制”。我们可以先关闭 NTP 的使用权限,然后在一个一个的启用允许登入的网段。

restrict配置示例:

# 允许本地所有操作
restrict 127.0.0.1
restrict -6 ::1
# 允许的局域网络段
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap

# 开放这个网段(192.168.1.1 ~ 192.168.1.255)但不能修改
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# 开放这个(192.168.1.1)IP但不能修改
restrict 192.168.1.1 mask 255.255.255.0 nomodify notrap

2)server
server设定上层NTP伺服器,设定方式为:
server [IP or Hostname] [prefer]

在server后端可以接IP或主机名,perfer表示优先使用。

server示例:
# 使用上层的internet ntp服务器
server 220.130.158.71 prefer
server 220.130.158.51
# 如果无法与上层ntp server通信以本地时间为标准时间
server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

3)driftfile
driftfile记录时间误差,设定的方式如下∶
driftfile [可以被 ntpd 写入的目录与档案]

因为预设的NTP Server本身的时间计算是依据 BIOS 的晶片震荡周期频率来计算的,但是这个数值与上层Time Server不见得会一致啊。所以NTP这个daemon (ntpd) 会自动
的去计算我们自己主机的频率与上层Time server的频率,并且将两个频率的误差记录下来,记录下来的档案就是在driftfile后面接的完整档名当中。

注意:
driftfile后面接的档案需要使用完整路径档名;
该档案不能是连结档;
该档案需要设定成ntpd这个daemon可以写入的权限;
该档案所记录的数值单位为∶百万分之一秒 (ppm)。
五、启动服务
# /etc/rc.d/init.d/ntpd start
或者
# service ntpd start
为了使NTP服务可以在系统引导的时候自动启动,执行:
# chkconfig ntpd on

六、验证服务端同步
在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 Jun  5 19:58:11 2012

remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+61.153.197.226  204.152.184.72   2 u  126  128  377   82.990  -14.722   5.011
*114.80.81.13    216.218.192.202  2 u   71  128  377   54.234   -9.614   8.453

七、客户端同步
在客户端使用ntpdate进行更新时间
# ntpdate  192.168.0.120

也可以设置自动调整时间
# crontab -e

编辑文件添加下面一行
13 5,9,14,19 * * * /usr/sbin/ntpdate 172.20.225.90

该语句是在5、9、14、19点13分对时。

八、NTP相关档案和指令

/etc/ntp.conf
这是NTP唯一配置文件。

/usr/share/zoneinfo/
这个目录不是NTP提供的而是Linux本身提供的,在这个目录下的档案规定了各主要时区的时间设定档案。例如台湾地区的时区设定档案在/usr/share/zoneinfo/Asia/Taipei,这个目录里面的档案与下面要谈的两个档案clock与localtime是有关系的。

/etc/sysconfig/clock
这个目录不是NTP提供的而是Linux的主要时区设定档案啊,每次开机后Linux 会自动的读取这个档案来设定自己系统所预设要显示的时间说。在我们台湾地区的本地时间设
定中,这个档案内应该会出现一行“ZONE="Asia/Taipei"”的字样, 这表示我们的时间设定档案要使用/usr/share/zoneinfoe/Asia/Taipei设置档案。

/etc/localtime
这个档案是本地端的时间设定档,clock档案里面规定了使用的时间设定档 (ZONE) 为/usr/share/zoneinfo/Asia/Taipei,此时Linux系统就会将Taipei那个档案复制一份>
成为/etc/localtime,系统时间显示就会以Taipei那个时间设定档案为准。

如果现在我这部主机搬到日本东京去了,那么我应该如何调整时间呢?因为localtime主要是分析与UTC 时间的时差来显示的格式,只要将/etc/sysconfig/clock里面的ZONE设定成为Asia/Tokyo并且将/usr/share/zoneinfo/Asia/Tokyo复制到/etc/localtime,这样就能显示时间为日本东京的时间了。

/bin/date
这个是Linux系统上面常见的日期与时间相关指令。

/sbin/hwclock
这是一个root才能执行的指令,因为Linux系统上面BIOS时间与Linux系统时间是分开的,所以使用date这个指令调整了时间之后,还需要使用hwclock才能将修改过后的时>
间写入 BIOS 当中。

/usr/sbin/ntpd
这就是NTP的主要daemon档案,要启动他才能提供NTP服务。这个指令预设会参考/etc/ntp.conf里面的设定喔。

/usr/sbin/ntpdate
这个就是Client端用来连接NTP Server的主要执行档案,如果您没有要启用NTP而仅想要使用NTP Client功能的话,那么只会用到这个指令而已啦。

/usr/sbin/ntptrace
这个指令可以用来追踪某部时间伺服器的时间对应关系,底下我们会介绍如何使用。

原创粉丝点击