本教程介绍如何配置NTP( N etwork T ime P rotocol)服务器(使用ntpd),并将其加入到持续更多需求的NTP池项目中。
NTP池项目是一个DNS系统,可以平衡数百万个查询的负载,以便许多电子设备(如服务器,个人计算机,平板电脑,智能手机等)进行时间同步。 这意味着,用于提供精确实时时钟同步的所有查询都在池的所有服务器之间划分。
有很多因素会增加任何实时时钟的时间偏差。 列出最相关的:加速度和重力(包括引力波)。 如果一个时钟取决于一个物理设备,如石英振荡器也是温度变化的关键。
NTP协议对于实时时钟的不断同步是有用的,因此每天更多使用电子设备的实时时钟的精度有效降低。
没有NTP协议,依赖于访问准确的实时时钟的许多电子过程将是不可行的。
其中一些重要的过程是:加密,银行转账,数字标牌等。
由于时间同步服务对于我们的数字文明来说简单而重要,因此本教程邀请您设置服务器以加入NTP池项目,以便您帮助数百万数字交易正常运行。
1安装网络时间协议守护程序
这个包在所有linux发行版中都应该有相同的名字。
拱形系统
pacman -S ntp
基于Debian的系统
apt-get install ntp
基于红帽的系统
dnf install ntp
yum install ntp
基于SUSE的系统
zypper install ntp
2配置网络时间协议守护程序
在您决定将服务器加入NTP池项目之前,请仔细阅读: www.pool.ntp.org/join.html
如果您同意最后一个链接中提供的文本,则至少选择三个服务器将同步的NTP服务器。
请考虑服务器越接近服务器的时间越准确。
还建议选择相反方向的服务器,作为提供服务器之间链接的同一光纤或铜缆的故障的策略。
2.1选择静态NTP服务器
您可以使用这些第2层NTP服务器:
1a.ncomputers.org 1b.ncomputers.org 1c.ncomputers.org
您可以随机选择池的服务器:
pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org
您可以将de替换为您的国家/地区代码
1.de.pool.ntp.org 2.de.pool.ntp.org 3.de.pool.ntp.org
您可以在这里搜索其他服务器:
support.ntp.org/bin/view/Servers/StratumTwoTimeServers
support.ntp.org/bin/view/Servers/StratumOneTimeServers
2.2查询AAAA和A记录
一旦您知道要使用哪些服务器,就可以了解其公网IP地址。 它们最好具有IPv6连接。
你可以使用linux命令挖 :
dig 1a.ncomputers.org ANY
;; ANSWER SECTION:
1a.ncomputers.org. 26652 IN AAAA 2a02:c207:2010:9464::1
1a.ncomputers.org. 26652 IN A 173.212.196.208
或在线应用程式toolbox.googleapps.com/apps/dig
;ANSWER 1a.ncomputers.org. 86399 IN AAAA 2a02:c207:2010:9464::1 1a.ncomputers.org. 86399 IN A 173.212.196.208
2.2编辑/etc/ntpd.conf文件
一旦你知道你选择的服务器的IPv6和IPv4地址,然后将下面的内容复制并粘贴到/etc/ntpd.conf ,从而相应地替换粗体地址。
driftfile /var/lib/ntp/ntp.drift
restrict default kod nomodify nopeer noquery notrap
restrict localhost
server 2001:4ca0:0:103::81bb:fe20
server 2001:638:a000:1123:123::1
server 2001:62a:4:311::123
2.3重新启动网络时间协议守护程序
一旦配置了ntpd,就可以加载新的配置文件了。
基于init.d的init系统(例如:upstart,sysvinit)
service ntp restart
systemd作为init系统
systemctl restart ntp
2.4测试你的服务器
你必须等待五分钟,直到ntpd稳定时间来源: NTP服务器测试 。
3添加Web服务重定向(可选)
如果您的新NTP服务器也运行Web服务,您可能需要将Web查询重定向到正确的站点。 例如,在apache中,您应该添加此虚拟主机:
使用mod_alias
<VirtualHost *:80>
ServerName pool.ntp.org
ServerAlias *.pool.ntp.org *.ntppool.org
Redirect permanent / http://www.pool.ntp.org/
</VirtualHost>
使用mod_rewrite
<VirtualHost *:80>
ServerName pool.ntp.org
ServerAlias *.pool.ntp.org *.ntppool.org
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
4加入NTP池项目
最后,为了将您的服务器加入到NTP池项目中,请按照下列步骤操作:
- 转到manage.ntppool.org/manage
- 注册(如果您没有帐户)。
- 登录。
- 编写新的NTP服务器的主机名或其IPv4 / IPv6静态地址之一。
- 点击提交按钮。
希望您可以为每个服务器提供至少一个IPv4静态地址和一个IPv6静态地址。
有时你必须等待几分钟直到ntpd稳定实时时钟。
如果要求您的NTP服务器的物理位置,您只需要提供它所在的国家/地区。
一旦它出现在“ 服务器”列表中,您可能需要处理其服务的流量,定义其网络速度 。
对于OpenVZ虚拟服务器,建议您选择大约10MBit,因为服务器可能会关闭,因为每个OpenVZ实例通常支持少量的同时网络连接。
对于物理和KVM服务器,您可以选择最高的可用连接速度,即使您的连接速度低于它。
作为参考数据:我们的NTP服务器以选定的净速度1000MBit服务的流量大约为40 Kb / s,下游为40 Kb / s。