Linux下配置NTP服务器
配置方法:
1、ntp服务安装
NTP服务在RHEL5.x中式默认安装的软件包,可用rpm -qa |grep
ntp检查是否安装,如果未安装可使用如下命令安装与删除NTP服务器软件包
#使用rpm方式安装
rpm -ivh ntp-4.2.2p1-8.el5.i386.rmp
#使用yum方式安装
yum -y install ntp.i*
#使用rpm方式删除
rpm -e ntp-4.2.2pl-8.el5.i386.rpm
#使用yum方式删除
yum -y remove ntp.i*
2、ntp服务配置
在ntp服务安装完成后,需要修改ntp服务配置文件。ntp服务主配置文件/etc/ntp.conf
2.1 ntp服务的启动、暂停
NTP属于system
V服务,其启动、暂停相关命令如下:
#启动
service ntpd
start
#停止
Service ntpd
stop
#重新加载
service ntpd
reload
#查看当前启动状态
service ntpd
status
2.2 ntp服务自动加载
设置ntp服务下一次开机运行状态可通过命令配置
#在运行级别2、3、4、5上设置为自动运行
chkconfig
ntpd on
#在运行级别2、3、4、5上设置为不自动运行
chkconfig
ntpd off
#在运行级别3、5上设置为自动运行
chkconfig
ntpd --level 35 on
#在运行级别3、5上设置为不自动运行
chkconfig
ntpd --level 35 off
2.3 配置信息
配置ntp,将Internet上的时间服务器作为内部标准时间来源,过程如下
1)修改/etc/ntp.conf文件
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6::1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#指定Internet上的时间服务器
restrict 207.46.232.182 mask 255.255.255.255 nomodify notrap noquery
server 207.46.232.182
server 127.127.1.0
fudge 127.127.1.0 stratum 10
keys /etc/ntp/keys
#指定NTP服务器日志文件
logfile /var/log/ntp
2)修改/etc/ntp/stpe-tickers文件,内容如下(当ntpd服务启动时,会自动与该文件中记录的上层NTP服务进行时间校对)
207.46.232.182
127.127.1.0
3)修改/etc/sysconfig/ntpd文件,内容如下:
#允许BIOS与系统时间同步,也可以通过hwclock -w 命令
SYNC_HWCLOCK=yes
4)在配置完成并重新启动服务后,可通过ntpstat
命令显示本机上一次与上层ntp服务器同步时间的情况,也可以使用ntpq -p 查看本机与上层ntp服务器通信情况,
2.4 图形界面配置NTP
图形界面下直接用system-config-date, 在“Network Time Protocol”选项页指定NTP服务器后勾选“Synchronize system clock before startingservice”,将ntpd服务设置为自动运行即可。
2.5 客户端访问
1)Linux客户端可通过图形界面进行配置,也可以通过ntpdate命令立即与NTP服务器及行时间校对。
ntpdate 192.168.0.10
2)Windows客户端,只需双击任务栏右下角的时钟,选择“Internet时间”选项页,输入NTP服务IP地址或FQDN,并勾选“自动与Internet时间服务器同步”即可。
Windows默认7天自动更新一次,可通过修改注册表HKEY_LOCAL_MACHINE\SYSTEM
\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\SpecialPollInterval 默认单位为妙,修改后重新启动即可生效。
在 Windows Server 2016 之前,W32Time 服务并不是为了满足时间敏感型应用程序的需要。 但是,通过 Windows Server 2016 的更新,现在可以在域中实施可达到 1 毫秒准确性的解决方案。 有关详细信息,请参阅 Windows 2016 精确时间和用于针对高精度环境配置 Windows 时间服务的支持边界。默认配置不经常同步时间或未加入域的计算机与 time.windows.com 同步。 因此,在网络连接断断续续或无网络连接的计算机上,无法保证时间精度。
AD DS 林具有预先确定的时间同步层次结构。 Windows 时间服务将层次结构内的计算机的时间与最精确的参考时钟同步。 如果在一台计算机上配置了多个时间源,则 Windows 时间会根据计算机与该时间源的同步能力,使用 NTP 算法从配置的源中选择最佳的时间源。 Windows 时间服务不支持来自广播或多播对等方的网络同步。 有关这些 NTP 功能的详细信息,请参阅 IETF RFC Database 中的 RFC 1305。
运行 Windows 时间服务的每台计算机都使用该服务来保持最精确的时间。 默认情况下,作为域成员的计算机会充当时间客户端,因此在大多数情况下,不需要配置 Windows 时间服务。 但 Windows 时间服务可配置为从指定的参考时间源请求时间,还可为客户端提供时间。
计算机时间的精确程度称为“层次”。 网络上最精确的时间源(如硬件时钟)占据最低层次等级或一级层次。 这个精确的时间源称为“参考时钟”。 直接从参考时钟获取时间的 NTP 服务器占据的层次比参考时钟高一级。 从 NTP 服务器获取时间的资源与参考时钟隔了两个步骤,因此占据的层次比最精确的时间源高两级,依此类推。 随着计算机的层次数目的增加,其系统时钟的时间可能会变得不太精确。 因此,任何计算机的层次级别都表明了计算机与最精确时间源的同步程度。
W32Time 管理器收到时间样本时,它将使用 NTP 中的特殊算法来确定哪些时间样本最适合使用。 该时间服务还会使用另一组算法来确定哪些配置的时间源最精确。 当时间服务根据以上标准确定了哪个时间样本最佳后,它会调整本地时钟频率,使其朝正确时间收敛。 如果通过调整本地时钟频率,本地时钟和所选的精确时间样本之间的时间差(也称为“时间偏差”)太大而无法更正,则时间服务会将本地时钟设置为正确时间。 这种调整时钟频率或直接更改时钟时间称为“时钟约束”。
Windows 时间服务体系结构
Microsoft 时间服务由以下组件构成:
服务控制管理器
Windows 时间服务管理器
时钟约束
时间提供程序
下图显示了 Windows 时间服务的体系结构。
Windows 时间服务体系结构
服务控制管理器负责启动和停止 Windows 时间服务。 Windows 时间服务管理器负责启动操作系统随附的 NTP 时间提供程序的操作。 Windows 时间服务管理器控制 Windows 时间服务的所有功能和所有时间样本的合并。 除了提供当前系统状态的信息(例如当前时间源或上次更新系统时钟的时间),Windows 时间服务管理器还负责在事件日志中创建事件。
时间同步过程包括以下步骤:
输入提供程序从配置的 NTP 时间源请求和接收时间样本。
然后,将这些时间样本传递到 Windows 时间服务管理器,后者会收集所有样本并将其传递给时钟约束子组件。
时钟约束子组件应用 NTP 算法,从而选择最佳的时间样本。
通过调整时钟频率或直接更改时间,时钟约束子组件可以将系统时钟的时间调整为最精确的时间。
如果计算机已被指定为时间服务器,则它可以在此过程中的任何时间点将时间发送到任何请求时间同步的计算机。
Windows 时间服务时间协议
时间协议确定两台计算机时钟同步的相近程度。 时间协议负责确定最佳可用时间信息并收敛时钟,以确保在不同的系统上保持一致的时间。
Windows 时间服务使用网络时间协议 (NTP) 来帮助通过网络同步时间。 NTP 是一种 Internet 时间协议,其中包括同步时钟所需的约束算法。 NTP 是比某些 Windows 版本中使用的简单网络时间协议 (SNTP) 更准确的时间协议;但是,W32Time 继续支持 SNTP,以便能够与运行基于 SNTP 的时间服务(例如 Windows 2000)的计算机后向兼容。
网络时间协议
网络时间协议 (NTP) 是 Windows 时间服务在操作系统中使用的默认时间同步协议。 NTP 是一种容错、高度可缩放的时间协议,常用于通过指定的时间参考来同步计算机时钟。
NTP 时间同步发生在一段时间内,涉及通过网络传输 NTP 数据包。 NTP 数据包中的时间戳包括参与时间同步的客户端和服务器中的时间样本。
NTP 依赖参考时钟定义要使用的最精确时间,并将网络上的所有时钟与该参考时钟同步。 NTP 使用协调世界时 (UTC) 作为当前时间的通用标准。 UTC 不受时区影响,支持在世界各地使用 NTP,无需考虑时区设置。
NTP 算法
NTP 包括两种算法(时钟筛选算法和时钟选择算法),以帮助 Windows 时间服务确定最佳时间样本。 时钟筛选算法用于筛选从查询时间源接收的时间样本,并从每个源确定最佳时间样本。 然后,时钟选择算法会确定网络上最精确的时间服务器。 随后将此信息传递给时钟约束算法,该算法使用收集的信息更正计算机的本地时钟,同时弥补因网络延迟和计算机时钟不准导致的错误。
在轻度到中度的网络和服务器负载情况下,NTP 算法最为精确。 与考虑网络传输时间的任何算法一样,NTP 算法在极端网络拥塞的情况下可能会表现不佳。 有关 NTP 算法的详细信息,请参阅 IETF RFC Database 中的 RFC 1305。
NTP 时间提供程序
Windows 时间服务是一个完整的时间同步包,它可以支持各种硬件设备和时间协议。 若要启用此支持,该服务将使用可插入时间提供程序。 时间提供程序负责(从网络或硬件)获取精确的时间戳,或通过网络将这些时间戳提供给其他计算机。
NTP 提供程序是操作系统随附的标准时间提供程序。 NTP 提供程序采用 NTP 版本 3 为客户端和服务器指定的标准,可与 SNTP 客户端和服务器交互,以便与 Windows 2000 和其他 SNTP 客户端后向兼容。 Windows 时间服务中的 NTP 提供程序由以下两个部分组成:
NtpServer 输出提供程序。 这是对网络上的客户端时间请求作出响应的时间服务器。
NtpClient 输入提供程序。 这是一个时间客户端,它从另一个源(硬件设备或 NTP 服务器)获取时间信息,并且可以返回对同步本地时钟非常有用的时间样本。
虽然这两个提供程序的实际操作密切相关,但它们似乎与时间服务无关。 从 Windows 2000 Server 开始,当 Windows 计算机连接到网络时,它将被配置为 NTP 客户端。 此外,运行 Windows 时间服务的计算机仅默认尝试与域控制器或手动指定的时间源同步时间。 以上是首选的时间提供程序,因为它们会自动成为可用且安全的时间源。
NTP 安全性
在 AD DS 林中,Windows 时间服务依赖于标准域安全功能来强制对时间数据进行身份验证。 充当时间服务器的域成员计算机和本地域控制器之间发送的 NTP 数据包的安全性基于共享密钥身份验证。 Windows 时间服务使用计算机的 Kerberos 会话密钥在通过网络发送的 NTP 数据包上创建经过验证的签名。 NTP 数据包不在 Net Logon 安全通道内传输。 相反,计算机请求域层次结构中的域控制器的时间时,Windows 时间服务要求对时间进行身份验证。 然后,域控制器以 64 位值的形式返回所需的信息,该值已使用 Net Logon 服务中的会话密钥进行身份验证。 如果返回的 NTP 数据包未用计算机的会话密钥进行签名,或者未正确签名,则会拒绝该时间。 所有此类身份验证失败都记录在事件日志中。 通过这种方式,Windows 时间服务为 AD DS 林中的 NTP 数据提供安全性。
通常,Windows 时间客户端会自动从同一个域中的域控制器获得同步的精确时间。 在林中,子域的域控制器与父域中的域控制器同步时间。 当时间服务器将经过身份验证的 NTP 数据包返回到请求时间的客户端时,会通过域间信任帐户定义的 Kerberos 会话密钥对数据包进行签名。 域间信任帐户是在新的 AD DS 域加入林时创建的,而 Net Logon 服务管理会话密钥。 通过这种方式,在目录林根级域中配置为可靠的域控制器将成为父域和子域中所有域控制器的经过身份验证的时间源,并间接用于域树中的所有计算机。
Windows 时间服务可以配置为在林之间工作,但请务必注意,此配置不安全。 例如,NTP 服务器可以在其他林中使用。 但是,因为该计算机在其他的林中,所以没有用于对 NTP 数据包进行签名和身份验证的 Kerberos 会话密钥。 若要从其他林中的计算机获取精确的时间同步,客户端需要对该计算机的网络访问权限,并且必须将时间服务配置为使用其他林中的特定时间源。 如果手动将客户端配置为从其自身的域层次结构之外的 NTP 服务器访问时间,则不会对客户端和时间服务器之间发送的 NTP 数据包进行身份验证,因此不安全。 即使实施了林信任,Windows 时间服务在林之间也不会安全。 虽然 Net Logon 安全通道是适用于 Windows 时间服务的身份验证机制,但不支持跨林进行身份验证。
Windows 时间服务支持的硬件设备
基于硬件的时钟(如 GPS 或无线电时钟)通常用作高度精度的参考时钟设备。 默认情况下,Windows 时间服务 NTP 时间提供程序不支持将硬件设备直接连接到计算机,尽管可以创建支持此类连接的基于软件的独立时间提供程序。 这种类型的提供程序与 Windows 时间服务相结合,可提供可靠的稳定时间参考。
像铯原子钟或全球定位系统 (GPS) 接收器之类的硬件设备通过遵循获取精确时间定义的标准来提供精确的当前时间。 铯原子钟极其稳定,不受温度、压力和湿度等因素的影响,但也很昂贵。 GPS 接收器的操作开销更低,并且也是精确的参考时钟。 GPS 接收器从卫星获取时间,而卫星则从铯原子钟获取时间。 在不使用独立时间提供程序的情况下,Windows 时间服务器可以通过连接到外部 NTP 服务器来获取时间,该该服务器通过电话或 Internet 连接到硬件设备。 像美国海军天文台之类的组织提供连接到极其可靠的参考时钟的 NTP 服务器。
许多 GPS 接收器和其他时间设备可以在网络上充当 NTP 服务器。 你可以将 AD DS 林配置为仅当这些外部硬件设备也充当网络上的 NTP 服务器时,才根据这些外部硬件设备同步时间。 为此,请将充当林根中主域控制器 (PDC) 仿真器的域控制器配置为与 GPS 设备提供的 NTP 服务器同步。 为此,请参阅在目录林根级域中的 PDC 仿真器上配置 Windows 时间服务。
简单网络时间协议
简单的网络时间协议 (SNTP) 是一种简化的时间协议,适用于不需要 NTP 提供的精度的服务器和客户端。 SNTP 是更基本的 NTP 版本,并且是 Windows 2000 中使用的主要时间协议。 由于 SNTP 和 NTP 的网络数据包格式相同,这两种协议可彼此协作。 这两者之间的主要区别在于 SNTP 不具有 NTP 提供的错误管理和复杂筛选系统。 有关简单网络时间协议的详细信息,请参阅 IETF RFC Database 中的 RFC 1769。
时间协议互操作性
Windows 时间服务可在运行 Windows 2000、Windows XP 和 Windows Server 2003 的计算机的混合环境中运行,因为在 Windows 2000 中使用的 SNTP 协议可与 Windows XP 和 Windows Server 2003 中的 NTP 协议彼此协作。
Windows NT Server 4.0 中名为 TimeServ 的时间服务通过 Windows NT 4.0 网络同步时间。 TimeServ 是作为“Microsoft Windows NT 4.0 资源工具包”的一部分提供的附加功能,不提供 Windows Server 2003 所需的时间同步的可靠度 。
Windows 时间服务可与运行 Windows NT 4.0 的计算机彼此协作,因为它们可以与运行 Windows 2000 或 Windows Server 2003 的计算机同步时间;但是,运行 Windows 2000 或 Windows Server 2003 的计算机不会自动发现 Windows NT 4.0 时间服务器。 例如,如果你的域配置为使用基于域层次结构的同步方法来同步时间,并且你希望域层次结构中的计算机与 Windows NT 4.0 域控制器同步时间,则必须手动将这些计算机配置为与 Windows NT 4.0 域控制器同步。
Windows NT 4.0 使用的时间同步机制比 Windows 时间服务使用的更简单。 因此,为了确保通过你的网络精确地同步时间,建议将任何 Windows NT 4.0 域控制器升级为 Windows 2000 或 Windows Server 2003。
Windows 时间服务进程和交互
Windows 时间服务用于在网络上同步计算机的时钟。 网络时间同步过程也称为时间收敛,每台计算机从更精确的时间服务器访问时间时,网络中就会发生此过程。 时间收敛涉及一个过程,通过此过程权威服务器将当前时间以 NTP 数据包的形式提供给客户端计算机。 数据包中提供的信息指示是否需要对计算机的当前时钟时间进行调整,以便将其与更精确的服务器同步。
在时间收敛过程中,域成员将尝试与同一域中的任何域控制器同步时间。 如果计算机是域控制器,则它将尝试与更权威的域控制器进行同步。
如果计算机运行 Windows XP Home Edition 或未加入域的计算机,则不会尝试与域层次结构同步,但会默认配置为从 time.windows.com 中获取时间。
若要将运行 Windows Server 2003 的计算机确立为权威计算机,则必须将该计算机配置为可靠时间源。 默认情况下,安装在 Windows Server 2003 域上的第一个域控制器将自动配置为可靠时间源。 由于它是域的权威计算机,因此必须配置为与外部时间源同步,而不是与域层次结构同步。 此外,在默认情况下,所有其他 Windows Server 2003 域成员都配置为与域层次结构同步。
建立 Windows Server 2003 网络后,你可以将 Windows 时间服务配置为使用以下其中一个同步选项:
基于域层次结构的同步
手动指定的同步源
所有可用的同步机制
不同步。
以下部分介绍了每种同步类型。
基于域层次结构的同步
基于域层次结构的同步使用 AD DS 域层次结构来查找同步时间所用的可靠来源。 根据域层次结构,Windows 时间服务确定每个时间服务器的精确度。 在 Windows Server 2003 林中,具有主域控制器 (PDC) 仿真器操作主机角色的计算机(位于目录林根级域中)保留最佳时间源的位置,除非已配置其他可靠时间源。 下图说明了域层次结构中的计算机之间的时间同步路径。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)