CentOS 7系统下如何配置NTP服务器实现内网时间统一?

在分布式系统和集群管理中,时间的精确同步是保障系统稳定、数据一致和安全认证的关键因素,日志文件的时间戳、数据库事务的顺序、加密证书的有效性验证等,都依赖于统一且准确的时间,网络时间协议(NTP)正是为了解决这一问题而设计的,它通过分层的时间服务器体系,将标准时间(UTC)同步到网络中的各个设备,在CentOS系统上配置NTP服务器,使其为内网其他客户端提供时间同步服务,是一项基础而重要的系统管理任务。

CentOS 7系统下如何配置NTP服务器实现内网时间统一?

本文将详细介绍如何在CentOS系统上配置NTP服务器,涵盖现代主流的Chrony工具和传统的NTPd工具,并提供清晰的步骤和配置说明。

准备工作

在开始配置之前,首先需要确保服务器的时区和基础时间是正确的,虽然NTP服务会自动校准,但一个合理的初始状态可以加快同步速度。

使用timedatectl命令可以查看和设置时区:

# 查看当前时区
timedatectl
# 如果时区不正确,可以设置为上海时区
sudo timedatectl set-timezone Asia/Shanghai

确认时区无误后,我们就可以开始安装和配置NTP服务了。

使用Chrony(适用于CentOS 8/7,推荐)

Chrony是现代Linux发行版(包括CentOS 7及以后版本)默认的时间同步软件,它设计用于在各种网络条件下(包括间歇性网络连接、拥堵网络和虚拟机环境)都能快速、准确地同步时间,相比传统的NTPd具有显著优势。

安装Chrony

通常Chrony在系统安装时已默认安装,如果未安装,可以使用以下命令进行安装:

# CentOS 8 使用 dnf
sudo dnf install -y chrony
# CentOS 7 使用 yum
sudo yum install -y chrony

配置Chrony

Chrony的主配置文件为/etc/chrony.conf,默认配置已经可以使其作为NTP客户端从公共服务器同步时间,要将其配置为NTP服务器,需要修改以允许内网客户端查询。

使用编辑器打开配置文件:

sudo vi /etc/chrony.conf

主要关注以下几项配置:

  • poolserver 行:指定上层时间服务器,默认配置通常使用公共池,如pool 2.centos.pool.ntp.org iburst,一般保留即可。
  • allow 行:这是关键配置,它指定了哪些子网的客户端可以向此服务器查询时间,默认情况下是禁用的(allow行被注释或不存在),我们需要添加一行来允许内网访问,如果内网网段是168.1.0/24,则添加:
    allow 192.168.1.0/24
  • local stratum 10 行:当此服务器与公网时间源失联时,可以继续以自身时间为标准,为内网提供服务。stratum(层级)值越高,表示时间精度越低,建议取消此行注释,使其在断网情况下仍能作为本地时间源。
    local stratum 10

修改完成后,保存并退出。

CentOS 7系统下如何配置NTP服务器实现内网时间统一?

启动服务与配置防火墙

配置文件修改后,需要启动Chrony服务并设置开机自启:

sudo systemctl start chronyd
sudo systemctl enable chronyd

必须在防火墙中开放NTP服务使用的UDP 123端口:

sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload

验证同步状态

在服务器上,可以使用chronyc命令行工具来查看同步状态:

# 查看时间源信息
chronyc sources -v
# 查看详细同步状态
chronyc tracking

chronyc sources -v的输出中,^开头的行表示服务器,标记表示当前正在同步的源。chronyc tracking则显示时间偏差、频率等详细信息。

使用NTPd(适用于CentOS 6/7)

对于较旧的系统或特定环境,可能仍会使用传统的NTPd。

安装NTPd

sudo yum install -y ntp

配置NTPd

NTPd的主配置文件是/etc/ntp.conf

同样,编辑该文件:

sudo vi /etc/ntp.conf
  • server 行:指定上层时间服务器,如 server 0.centos.pool.ntp.org iburst

  • restrict 行:这是NTPd的核心访问控制配置,需要添加规则来允许内网客户端查询,同时控制默认访问权限,建议的配置如下:

    # 默认禁止所有操作
    restrict default kod nomodify notrap nopeer noquery
    # 允许本地所有操作
    restrict 127.0.0.1
    # 允许内网客户端进行时间同步和查询
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

    nomodify notrap参数允许客户端查询时间但不能修改服务器配置。

    CentOS 7系统下如何配置NTP服务器实现内网时间统一?

启动服务与配置防火墙

sudo systemctl start ntpd
sudo systemctl enable ntpd
# 防火墙配置与Chrony相同
sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload

验证同步状态

使用ntpq -p命令查看NTPd的同步状态:

ntpq -p

输出中的号表示当前同步源,号表示备选源。

特性ChronyNTPd
默认系统CentOS 7+CentOS 6 及更早版本
软件包chronyntp
配置文件/etc/chrony.conf/etc/ntp.conf
主要优点同步速度快、适应性强(尤其VM和不稳定网络)传统、稳定,功能全面
适用场景云服务器、虚拟机、现代桌面和服务器传统物理服务器、对精度要求极高的环境

相关问答FAQs

Q1:我应该选择Chrony还是NTPd来配置我的CentOS服务器?

A: 对于绝大多数情况,尤其是在CentOS 7及以上版本、云环境或虚拟机中,强烈推荐使用Chrony,它的设计初衷就是为了应对现代网络环境的复杂性,能够更快地完成时间同步,并且在网络连接不稳定时表现更佳,NTPd是一个非常成熟和稳定的解决方案,但在新项目或新系统上,Chrony是更现代、更高效的选择,除非有特殊兼容性要求,否则应优先考虑Chrony。

Q2:我的服务器位于一个完全隔离的内网,无法访问互联网,如何让它为整个内网提供时间服务?

A: 这种情况下,您需要将该服务器配置为“本地时间源”,使其以自身的硬件时钟作为时间标准。

  • 对于Chrony:在/etc/chrony.conf中,确保local stratum 10这一行是未被注释的状态。stratum值可以设为10,表示这是一个本地低精度时间源,这样,即使没有外部服务器,Chrony也会将自身系统时间作为权威时间源,分发给内网客户端。
  • 对于NTPd:在/etc/ntp.conf中,需要添加以下两行:
    server 127.127.1.0     # 使用本地硬件时钟作为时间源
    fudge  127.127.1.0 stratum 10  # 设置其层级为10

    配置完成后重启服务,该NTP服务器就会以本地时钟为准,为内网提供时间同步服务。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/11003.html

(0)
上一篇2025年10月17日 12:22
下一篇 2025年10月17日 12:29

相关推荐

  • 如何判断一个网站是否安全?有哪些方法可以识别安全的网站?

    在数字时代,互联网已成为人们生活、工作不可或缺的一部分,但随之而来的网络安全风险也日益凸显,安全的网站不仅是保护用户个人信息的屏障,更是建立信任、维护网络空间秩序的基础,如何识别安全的网站?又有哪些措施能确保网站的安全运行?本文将从用户端和建设端两个维度,详细探讨安全网站的核心要素与实用指南,用户如何识别安全的……

    2025年10月20日
    0190
  • 安全管理咨询特价活动靠谱吗?能省多少成本?

    在当前复杂多变的商业环境中,企业面临的安全挑战日益多样化,从生产安全、信息安全到合规风险,任何环节的疏漏都可能带来不可估量的损失,安全管理咨询作为专业服务,能够帮助企业系统识别风险、构建防控体系,但许多企业,尤其是中小企业,常因成本顾虑而却步,为此,安全管理咨询特价服务应运而生,旨在以更具性价比的方式,让专业安……

    2025年10月22日
    0120
  • 安全知识资料有哪些?新手必看的安全知识资料有哪些?

    安全知识资料日常生活安全日常生活安全是保障个人与家庭幸福的基础,涵盖用电、用火、饮食等多个方面,用电安全不私拉乱接电线,避免超负荷用电,定期检查电器线路,老化或破损线路需及时更换,湿手不触碰电源开关,电器故障时立即切断电源并检修,用火安全使用燃气时需有人看管,使用后及时关闭阀门,不在易燃物附近使用明火,如窗帘……

    2025年10月25日
    0110
  • Win7系统下Access数据库到底该如何正确配置?

    在Windows 7操作系统中配置Microsoft Access数据库连接,是实现应用程序与Access数据交互的关键步骤,本文将详细介绍如何通过ODBC(开放数据库连接)数据源管理器完成此项配置,确保您的程序能够顺利读取和写入Access数据库文件(.mdb或.accdb),整个过程清晰明了,即使是初次接触……

    2025年10月18日
    0120

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注