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

简介: 手把手教你在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 服务在本地配置。在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。


相关文章
|
2月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
43 1
|
3月前
|
Linux
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
217 0
|
3月前
|
Linux 网络安全
CentOS7服务器SSH登陆时自动显示服务器基础信息
CentOS7服务器SSH登陆时自动显示服务器基础信息
42 0
|
14天前
|
Linux
centos 查看服务器信息 版本cpu
centos 查看服务器信息 版本cpu
11 0
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
79 0
|
1月前
|
存储 弹性计算 Linux
阿里云ECS(CentOS镜像)安装docker
阿里云ECS(CentOS镜像)安装docker
380 0
|
29天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
18天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。