freebsd的NTP(时间)服务
2012-01-18 09:24
267 查看
NTP网络时间协议简介
NTP协议全称网络时间协议(Network Time Procotol)。它的目的是在国际互联网上传递统一、标准的时间。具体的实现方案是在网络上指定若干时钟源网站,为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。
NTP最早是由美国Delaware大学的Mills教授设计实现的,从1982件最初提出到现在已发展了将近20年,2001年最新的NTPv4精确度已经达到了200毫秒。对于实际应用,又有确保秒级精度的SNTP(简单的网络时间协议)。
NTP是一个跨越广域网或局域网的复杂的同步时间协议,它通常可获得毫秒级的精度。RFC2030[Mills 1996]描述了SNTP(Simple Network Time Protocol),目的是为了那些不需要完整NTP实现复杂性的主机,它是NTP的一个子集。通常让局域网上的若干台主机通过因特网与其他的NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。
NTP协 议是OSI参考模型的高层协议,符合UDP传输协议格式,拥有专用端口123。
随着时间的推移, 计算机的时钟会倾向于漂移。 网络时间协议 (NTP) 是一种确保您的时钟保持准确的方法。
FreeBSD 附带了 ntpd(8) NTP 服务器, 它可以用于查询其它的 NTP 服务器, 并配置本地计算机的时钟,或者为其它机器提供服务。
一般配置:NTP 是通过 /etc/ntp.conf 文件来进行配置的, 其格式在 ntp.conf(5) 中进行了描述。 下面是一个例子:
这里, server 选项指定了使用哪一个服务器,每一个服务器都独立一行。 如果某一台服务器上指定了 prefer (偏好) 参数, 如上面的 ntplocal.example.com, 则会优先选择这个服务器。如果偏好的服务器和其他服务器的响应存在显著的差别, 则丢弃它的响应,否则将使用来自它的响应, 而不理会其他服务器。 一般来说, prefer 参数应该标注在非常精确的 NTP 时源, 例如那些包含特殊的时间监控硬件的服务器上。
而 driftfile 选项,则指定了用来保存系统时钟频率偏差的文件。 ntpd(8) 程序使用它来自动地补偿时钟的自然漂移, 从而使时钟即使在切断了外来时源的情况下,仍能保持相当的准确度。
另外, driftfile 选项也保存上一次响应所使用的 NTP 服务器的信息。 这个文件包含了 NTP 的内部信息, 它不应被任何其他进程修改。
默认情况下, NTP 服务器可以被整个 Internet 上的主机访问。 如果在 /etc/ntp.conf 中指定 restrict 参数,则可以控制允许哪些机器访问您的服务器。
如果希望拒绝所有的机器访问您的 NTP 服务器, 只需在 /etc/ntp.conf 中加入:
如果只希望子网内的机器通过您的服务器同步时钟, 而不允许它们配置为服务器,或作为同步时钟的节点来时用, 则加入
这里, 需要把 192.168.1.0 改为您网络上的 IP 地址, 并把 255.255.255.0 改为您的子网掩码。
/etc/ntp.conf 可能包含多个 restrict 选项。 要了解进一步的细节, 请参见 ntp.conf(5) 的 Access Control Support(访问控制支持) 小节。
要让 NTP 服务器在系统启动时随之开启, 需要把 ntpd_enable="YES" 加入到 /etc/rc.conf 中。如果希望向 ntpd(8) 传递更多参数,需要编辑 /etc/rc.conf 中的
要在不重新启动机器的前提下启动服务器, 需要手工运行 ntpd, 并带上 /etc/rc.conf 中的
rc.conf: 37 lines, 894 characters.
1.ntptrace xxx.xxx.xxx.xxx
查找要对时的服务器状态,可以trace到一级时钟服务器,
2.ntpq -p
显示当前时钟服务器状态
3.ntpdata xxx.xxx.xxx.xxx
与时钟服务器对时,着先时钟服务器要先对时,才能用来提钟时钟服务
4.ntpd
既可以自动对时,又可对外提供时钟服务,先要配置/etc/ntp.conf
restrict 0.0.0.0 mask 0.0.0.0 notrust nomodify notrap //控制访问
server xxx.xxx.xxx.xxx //对时的外部服务器
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /etc/ntpd.drift
5.开机对时,/etc/rc.conf中添加
ntpdate_enable="YES"
ntpdate_program="/usr/sbin/ntpdate"
ntpdate_flags="-b"
6.每天(好像是每天)对时且对外提供时钟服务, 在/etc/rc.conf中添加
xntpd_enable="YES"
xntpd_program="/usr/sbin/ntpd"
xntpd_flags="-p /var/run/ntpd.pid"
7.端口
时钟服务器端口为123,udp , netstat -an
实例:教育网上做的时钟服务器:
vi /etc/ntp.conf
---------------------
server s1e.time.edu.cn prefer
server s2c.time.edu.cn
server s1c.time.edu.cn
server 210.72.145.44
driftfile /var/db/ntp.drift
--------------------------------
vi /etc/rc.conf
----------------------
ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"
ntpd_config="/etc/ntp.conf"
ntpd_sync_on_start="YES"
ntpd_flags="-p /var/run/ntpd.pid -f /var/db/ntpd.drift"
------------------------------------------------------------
在MS windows中使用,直接在“更改时间和日期设置”中的“Internet时间”中将自己设好的本地时钟服务器地址写入即可,注意你的本地防火墙必须放行NTP才可以。
在UNIX/linux下使用这个时钟服务器:
# vi /etc/ntp.conf
server 219.216.*.* prefer #这里指向你自己建好的内网时钟服务器
driftfile /etc/ntpd.drift
或者追加下面内容到crontab,这样,每过一个小时0分的时候就自动更新。
vi /etc/crontab
0 * * * * root ntpdate [ntp server IP] >/dev/null 2>&1
NTP协议全称网络时间协议(Network Time Procotol)。它的目的是在国际互联网上传递统一、标准的时间。具体的实现方案是在网络上指定若干时钟源网站,为用户提供授时服务,并且这些网站间应该能够相互比对,提高准确度。
NTP最早是由美国Delaware大学的Mills教授设计实现的,从1982件最初提出到现在已发展了将近20年,2001年最新的NTPv4精确度已经达到了200毫秒。对于实际应用,又有确保秒级精度的SNTP(简单的网络时间协议)。
NTP是一个跨越广域网或局域网的复杂的同步时间协议,它通常可获得毫秒级的精度。RFC2030[Mills 1996]描述了SNTP(Simple Network Time Protocol),目的是为了那些不需要完整NTP实现复杂性的主机,它是NTP的一个子集。通常让局域网上的若干台主机通过因特网与其他的NTP主机同步时钟,接着再向局域网内其他客户端提供时间同步服务。
NTP协 议是OSI参考模型的高层协议,符合UDP传输协议格式,拥有专用端口123。
随着时间的推移, 计算机的时钟会倾向于漂移。 网络时间协议 (NTP) 是一种确保您的时钟保持准确的方法。
FreeBSD 附带了 ntpd(8) NTP 服务器, 它可以用于查询其它的 NTP 服务器, 并配置本地计算机的时钟,或者为其它机器提供服务。
一般配置:NTP 是通过 /etc/ntp.conf 文件来进行配置的, 其格式在 ntp.conf(5) 中进行了描述。 下面是一个例子:
server 219.216.##.## prefer (别学这条,这是我内部网的时间服务器) server s2j.time.edu.cn (大连理工大学的ntp服务) server s2f.time.edu.cn (东北地区中心的ntp服务) server s1e.time.edu.cn (清华教育网中心的Ntp服务) server s1a.time.edu.cn (北邮的一级ntp服务器) server time.windows.com (呵呵,Windows都默认的) server asia.pool.ntp.org (国际的,ntp.org对亚洲的) server pool.ntp.org (国际的,对全球的) driftfile /var/db/ntp.drift
这里, server 选项指定了使用哪一个服务器,每一个服务器都独立一行。 如果某一台服务器上指定了 prefer (偏好) 参数, 如上面的 ntplocal.example.com, 则会优先选择这个服务器。如果偏好的服务器和其他服务器的响应存在显著的差别, 则丢弃它的响应,否则将使用来自它的响应, 而不理会其他服务器。 一般来说, prefer 参数应该标注在非常精确的 NTP 时源, 例如那些包含特殊的时间监控硬件的服务器上。
而 driftfile 选项,则指定了用来保存系统时钟频率偏差的文件。 ntpd(8) 程序使用它来自动地补偿时钟的自然漂移, 从而使时钟即使在切断了外来时源的情况下,仍能保持相当的准确度。
另外, driftfile 选项也保存上一次响应所使用的 NTP 服务器的信息。 这个文件包含了 NTP 的内部信息, 它不应被任何其他进程修改。
默认情况下, NTP 服务器可以被整个 Internet 上的主机访问。 如果在 /etc/ntp.conf 中指定 restrict 参数,则可以控制允许哪些机器访问您的服务器。
如果希望拒绝所有的机器访问您的 NTP 服务器, 只需在 /etc/ntp.conf 中加入:
restrict default ignore
注意: 这样做会禁止您的服务器访问在本地配置中列出的服务器。 如果您需要令 NTP 服务器与外界的 NTP 服务器同步时间, 则应允许指定服务器。 请参见联机手册 ntp.conf(5) 以了解进一步的细节。
如果只希望子网内的机器通过您的服务器同步时钟, 而不允许它们配置为服务器,或作为同步时钟的节点来时用, 则加入
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
这里, 需要把 192.168.1.0 改为您网络上的 IP 地址, 并把 255.255.255.0 改为您的子网掩码。
/etc/ntp.conf 可能包含多个 restrict 选项。 要了解进一步的细节, 请参见 ntp.conf(5) 的 Access Control Support(访问控制支持) 小节。
要让 NTP 服务器在系统启动时随之开启, 需要把 ntpd_enable="YES" 加入到 /etc/rc.conf 中。如果希望向 ntpd(8) 传递更多参数,需要编辑 /etc/rc.conf 中的
ntpd_flags。
要在不重新启动机器的前提下启动服务器, 需要手工运行 ntpd, 并带上 /etc/rc.conf 中的
ntpd_flags所指定的参数。 例如:
# ntpd -p /var/run/ntpd.pid ??????
eg:我的rc.conf中
ntpd_enable="YES" #ntpd_flags="-p /var/run/ntpd.pid"
rc.conf: 37 lines, 894 characters.
1.ntptrace xxx.xxx.xxx.xxx
查找要对时的服务器状态,可以trace到一级时钟服务器,
2.ntpq -p
显示当前时钟服务器状态
3.ntpdata xxx.xxx.xxx.xxx
与时钟服务器对时,着先时钟服务器要先对时,才能用来提钟时钟服务
4.ntpd
既可以自动对时,又可对外提供时钟服务,先要配置/etc/ntp.conf
restrict 0.0.0.0 mask 0.0.0.0 notrust nomodify notrap //控制访问
server xxx.xxx.xxx.xxx //对时的外部服务器
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /etc/ntpd.drift
5.开机对时,/etc/rc.conf中添加
ntpdate_enable="YES"
ntpdate_program="/usr/sbin/ntpdate"
ntpdate_flags="-b"
6.每天(好像是每天)对时且对外提供时钟服务, 在/etc/rc.conf中添加
xntpd_enable="YES"
xntpd_program="/usr/sbin/ntpd"
xntpd_flags="-p /var/run/ntpd.pid"
7.端口
时钟服务器端口为123,udp , netstat -an
实例:教育网上做的时钟服务器:
vi /etc/ntp.conf
---------------------
server s1e.time.edu.cn prefer
server s2c.time.edu.cn
server s1c.time.edu.cn
server 210.72.145.44
driftfile /var/db/ntp.drift
--------------------------------
vi /etc/rc.conf
----------------------
ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"
ntpd_config="/etc/ntp.conf"
ntpd_sync_on_start="YES"
ntpd_flags="-p /var/run/ntpd.pid -f /var/db/ntpd.drift"
------------------------------------------------------------
在MS windows中使用,直接在“更改时间和日期设置”中的“Internet时间”中将自己设好的本地时钟服务器地址写入即可,注意你的本地防火墙必须放行NTP才可以。
在UNIX/linux下使用这个时钟服务器:
# vi /etc/ntp.conf
server 219.216.*.* prefer #这里指向你自己建好的内网时钟服务器
driftfile /etc/ntpd.drift
或者追加下面内容到crontab,这样,每过一个小时0分的时候就自动更新。
vi /etc/crontab
0 * * * * root ntpdate [ntp server IP] >/dev/null 2>&1
相关文章推荐
- ntp服务及时间同步问题
- Cisco交换机时间服务(NTP)的设置
- Linux下 ntp 时间同步服务ntpd 出现 the NTP socket is in use, exiting 解决
- linux系统安装ntp网络时间服务
- NTP时间服务构建
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库——安装配置NTP服务,保证集群时间保持同步
- linux时间同步ntp服务的安装与配置
- 第一个NTP时间服务
- Linux上搭建ntp服务,实现时间同步
- Linux下 ntp 时间同步服务ntpd 出现 the NTP socket is in use, exiting 解决
- ntp同步时间服务
- 演示:理解并配置不同权限的用户、设置时间(NTP服务)
- NTP网络时间服务
- linux之NTP时间同步服务介绍
- NTP服务及时间同步(CentOS6.x)
- NTP 网络时间服务
- ntp时间服务
- Linux下 ntp 时间同步服务ntpd 出现 the NTP socket is in use, exiting 解决
- 系统时间同步及ntp服务的提供
- linux时间同步-NTP服务