在 CentOS 系统中离线安装 NTP 服务,通常需要下载相应的 RPM 包并手动安装,因为无法直接通过网络连接到 yum 或 dnf 仓库。以下是离线安装和配置 NTP 服务的基本步骤:
步骤 1: 准备 RPM 包
- 在另一台可以上网的机器上,访问 CentOS 的官方仓库或者其他可靠的 RPM 包来源,找到适合你 CentOS 版本的 NTP RPM 包。
- 下载
ntp
和ntpdate
的 RPM 包。例如,对于 CentOS 7,你可能需要下载ntp.x86_64.rpm
和ntpdate.x86_64.rpm
。 - 将下载的 RPM 包复制到离线的 CentOS 服务器上。
步骤 2: 安装 NTP 软件包
- 登录到离线的 CentOS 服务器。
- 使用
rpm
命令安装 NTP 软件包。如果依赖关系缺失,你可能需要额外下载并安装这些依赖包。
rpm -ivh ntp-*.rpm ntpdate-*.rpm
- 如果遇到依赖问题,可以尝试使用
--nodeps
参数强制安装,但不推荐这样做,除非你确认依赖项已满足或不重要。
rpm -ivh --nodeps ntp-*.rpm ntpdate-*.rpm
步骤 3: 配置 NTP
- 编辑 NTP 的配置文件
/etc/ntp.conf
,添加 NTP 服务器地址。由于是离线环境,你可能需要配置指向内部网络中的 NTP 服务器,或者在服务器上启用 NTP 作为主时钟源。
server your-internal-ntp-server-address
如果没有可用的内部 NTP 服务器,你可以暂时使用 pool
服务器,但记得这些服务器需要能够从你的网络中访问。
pool pool.ntp.org iburst
- 在配置文件中,确保
restrict
规则正确设置,以便只允许授权的客户端进行时间同步。
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
- 保存并关闭配置文件。
步骤 4: 启动 NTP 服务
- 使用 systemctl 启动并设置 NTP 服务开机自启。
systemctl start ntpd
systemctl enable ntpd
- 检查 NTP 服务状态,确保服务运行正常。
systemctl status ntpd
步骤 5: 测试 NTP 同步
- 使用
ntpq -p
命令检查 NTP 是否成功同步时间。
ntpq -p
完成上述步骤后,你的 CentOS 系统应该已经离线安装并配置好了 NTP 服务。不过,请注意,如果配置指向外部 NTP 服务器,你需要确保防火墙和网络策略允许 UDP 123 端口的通信。如果是在完全隔离的网络中,你可能需要配置一台 NTP 服务器作为时间源,其他机器再与之同步。
使用本机的硬件时钟
编辑 /etc/ntp.conf
,添加 server 127.127.1.0