本文由安徽京准科技提供 请勿转载
网络时间协议(NTP)用来同步网络上不同主机的系统时钟。所有受管理的主机可以与一台名为NTP服务器的指定时间服务器同步时间。另一方面,NTP服务器则与任何公共NTP服务器或者你所选择的任何服务器同步自己的时间。所有NTP管理的设备其系统时间同步时可以精确到毫秒级。
在企业环境下,如果企业不想为NTP流量打开防火墙,就有必要搭建一台内部的NTP服务器,让员工可以使用内部服务器,而不是公共NTP服务器。我们在本教程中将介绍如何将CentOS系统配置成NTP服务器。在具体介绍细节之前,不妨先来了解NTP概念。
默认情况下,NTP服务器日志保存在/var/log/messages中。如果你想使用自定义的日志文件,也可以指定该文件的位置。
logfile /var/log/ntpd.log
如果你果真选择使用自定义的日志文件,确保更改其所有权和SELinux上下文。
chown ntp:ntp /var/log/ntpd.log
chcon -t ntpd_log_t /var/log/ntpd.log
现在启动NTP服务,确保它已添加到启动项。
systemctl restart ntp
systemctl enable ntp
验证NTP服务器时钟
我们可以使用ntpq命令,检查本地服务器的时钟如何通过NTP实现同步。
下面这张表解释了上述输出列。
控制对NTP服务器的访问
在默认情况下,NTP服务器允许来自所有主机的入站查询。如果你想过滤入站NTP同步连接,可以在防火墙中添加一条规则,以过滤流量。
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 123 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -j DROP
该规则将允许来自192.168.1.0/24的NTP服务器(经由端口UDP/123),拒绝来自其他所有网络的流量。你可以更新规则以符合自己的要求。
配置NTP客户端
- Linux
NTP客户端主机需要ntpdate程序包来对照服务器同步其时间。可以使用yum或apt-get,很容易安装该程序包。安装该程序包后,运行带服务器IP地址的命令。ntpdate <server-IP-address>
如果是基于RHEL和Debian的系统,命令完全一样。
- Windows
如果你使用Windows,在日期和时间设置下寻找“Internet时间”。 - 思科设备
如果你想同步思科设备的时间,可以从全局配置模式使用下面这个命令。
ntp server <server-IP-address>
来自其他厂商的具有NTP功能的设备在Internet时间方面有各自的参数。如果你想与NTP服务器同步时间,就要查阅设备的说明文档。
结束语
总而言之,NTP这种协议可以让你所有主机上的时钟保持同步。我们已演示了如何搭建一台NTP服务器,让具有NTP功能的设备对照该服务器同步其时间。
原文地址:https://blog.51cto.com/14615027/2450578