内网环境的NTP服务搭建和应用(实现各服务器时间同步)
创始人
2025-01-20 07:33:24
0

NTP,“网络时间协议”(Network Time Protocol),它是一种用于在网络中同步各个设备时钟的协议。NTP通过在网络中的一组时间服务器之间传递时间信息来实现时间同步,从而确保网络中的各个设备具有相似的时间。

在内网环境中想要保持各个服务器时间一致,就需要搭建NTP服务。

搭建

若有一台服务器(以CentOS 7为例,下同)作为NTP服务主机,其他服务器作为客户端连接此主机以保持各服务器时间一致。

在NTP主机服务器(192.168.100.37)上执行以下步骤:

  1. 使用root权限登录到NTP服务器(192.168.100.37)。

  2. 安装NTP及其依赖(如果尚未安装):

    sudo yum localinstall ntp*.rpm 
  3. 编辑NTP配置文件 /etc/ntp.conf

    sudo vi /etc/ntp.conf 

    修改配置文件中的服务器行,添加以下内容,其中 iburst 选项加快同步过程:

    server 127.127.1.0 iburst fudge 127.127.1.0 stratum 10 restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap 

192.168.100.0 替换为你的内网子网地址;

具体来说,iburst 选项会在客户端初始化时,连续地发送8个NTP请求。这样做是为了加速时钟同步的过程,因为通常在初始化时,时钟可能与服务器的时间相差较大。通过连续发送多个请求,客户端可以更快地收敛到与服务器的时间一致,从而减少时钟的偏差。

  1. 保存并关闭文件。然后启动NTP服务并设置开机自启:

    sudo systemctl start ntpd sudo systemctl enable ntpd 
  2. 打开NTP服务器的防火墙端口:

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

在其他服务器(NTP客户端)执行以下步骤:

  1. 使用root权限登录;

  2. 安装NTP及其依赖(如果尚未安装):

    sudo yum localinstall ntp*.rpm 
  3. 编辑NTP配置文件 /etc/ntp.conf

    sudo vi /etc/ntp.conf 

    修改配置文件中的服务器行,添加以下内容,将其中的IP地址替换为NTP服务器的IP地址(192.168.100.37):

    server 192.168.100.37 iburst 
  4. 保存并关闭文件。然后启动NTP客户端服务并设置开机自启:

    sudo systemctl start ntpd sudo systemctl enable ntpd 
  5. 打开NTP客户端所在服务器的防火墙端口:

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

大功告成!


验证

可以通过以下方式验证NTP服务是否已经在各服务器生效:

验证NTP服务器是否正常运行:

  1. 执行以下命令,查看NTP服务器状态:

    sudo systemctl status ntpd 
  2. 验证NTP服务器是否正在监听UDP 123端口(NTP端口):

    sudo netstat -tuln | grep 123 

    如果看到类似 udp 0 0 0.0.0.0:123 0.0.0.0:* 的行,表示NTP服务器正在监听123端口。

验证NTP客户端是否与服务器同步时间:

  1. 在NTP客户端上执行以下命令,查看NTP客户端的状态:

    sudo systemctl status ntpd 
  2. 使用以下命令查看NTP客户端的时间同步状态:

    ntpq -p 

    这会显示与NTP服务器的时间同步状态。如果服务器已正常配置且时间同步成功,你将看到列出的NTP服务器的状态,包括“remote”、“refid”、“st”(stratum,层级)、“t”(type,类型)、“when”(上次同步时间)等信息。

    如果NTP服务器列出了并且st值不是16(16表示没有同步),则表示您的NTP客户端已经与服务器同步时间。

注意:在刚开始同步时,可能需要一些时间来稳定同步,因为NTP协议会根据不同的情况进行自动调整,以逐渐与服务器保持时间同步。

常见问题

  1. NTP服务无法启动或启动失败:

    • 排查方法: 使用以下命令检查NTP服务的状态和日志输出。

      sudo systemctl status ntpd 
    • 解决方法: 查看服务状态的输出和日志,找出具体问题所在,常见的问题可能包括配置文件错误、端口被占用等。检查配置文件是否正确,并尝试重新启动服务。

  2. NTP客户端无法与服务器同步时间:

    • 排查方法: 使用以下命令检查NTP客户端的同步状态。

      ntpq -p 
    • 解决方法: 查看NTP同步状态的输出,如果客户端没有与服务器同步时间,可能是服务器配置问题、网络连接问题等。确保客户端的NTP配置正确,服务器地址是否正确,并尝试重新启动NTP客户端服务。

  3. 防火墙阻止NTP通信:

    • 排查方法: 使用以下命令检查防火墙是否允许NTP通信。

      sudo firewall-cmd --list-services 
    • 解决方法: 如果防火墙阻止了NTP通信,需要添加NTP服务到防火墙规则中,且保证UDP 123端口开放。

  4. 时间同步问题:

    • 排查方法: 使用以下命令检查NTP服务器和客户端的时间同步状态。

      date         # 检查本地时间 ntpq -p      # 查看NTP同步状态 
    • 解决方法: 如果时间同步存在问题,可以尝试手动同步时间。

      • 对于服务器,使用以下命令强制同步时间:

        sudo ntpdate -u your_ntp_server_ip 
      • 对于客户端,确保配置文件正确,重新启动NTP服务。

  5. 配置文件错误:

    • 排查方法: 检查NTP配置文件 /etc/ntp.conf 的语法和设置。

      sudo ntpd -c /etc/ntp.conf -q     # 检查配置文件语法 
    • 解决方法: 如果配置文件有错误,修改后需要重新加载NTP服务。

  6. 网络连接问题:

    • 排查方法: 使用pingtelnet等命令测试与NTP服务器的网络连接。

      ping your_ntp_server_ip telnet your_ntp_server_ip 123 
    • 解决方法: 确保网络连接正常,如果有问题,可能需要解决网络配置或故障。

相关内容

热门资讯

透视窍门!epoker底牌透视... 透视窍门!epoker底牌透视(透视)cloudpoker怎么开挂(辅助)确实是有工具(哔哩哔哩)1...
透视机巧!佛手在线有挂吗(We... 透视机巧!佛手在线有挂吗(WePoKer分析)一贯真的是有辅助教程(哔哩哔哩)1、佛手在线有挂吗透视...
透视绝活儿!佛手在线大菠萝技巧... 透视绝活儿!佛手在线大菠萝技巧(透视)哈糖大菠萝有挂吗(辅助)一贯真的有神器(哔哩哔哩)1、实时佛手...
开挂了解!手机字牌辅助脚本工具... 开挂了解!手机字牌辅助脚本工具(辅助)66徐州麻将都是是真的辅助器(哔哩哔哩)1、操作简单,无需手机...
透视项目!拱趴游戏破解器(WP... 透视项目!拱趴游戏破解器(WPK德州局)总是真的有辅助软件(哔哩哔哩)透视项目!拱趴游戏破解器(WP...
透视手筋!epoker透视(透... 透视手筋!epoker透视(透视)德州私人局脚本(辅助)好像一直都是有方法(哔哩哔哩)德州私人局脚本...
关于了解!欢乐茶馆免费辅助设置... 关于了解!欢乐茶馆免费辅助设置(辅助)淮安掼蛋大师切实有挂辅助工具(哔哩哔哩)该软件可以轻松地帮助玩...
透视指南!约局吧德州透视(We... 透视指南!约局吧德州透视(WePoKer网页版)一贯有辅助软件(哔哩哔哩)1、约局吧德州透视辅助器安...
透视操作!约局吧德州有挂吗(透... 透视操作!约局吧德州有挂吗(透视)哈糖大菠萝挂(辅助)真是真的是有工具(哔哩哔哩)1、用户打开应用后...
关于了解!荔枝竞技修改器(辅助... 关于了解!荔枝竞技修改器(辅助)亲邻麻将其实真的有辅助平台(哔哩哔哩)1、荔枝竞技修改器辅助器安装包...