在现代服务器管理中,确保系统时间的精确性是至关重要的,无论是用于日志审计、分布式系统协调,还是证书验证,一个统一且准确的时间源都是基础,网络时间协议(NTP)就是这样一种用于同步网络中计算机时间的协议,本文将详细介绍在CentOS 7.3系统上配置NTP服务的完整流程,确保服务器时间与标准时间源保持同步。
安装NTP服务
需要确保系统已安装NTP软件包,CentOS 7.3默认可能未预装,可以通过yum
命令进行安装,打开终端,执行以下命令:
yum install -y ntp
该命令会自动下载并安装NTP服务(ntpd
)及其相关依赖。
配置NTP服务器
NTP服务的主配置文件位于/etc/ntp.conf
,在进行修改前,建议先备份原始文件:
cp /etc/ntp.conf /etc/ntp.conf.bak
使用文本编辑器(如vi
或nano
)打开配置文件:
vi /etc/ntp.conf
配置文件的核心在于指定时间服务器和设置访问控制。
指定时间服务器(Server)
文件中通常会有以server
开头的行,用于指定上层NTP服务器,可以将其注释掉或替换为更可靠的公共NTP服务器池,推荐使用pool.ntp.org
项目,它能根据地理位置自动分配最优的服务器,以下是一个推荐的配置示例:# Use public servers from the pool.ntp.org project. server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst
iburst
参数的作用是在初始同步时,以较快的频率发送多个数据包,从而加速首次同步过程。设置访问控制(Restrict)
为了安全起见,需要配置restrict
规则来控制哪些客户端可以查询或修改此NTP服务器,默认配置已经比较安全,通常包含以下行:# Hosts on local network are less restricted. #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # Permit public servers access for synchronization. restrict 0.centos.pool.ntp.org nomodify notrap noquery restrict 1.centos.pool.ntp.org nomodify notrap noquery restrict 2.centos.pool.ntp.org nomodify notrap noquery restrict 3.centos.pool.ntp.org nomodify notrap noquery # Default restrictions restrict default ignore restrict -6 default ignore restrict 127.0.0.1 restrict -6 ::1
这里的
nomodify
表示客户端不能修改服务器参数,notrap
防止控制消息陷阱,noquery
禁止客户端查询服务器状态,如果希望这台服务器为内网其他机器提供时间服务,可以取消对内网网段的注释并做相应修改。
启动与启用服务
配置文件修改完成后,保存并退出,接下来启动NTP服务,并将其设置为开机自启:
systemctl start ntpd systemctl enable ntpd
可以使用systemctl status ntpd
来检查服务是否正在正常运行。
防火墙配置
NTP服务使用UDP的123端口,如果系统启用了防火墙,需要开放该端口以允许客户端同步时间,使用firewall-cmd
进行配置:
firewall-cmd --permanent --add-service=ntp firewall-cmd --reload
验证同步状态
同步过程需要几分钟时间,可以使用ntpq -p
命令来查看NTP的同步状态,该命令会列出所有配置的时间服务器及其状态,输出示例如下:
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp1.ams1.nl.e 193.67.79.202 2 u 12 64 37 35.764 1.875 2.915
+ntp2.ams1.nl.e 193.67.79.202 2 u 11 64 37 36.841 2.842 3.001
下表解释了各列的含义:
列名 | 含义 |
---|---|
remote | 上层NTP服务器的名称或IP地址。 |
refid | 上层服务器同步的时间源。 |
st | Stratum(层级),表示服务器与标准时钟源的层级距离,值越小越准确。 |
t | 类型,u表示unicast(单播)。 |
when | 上一次成功同步后的时间(秒)。 |
poll | 同步的间隔时间(秒)。 |
reach | 八进制数,表示最近8次查询的可达性,377表示全部成功。 |
delay | 网络延迟。 |
offset | 本地时间与服务器时间的偏移量(毫秒)。 |
jitter | 抖动值,表示时间同步的稳定性。 |
最重要的是,观察remote
列前面的符号:
- 表示当前正在使用的同步源。
- 表示可用的候选同步源。
- 表示已被排除的同步源。
当看到一个号时,说明NTP同步已成功。
相关问答FAQs
*号,或者一直没有出现?** **解答:** NTP服务的同步是一个渐进的过程,尤其是在系统时间与标准时间偏差较大时,它不会立即跳变时间,而是通过微调(slewing)逐步缩小差距,这个过程可能需要5到15分钟,甚至更久,如果长时间没有同步,请检查:1)网络连接是否正常,能否ping通配置的NTP服务器;2)防火墙是否正确放行了UDP 123端口;3)
ntpd`服务状态是否正常。
问题2:如何让我的CentOS 7.3服务器作为内网的NTP时间服务器,为其他机器提供时间?
解答: 确保该服务器已成功与外部时间源同步(ntpq -p
有号),编辑/etc/ntp.conf
文件,在访问控制部分,为你的内网网段添加一条restrict
规则,如果你的内网是168.10.0/24
,可以添加如下行:restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
这条规则允许168.10.0
网段内的所有机器向这台服务器查询时间,但不能修改其配置,保存配置后,重启ntpd
服务(systemctl restart ntpd
),并在内网客户端上将NTP服务器指向这台服务器的内网IP即可。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复