Linux系统之NTP服务器配置方法

在这里插入图片描述

一、NTP介绍

1.1 NTP简介

NTP(Network Time Protocol,网络时间协议)是一种用于同步计算机时间的协议。它是一种客户端-服务器协议,用于同步计算机的时钟。通过连接到网络上的时间服务器,计算机可以获取精确的时间信息,确保其时钟与网络上的其他设备保持同步。

1.2 NTP使用场景

NTP(Network Time Protocol,网络时间协议)服务器主要用于同步计算机和网络设备的时间,以确保系统的时间准确性和一致性。NTP服务器的使用场景包括以下几个方面:

  • 网络管理:在一个大型企业或组织的内部网络中,经常有许多计算机和网络设备需要精确地同步时间,以确保网络设备之间的数据同步和日志记录的准确性。NTP服务器可以通过对这些设备提供统一的时间同步,保证整个网络系统的时间一致。

  • 安全性管理:网络安全监控和审计是确保企业信息安全的重要组成部分,而NTP服务器可以保证事件日志和安全日志的时间戳是准确的,避免了网络攻击和其他安全问题的发生和掩盖。

  • 公共服务:许多公共服务需要同步时间,例如银行交易、证券交易等金融交易系统和公共服务设施,如电力系统、水力系统和天气预报等,都需要同步时间,以确保数据的准确性和一致性。NTP服务器可以为这些服务提供可靠的时间同步服务。

  • 科学研究:精确的时间同步对于科学研究至关重要,例如卫星通信、天文观测、地震监测等,需要精确的时间同步来保证数据的可信性和准确性。NTP服务器可以提供高精度时间同步服务,满足科学研究的需求。

二、本次实践介绍

2.1 本次实践介绍

1.本次主要部署NTP服务器;
2.业务服务器指定NTP服务器,保持时间同步。

2.2 本次环境规划

hostnameIP地址操作系统版本角色
jeven192.168.3.166centos 7.6NTP服务器
docker192.168.3.127centos 7.6业务服务器

三、NTP服务器配置

3.1 检查当前yum仓库

  • 检查当前yum仓库状态
[root@jeven ~]# yum repolist enabled
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id                                     repo name                                                                  status
!base/7/x86_64                              CentOS-7 - Base - mirrors.aliyun.com                                       10,072
!extras/7/x86_64                            CentOS-7 - Extras - mirrors.aliyun.com                                        518
!gitlab-ce/7                                Gitlab CE Repository                                                          934
!pgdg-common/7/x86_64                       PostgreSQL common RPMs for RHEL / CentOS 7 - x86_64                           497
!pgdg11/7/x86_64                            PostgreSQL 11 for RHEL / CentOS 7 - x86_64                                  1,595
!pgdg12/7/x86_64                            PostgreSQL 12 for RHEL / CentOS 7 - x86_64                                  1,261
!pgdg13/7/x86_64                            PostgreSQL 13 for RHEL / CentOS 7 - x86_64                                  1,021
!pgdg14/7/x86_64                            PostgreSQL 14 for RHEL / CentOS 7 - x86_64                                    762
!pgdg15/7/x86_64                            PostgreSQL 15 for RHEL / CentOS 7 - x86_64                                    473
!updates/7/x86_64                           CentOS-7 - Updates - mirrors.aliyun.com                                     5,367
repolist: 22,500
  • 如果yum仓库未配置镜像源,可以使用国内镜像源。
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

3.2 安装chrony

使用yum直接安装chrony

yum -y install chrony

在这里插入图片描述

3.3 启动chronyd服务

启动chronyd服务

 systemctl enable --now chronyd

检查当前chrony服务状态

[root@jeven ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2023-11-01 16:36:53 CST; 28s ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 31095 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 31090 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 31092 (chronyd)
    Tasks: 1
   Memory: 464.0K
   CGroup: /system.slice/chronyd.service
           └─31092 /usr/sbin/chronyd

3.4关闭防火墙和selinux

  • 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
  • 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
reboot # 重启系统
  • 查看当前selinux状态
[root@jeven ~]# getenforce
Disabled

3.5 修改chrony.conf配置文件

修改/etc/chrony.conf 文件

vim /etc/chrony.conf
  • 从外部获取时间源,修改内容如下:
server ntp1.aliyun.com iburst
allow 192.168.3.0/24

在这里插入图片描述

  • 从本地获取时间源,注释掉server语句,修改内容如下:
allow 192.168.3.0/24
local stratum 10

3.6 重启chronyd

重启chronyd服务

systemctl restart chronyd

四、业务服务器配置

4.1 安装chrony

直接安装chrony软件

yum -y install chrony

4.2 启动chronyd服务

启动chronyd服务

systemctl enable --now chronyd

4.3 修改chrony.conf配置文件

chrony.conf配置文件

vim /etc/chrony.conf
pool 192.168.3.166 iburst

在这里插入图片描述

4.4 重启chronyd服务

重启chronyd服务

systemctl restart chronyd

五、测试业务服务器时间状态

5.1 查看时间同步状态

执行以下命令,查看时间同步状态。

[root@docker ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* jeven.dhcp-route              3   6    17    10    +15us[  +52us] +/-   23ms

5.2 列出NTP服务器

执行以下命令,列出NTP服务器的详细信息。

[root@docker ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* jeven.dhcp-route              3   6    37     7    +14us[ +175us] +/-   19ms

六、校正错误时间

6.1 修改业务服务器错误时间

设置当前时间为错误时间

date -s "2012-12-12 12:12:12"

查看当前时间,发现已经修改为错误时间。

[root@docker ~]# date
Wed Dec 12 12:12:13 CST 2012

6.2 立即时间同步

执行以下命令,手动立即同步时间。

[root@docker ~]# sudo chronyc makestep
200 OK

查看当前时间,发现错误时间已经修改为正确时间。

[root@docker ~]# date
Wed Nov  1 17:09:22 CST 202
  • 10
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Linux系统上设置定时同步NTP服务器,可以按照以下步骤操作: 1. 安装NTP软件包。在大多数Linux发行版中,NTP软件包已经预安装,如果没有安装可以通过以下命令进行安装: ``` sudo apt-get install ntp ``` 2. 配置NTP服务器。编辑NTP配置文件`/etc/ntp.conf`,添加或修改NTP服务器地址,例如: ``` server ntp1.example.com server ntp2.example.com ``` 如果你不知道可用的NTP服务器,可以在 https://www.ntp.org/ntp-servers.html 上找到一个NTP服务器列表。 3. 启动NTP服务。使用以下命令启动NTP服务: ``` sudo systemctl start ntp ``` 如果你的系统不支持systemctl命令,可以使用以下命令启动NTP服务: ``` sudo service ntp start ``` 4. 设置NTP服务开机自启动。使用以下命令将NTP服务设置为开机自启动: ``` sudo systemctl enable ntp ``` 或者,如果你的系统不支持systemctl命令,可以使用以下命令将NTP服务设置为开机自启动: ``` sudo update-rc.d ntp defaults ``` 5. 验证NTP同步。使用以下命令验证NTP是否同步成功: ``` ntpq -p ``` 如果输出类似于以下内容,则表示NTP同步成功: ``` remote refid st t when poll reach delay offset jitter ============================================================================== +ntp1.example.c 123.45.67.89 2 u 68 128 377 0.123 -0.456 0.789 *ntp2.example.c 123.45.67.90 3 u 63 128 377 0.234 -0.567 0.890 ``` 6. 设置定时同步。使用以下命令编辑crontab文件: ``` crontab -e ``` 在文件末尾添加以下行: ``` */5 * * * * /usr/sbin/ntpdate ntp1.example.com ``` 这将在每5分钟同步一次NTP服务器。你可以根据需要更改时间间隔和NTP服务器地址。 保存并关闭文件后,定时同步将自动启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖有缘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值