手把手教你在centos 7.4上搭建NTP服务器

本文涉及的产品
云防火墙,500元 1000GB
简介: 手把手教你在centos 7.4上搭建NTP服务器

linux 下构建NTP时间服务器及客户端同步



image.png


NTP 概述


  • 前言


在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这个指南中,我们会介绍如何将一个 CentOS 系统配置为 NTP 服务器。接下来我们从概念到,基础命令,再到企业案列,逐步分享NTP技术点


  • 相关概念


NTP 网络时间协议用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步。由 NTP 管理的所有系统时钟都会同步精确到毫秒级。


  • 为什么需要设置时钟同步


  由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的和其它的发生偏移,这就是常说的 “时钟漂移” 或 “时间漂移”。为了将时钟漂移的影响最小化,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。
在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。


NTP 基础命令


  • 查看时区


[root@localhost ~]# timedatectl 
      Local time: Sun 2021-06-20 03:36:34 -02
  Universal time: Sun 2021-06-20 05:36:34 UTC
        RTC time: Sun 2021-06-20 16:36:34
       Time zone: America/Godthab (-02, -0200)
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sat 2021-03-27 21:59:59 -03
                  Sat 2021-03-27 23:00:00 -02
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sat 2021-10-30 22:59:59 -02
                  Sat 2021-10-30 22:00:00 -03
[root@localhost ~]# 


  • 设置时区


[root@localhost ~]# timedatectl list-timezones   #显示所有时区
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
……
[root@localhost ~]#  timedatectl list-timezones | grep Asia/Shanghai
Asia/Shanghai
[root@localhost ~]# 
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai  #设置时区为上海


搭建NTP服务器


  • 实验环境


服务器:192.168.10.11
客户机:192.168.10.10


案例演示


  • 1.服务器端配置


[root@localhost ~]# rpm -qa|grep ntp
[root@localhost ~]# cat /etc/redhat-release       #1.查看服务器、客户端操作系统版本
CentOS Linux release 7.4.1708 (Core) 
[root@localhost ~]# rpm -qa|grep ntp              #2.查看服务器是否默认安装ntp服务
[root@localhost ~]# yum install ntp ntpdate -y    #3.装命令
[root@localhost ~]# rpm -qa|grep ntp              #4.查看ntp服务是否安装成功
ntpdate-4.2.6p5-25.el7.centos.2.x86_64
ntp-4.2.6p5-25.el7.centos.2.x86_64
[root@localhost ~]# systemctl status ntpd         #5.查看ntp服务状态
 ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@localhost ~]# 
[root@localhost ~]# vim /etc/ntp.conf             #6.修改配置文件,去掉默认注释即可
server 127.127.1.0 iburst                         #7.添加此内容:
当外部时间不可用时,使用本地时间
[root@localhost ~]# systemctl start ntpd          #8.重启ntpd服务
[root@localhost ~]# netstat -tulnp | grep ntp     #检查 ntp 端口起来没有
udp        0      0 192.168.10.11:123       0.0.0.0:*                           23208/ntd          
udp        0      0 127.0.0.1:123           0.0.0.0:*                           23208/ntd          
udp        0      0 0.0.0.0:123             0.0.0.0:*                           23208/ntd          
udp6       0      0 fe80::a30b:879b:3f1:123 :::*                                23208/ntd          
udp6       0      0 ::1:123                 :::*                                23208/ntd          
udp6       0      0 :::123                  :::*                                23208/ntd          
[root@localhost ~]# systemctl enable ntpd          #9.设置开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@localhost ~]# firewall-cmd --permanent --add-port=123/udp #10.设置防火墙,打开udp123端口
success
[root@localhost ~]# 
[root@localhost ~]# firewall-cmd --reload           #10.重启firewalld防火墙
success
[root@localhost ~]# 
[root@localhost ~]# ntpq -p                         #11.查看是否同步
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+electrode.felix 253.10.71.116    3 u   60   64  177  250.132  583.747   9.784
*vmd46520.contab 79.133.44.136    2 u   61   64  157  278.278  607.237   6.266
+162.159.200.123 10.4.1.175       3 u   56   64  177  163.803  591.728   4.587
 cronos.unad.edu .INIT.          16 u    -   64    0    0.000    0.000   0.000
 LOCAL(0)        .LOCL.           5 l  398   64  300    0.000    0.000   0.000
[root@localhost ~]# 


  • 2.客户端配置


1.查看是否安装                  [root@localhost ~]# rpm -qa|grep ntp   
2.安装命令                     [root@localhost ~]# yum install ntp ntpdate -y 
3.检查ntp服务是否安装成功        [root@localhost ~]# rpm -qa|grep ntp  
4.查看ntp 服务状态              [root@localhost ~]# systemctl status ntp
5.修改ntp 服务器配置文件         [root@localhost ~]# vim /etc/ntp.conf 
  去掉注释(:g/^#/d)
  添加
    server 127.127.1.0 iburst     #当外部时间不可用时,使用本地时间
    server 192.168.10.11        #增加ntp服务器IP
    restrict 192.168.10.11 nomodify notrap noquery #禁止其他ip来更新时间
7.重启客户端NTP服务器             [root@localhost ~]# systemctl start ntpd
8.验证NTP 服务器
[root@localhost ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 94-172-186-238. .INIT.          16 u    -   64    0    0.000    0.000   0.000
 162.159.200.123 10.4.1.175       3 u    1   64    3  163.164  -313119   8.941
 ntp1.flashdance 194.58.202.20    2 u    1   64    3  268.103  -313119  18.023
*LOCAL(0)        .LOCL.           5 l    3   64    3    0.000    0.000   0.000
 192.168.10.11   144.91.116.85    3 u    2   64    0    0.000    0.00


  • 验证配置


[root@localhost ~]# date -s '2022-06-18'    #修改同步时间
Sat Jun 18 00:00:00 CST 2022
[root@localhost ~]# 
[root@localhost ~]# date
Sat Jun 18 00:00:04 CST 2022
[root@localhost ~]# ntpdate 192.168.10.11
18 Jun 00:00:25 ntpdate[2244]: the NTP socket is in use, exiting
关闭客户端服务,如果还不行杀掉进程。
[root@localhost ~]# ntpdate 192.168.10.11
20 Jun 14:33:25 ntpdate[2361]: step time server 192.168.10.11 offset -31311901.342790 sec
[root@localhost ~]# date
Sun Jun 20 14:33:34 CST 2021
[root@localhost ~]# 


  • 加入计划任务


[root@localhost ~]# which ntpdate
/usr/sbin/ntpdate
[root@localhost ~]# crontab -e                               #编写计划任务
[root@localhost ~]# crontab -l
*/60 * * * * /usr/sbin/ntpdate 192.168.10.11 >>/tmp/ntp.log  #每60分钟同步一次
[root@localhost ~]# 


  • 报错解决办法


1.问题:
  the NTP socket is in use, exiting
2.处理思路:
[root@localhost ~]# ps -ef|grep xntpd
root     124185   6192  0 15:49 pts/1    00:00:00 grep xntpd
可惜没有找到pid。
使用lsof –i:123
没有lsof命令的话:yum install -y lsof
[root@localhost ~]# yum install -y lsof
[root@localhost ~]# 
  oot@localhost ~]# lsof -i:123
▽OMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ntpd    2347  ntp   16u  IPv4  28603      0t0  UDP *:ntp 
ntpd    2347  ntp   17u  IPv6  28604      0t0  UDP *:ntp 
ntpd    2347  ntp   18u  IPv4  28609      0t0  UDP localhost:ntp 
ntpd    2347  ntp   19u  IPv4  28610      0t0  UDP localhost.localdomain:ntp 
ntpd    2347  ntp   20u  IPv6  28611      0t0  UDP localhost:ntp 
ntpd    2347  ntp   21u  IPv6  28612      0t0  UDP localhost.localdomain:ntp 
[root@localhost ~]# kill -9 2347
[root@localhost ~]# ntpdate 192.168.10.11
20 Jun 14:33:25 ntpdate[2361]: step time server 192.168.10.11 offset -31311901.342790 sec
  ok。问题完美解决


总结



  • 感谢大家阅读到最后。本文主要介绍了ntp 服务在本地配置。在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。


相关文章
|
1月前
|
NoSQL Linux Redis
在 centos7 下重启/开启 redis 服务器
本文提供了一种在Centos 7操作系统下如何重启Redis服务器的步骤,包括停止Redis服务、确认停止成功以及重新启动Redis服务。
86 2
在 centos7 下重启/开启 redis 服务器
|
21天前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
|
22天前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
1月前
|
Linux 数据安全/隐私保护 Windows
centos 7.2 搭建svn服务器
centos 7.2 搭建svn服务器
48 0
|
2月前
|
网络安全
构建 NTP 时间服务器
构建 NTP 时间服务器
119 2
|
28天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
100 64
|
29天前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
108 61
|
21天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
48 1
Linux系统之Centos7安装cockpit图形管理界面
|
6天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
19 3
|
6天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
15 2