除了维护准确的系统时钟外,NTP 守护程序还允许您网络上的机器(如果您愿意)作为 NTP 时间服务器运行。这样做将允许您本地网络上的其他机器以非常快速和准确的方式与您的 LAN 时间服务器同步,因为网络延迟被最小化。通过这种方式,网络上机器之间的时钟差异将尽可能地保持在最低限度。Mac,甚至 Windows 机器也能够与 NTP 服务器同步,如果你设置了一个。
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
此外,在您的服务器列表底部添加一些额外的行,以在您暂时失去 Internet 连接时提供您当前的本地时间作为默认时间:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
如果您在笔记本电脑或其他计算机上运行 ntpd 并间歇性地与 Internet 断开连接,这将防止任何麻烦。
总而言之,服务器列表应该类似于以下内容(这是我的,您的服务器可能会有所不同):
# You do need to talk to an NTP server or two (or three).
server nist1-dc.WiTime.net iburst
server ntp0.mcs.anl.gov
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
server 127.127.1.0
fudge 127.127.1.0 stratum 10
确保配置有效
现在您的/etc/ntp.conf文件中有一个正确的服务器列表,是时候运行守护程序并查看您是否正确同步了!确保您有活动的 Internet 连接,然后运行:
# Allow LAN machines to synchronize with this ntp server
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
# You may add as many (or few) CIDR address blocks to allow to synchronize with your machine as you'd like. I included those commonly used with Linksys (192.168.1.*) and SMC (192.168.2.*) routers.
Windows 机器使用称为简单网络时间协议 (SNTP) 的简化版 NTP,并且可以与 NTP 服务器同步。为了与您的新服务器同步,请双击时间并转到“Internet 时间”选项卡。将您的服务器的 IP 地址放在“服务器”字段中。我附上了一张 Windows XP 与 LAN 时间服务器同步的截图,如果有人感兴趣的话。
这是来自 Ubuntu 论坛的一个很好的方法:http ://ubuntuforums.org/showthread.php?t=862620
公然复制意大利面:
如何:设置 NTP 服务器
本教程介绍如何将您的计算机设置为本地网络时间协议 (NTP) 服务器和/或如何使用 NTP 守护程序定期维护准确的系统时间。
什么是NTP?
网络时间协议 (NTP) 是一种旨在将本地时钟与联网时间服务器准确同步的协议。时间服务器的 NTP 网络以分层方式设置,因此任何用户都可以在某个级别作为服务器进入系统(有关更多详细信息,请参阅 Wikipedia 页面)。
NTP 层次结构分为不同的级别,称为时钟层。最精确的层 0 是为原子钟等保留的。下一层层 1 通常由本地连接到层 0 时钟的联网机器使用。Stratum 2...15 是 NTP 机器,它们依次连接到较低级别的时钟并相互连接。
本指南介绍如何与 Stratum 1 和 2 机器准确同步,并全天保持系统时钟尽可能准确。还包括有关如何允许您的机器作为 Stratum 2/3 服务器运行在本地网络上的其他机器的部分。
我必须制作NTP服务器吗?
不……绝对不是!如果您对网络上的时钟与标准时间(以及彼此之间)有一些未知差异感到满意,那么您不必设置 NTP 服务器。我在笔记本电脑上设置了一台,以便在小于 1 毫秒的时间内同步本地网络上的多台机器,以进行生物工程实验。此外,还有各种其他优点,如下所述。
动机:
通常,未修改的 Ubuntu 机器使用 ntpdate (
/usr/sbin/ntpdate
) 与一些外部时间服务器定期同步时钟。这种方法以粗略的分辨率(通常每天一次)同步时钟。计算机时钟是不完善的,并且会在白天偏离(正确的)时间服务器。此外,不同计算机的时钟漂移率不同,因此到一天结束时,不同的本地联网机器之间可能存在显着差异,这可能会干扰某些操作(例如,在将源代码移动到不同的机器?)。
可以在网络上的机器上本地运行 NTP 守护程序。这有多个优点:首先,NTP 守护进程会逐渐“学习”本地机器的漂移率,并且可以全天纠正它。与上层时间服务器的同步一天要进行多次,并且可以同时使用许多不同的时间服务器以使同步更加准确。通过这种方式,NTP 守护程序充当准确的时间客户端,使您的系统时钟尽可能接近标准时间。
除了维护准确的系统时钟外,NTP 守护程序还允许您网络上的机器(如果您愿意)作为 NTP 时间服务器运行。这样做将允许您本地网络上的其他机器以非常快速和准确的方式与您的 LAN 时间服务器同步,因为网络延迟被最小化。通过这种方式,网络上机器之间的时钟差异将尽可能地保持在最低限度。Mac,甚至 Windows 机器也能够与 NTP 服务器同步,如果你设置了一个。
将机器设置为 NTP 服务器还有其他不那么个人的动机。首先,这样做可能会减少对更高级别 NTP 服务器的压力,因为 LAN 上的其他机器可能会与本地建立的时间服务器同步。此外,ntpdate 已被弃用,取而代之的是为 ntpd 使用 -q 标志(模仿其功能)。因此,即使您不想在后台不断运行 ntpd,ntpdate 最终也会被 ntpd 取代,所以您现在可能想熟悉它
如何使用 ntpd 维护准确的系统时钟
首先,安装 NTP 守护进程 (ntpd):
如前所述,ntpd 既可以充当客户端(同步您的系统时间),也可以充当服务器(为其他机器提供准确的时间)。
或者,您可能还想删除以前(已弃用)的时间同步程序 ntpdate。在 ntpd 工作之后这样做可能更明智
ntpd 的配置文件位于
/etc/ntp.conf
. 默认的 Ubuntu 文件可能需要进行一些修改才能获得最佳性能。您可能要修改的第一部分是要与之同步的服务器列表。默认部分可能如下所示:
为了尽可能获得最准确的时间,最好与多个不同的 NTP 服务器进行通信,并使它们尽可能靠近您的物理位置。网上有各种不同的服务器列表,最好的可能位于此处。关于要使用的适当服务器数量存在一些争论。一个比两个好,三个或更多可能是个好主意,只要你不要太过分。我使用的几个时间服务器的示例如下:
一旦找到了一些好的服务器,将它们添加到列表中,放在
'iburst'
最有希望的服务器之后。例如:这将导致 ntpd 在启动后非常快地与此服务器同步。否则,ntpd 将慢慢趋向于与服务器列表达成一致(这是它的本质),并且可能需要 15-20 分钟才能同步到足以充当网络其余部分的时间服务器。
此外,在您的服务器列表底部添加一些额外的行,以在您暂时失去 Internet 连接时提供您当前的本地时间作为默认时间:
如果您在笔记本电脑或其他计算机上运行 ntpd 并间歇性地与 Internet 断开连接,这将防止任何麻烦。
总而言之,服务器列表应该类似于以下内容(这是我的,您的服务器可能会有所不同):
现在您的
/etc/ntp.conf
文件中有一个正确的服务器列表,是时候运行守护程序并查看您是否正确同步了!确保您有活动的 Internet 连接,然后运行:接下来,监视您的系统日志以查看您是否与时间服务器同步:
在大约 10-15 秒内(如果您忘记在您最喜欢的服务器后面加上“iburst”,则最多需要 15-20 分钟),您应该会在系统日志中看到类似以下内容:
如果此消息从未出现,则您尚未与 NTP 服务器网络正确同步。使用以下命令检查您正在与之通信的 NTP 对等方列表:
如果 'delay'、'offset' 和 'jitter' 字段不为零并且您还没有同步,这可能意味着您只需要等待一段时间。再次检查您是否已将“iburst”参数插入服务器列表!我的同龄人,供参考,如下所示:
一旦 ntpd 运行并与您选择的时间服务器同步,您可以设置它以充当其他机器的时间服务器。为此,请将如下部分添加到
/etc/ntp.conf
:使用步骤 1-4 设置 NTP 服务器后,您可以通过各种方式将网络上的其他计算机与您的服务器同步。我在下面概述了其中的几个:
ntpd:
如果您在另一台机器上安装了 ntpd,则可以使用 ntp.conf 文件的服务器列表中的第一台服务器,或者可以使用 -q 选项同步一次,如下所示:
ntpdate:
如果您仍然在另一台机器上安装了 ntpdate,您可以使用它与您的服务器同步,如下所示:
注意:如果您在机器上运行 ntpd 并且由于某种原因仍想使用 ntpdate 来设置时间,则必须使用 -u 选项。
视窗:
Windows 机器使用称为简单网络时间协议 (SNTP) 的简化版 NTP,并且可以与 NTP 服务器同步。为了与您的新服务器同步,请双击时间并转到“Internet 时间”选项卡。将您的服务器的 IP 地址放在“服务器”字段中。我附上了一张 Windows XP 与 LAN 时间服务器同步的截图,如果有人感兴趣的话。
而已!整个过程并不难,但是对于以前没有过多处理过 NTP 网络的人来说可能会感到困惑。我希望这有帮助!如果您在设置服务器时遇到任何问题,请告诉我。
麦克风
链接
我发现以下链接很有帮助……您也可以!
有很多关于此的链接,在我看来,它们使程序复杂化。就我而言,我有一台机器充当代理服务器和防火墙,而我所有的其他机器都通过它连接到互联网。我不想在防火墙上打开端口。因此代理服务器必须是时间(ntp)服务器,其他机器(客户端)从它获取时间。
您必须在所有机器上安装 ntp,并且您也应该在所有机器上安装 ntpq。
首先,看看ntp是否工作。默认情况下,ntpd(ntp 守护程序)将在安装后立即运行,并且默认值应该可以工作。但是,ntp 不能立即生效,所以请稍等。然后,命令:
应该给你看起来像这样的输出:
或者:
如果是这样,您已连接并且您的时间服务器正在获取时间。如果没有,请使用
确保 ntp 正在运行,然后重试。也尝试重新启动ntp:
在建立连接之前可能需要一些“时间”(对不起!)。守护程序不会经常轮询服务器。上面输出中的“when”列显示了自轮询服务器以来的时间(以秒为单位)。
现在,您必须让时间服务器将时间发送到您的其他机器。
编辑
/etc/ntp.conf
服务器上的文件。您必须为您的网络添加一条线路。就我而言,我有一个 10.0.0.0 网络。在 ntp.conf 文件中,我添加了以下行:您必须为网络的每个分段添加一条广播线路。如果您的网络像我一样简单,那么您只需要像上面这样的一条线。现在,使用上面的命令重新启动 ntp,然后使用 ntpq 再次检查,您应该会看到:
瞧,它正在广播。
现在,您必须让每台客户端机器从您的广播服务器获取时间。在每一个上,编辑文件:
你会看到一些指定服务器的行。
添加一行
或无论您的服务器的地址是什么。然后使用上述命令在客户端计算机上重新启动 ntp。或者,您可以获取进程 ID 并杀死它,然后再次运行它。任何。
然后,在足够的时间后,使用 ntpq 检查:
你可以看到客户端正在使用时间服务器。
这需要一些时间。
安装 NTP,如果没有安装:
编辑配置文件以允许 NTP 服务接收请求:
取消注释这一行:
至:
重启NTP服务:
现在您的NTP 服务器必须正常工作并允许另一台计算机与您的同步。上述任何测试,例如
ntpdate -u YourComputer
应该可以正常工作。检查 NTP 服务是否正在运行:要确认您的 ntp 服务至少正在运行,它正在从上游服务器获取时间,运行