云网牛站
所在位置:首页 > Linux云服务器 > 在Linux中安装配置NTP服务器和NTP客户端

在Linux中安装配置NTP服务器和NTP客户端

2019-03-27 21:54:15作者:黎杰领稿源:云网牛站

本文介绍在Linux中安装和配置NTP服务器的方法,包括NTP客户端。

 

NTP服务器、NTP客户端、Chrony Client的简介

1、什么是NTP服务器?

NTP代表网络时间协议,它是一种网络协议,通过网络同步计算机系统之间的时钟。另一方面,我可以说,它将与通过NTP或Chrony客户端连接到NTP服务器的所有系统保持同一时间(保持准确的时间)。

NTP通常可以在公共互联网上保持几十毫秒的时间,并且在理想条件下可以在局域网中实现优于1毫秒的精度。

它使用端口号123上的用户数据报协议(UDP)来发送和接收时间戳,它是一个客户端/服务器应用程序。它使用端口号123上的用户数据报协议(UDP)发送和接收时间戳。

2、什么是NTP客户端?

NTP客户端将其时钟与网络时间服务器同步。

3、什么是Chrony Client?

Chrony是NTP客户端的替代品,它可以更快地同步系统时钟,提高时间精度,对于一直不在线的系统尤其有用。参考在Linux系统下安装配置Chrony,使其成为NTP客户端替代品一文。

 

为什么我们需要NTP服务器

使组织中的所有服务器与执行基于时间的作业的准确时间保持同步。

为了澄清这一点,我将告诉你一个场景,比如说,我们有两台服务器(Server1和Server2), server1通常在10:55完成批处理作业,然后server2需要根据server1作业完成报告在11:00运行另一个作业。

如果系统在不同的时间使用(如​​果一个系统优先于其他系统,其他系统在特定系统之后),那么我们就无法执行此操作,为此,我们应该设置NTP。

在本文中,我们将使用以下设置来测试它:

NTP服务器:主机名:CentOS7.ywnz.com,IP:192.168.1.8,操作系统:CentOS 7。

NTP客户端:主机名:Ubuntu18.ywnz.com,IP:192.168.1.5,操作系统:Ubuntu 18.04。

 

在Linux中安装NTP服务器

NTP服务器和NTP客户端没有不同的包,因为它是客户端/服务器模型,NTP包在分发官方存储库中可用,因此,使用分发包管理器来安装它。

对于Fedora系统,使用DNF安装ntp:

$ sudo dnf install ntp

对于Debian/Ubuntu系统,使用APT-GET或APT安装ntp:

$ sudo apt install ntp

对于基于Arch Linux的系统,请使用Pacman安装ntp:

$ sudo pacman -S ntp

对于RHEL/CentOS系统,使用YUM安装ntp:

$ sudo yum install ntp

对于openSUSE Leap系统,使用Zypper安装ntp:

$ sudo zypper install ntp

 

在Linux中配置NTP服务器

安装NTP软件包后,请确保必须在服务器端的/etc/ntp.conf文件中取消注释以下配置。

默认情况下,NTP服务器配置依赖于X.distribution_name.pool.ntp.org,如果你需要,可以使用默认配置,也可以访问https://www.ntppool.org/zone/@ site,根据你所在的位置(特定国家/地区)进行更改。

比如说,如果你在印度,那么你的NTP服务器将是0.in.pool.ntp.org,它适用于大多数国家:

# vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1

server 0.asia.pool.ntp.org

server 1.asia.pool.ntp.org

server 2.asia.pool.ntp.org

server 3.asia.pool.ntp.org

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys

我们只允许192.168.1.0/24个子网客户端访问NTP服务器。

由于默认情况下在基于RHEL 7的发行版上启用了防火墙,因此请允许使用ntp服务器/服务:

# firewall-cmd --add-service=ntp --permanent

# firewall-cmd --reload

更新配置后退回服务。

对于sysvinit系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd:

# service ntpd restart

# chkconfig ntpd on

对于systemctl系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd:

# systemctl restart ntpd

# systemctl enable ntpd

 

在Linux上安装NTP客户端

正如我在本文前面提到的那样,NTP服务器和客户端没有特定的包,所以,在客户端也安装相同的包。

对于Fedora系统,使用DNF安装ntp:

$ sudo dnf install ntp

对于Debian/Ubuntu系统,使用APT-GET或APT安装ntp:

$ sudo apt install ntp

对于基于Arch Linux的系统,请使用Pacman安装ntp:

$ sudo pacman -S ntp

对于RHEL/CentOS系统,使用YUM安装ntp:

$ sudo yum install ntp

对于openSUSE Leap系统,使用Zypper安装ntp:

$ sudo zypper install ntp

我在CentOS7.ywnz.com上安装并配置了NTP服务器,因此,将其添加到所有客户端计算机中:

# vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1

server CentOS7.ywnz.com

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys

更新配置后退回服务。

对于sysvinit系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd:

# service ntpd restart

# chkconfig ntpd on

对于systemctl系统,对于基于Debian的系统,我们需要运行ntp,而不是ntpd:

# systemctl restart ntpd

# systemctl enable ntpd

重新启动NTP服务后等待几​​分钟,以便从NTP服务器获取同步时间。

运行以下命令以验证Linux上的NTP服务器同步状态:

# ntpq –p

或者:

# ntpq -pn

在Linux中安装配置NTP服务器和NTP客户端

运行以下命令以获取ntpd的当前状态:

# ntpstat

synchronised to NTP server (192.168.1.8) at stratum 3

time correct to within 508 ms

polling server every 64 s

最后运行date命令:

# date

Tue Mar 26 23:17:05 CDT 2019

参考:date命令_Linux date命令使用详解:显示或设置系统时间和日期

如果你正在观察NTP输出中的重要偏移,执行以下命令,手动从NTP服务器同步时钟,执行命令时,请确保NTP客户端处于非活动状态:

# ntpdate –uv CentOS7.ywnz.com

参考:ntpdate命令_Linux ntpdate命令使用详解:使用网络计时协议(NTP)设置日期与时间

 

相关主题

在RHEL 8系统上使用Chrony配置NTP服务器

精选文章
热门文章