How To Install And Configure NTP Server And NTP Client In Linux?
我们可能多次听说过这个词NTP服务器和客户端,而对此却知之甚少。
但是,我将在本文中清楚地告诉您有关NTP服务器和NTP客户端设置的信息
稍后让我们了解Chrony NTP客户端设置。
什么是NTP服务器?
NTP代表网络时间协议。
它是一种网络协议,可通过网络在计算机系统之间同步时钟。
换句话说,可以说,它将使通过NTP或Chrony客户端连接到NTP服务器的所有系统的时间保持相同的准确性。
NTP通常可以在公共Internet上将时间维持在数十毫秒以内,并且在理想条件下在局域网中可以达到优于1毫秒的精度。
它在端口号123上使用"用户数据报协议"(UDP)来发送和接收时间戳。 它是一个客户端/服务器应用程序,使用用户数据报协议(UDP)发送和接收时间戳。
什么是NTP客户端?
NTP客户端将其时钟同步到网络时间服务器。
什么是Chrony客户?
慢性是NTP客户端的替换。 它可以更快地同步系统时钟,并具有更好的时间精度,这对于一直不在线的系统特别有用。
为什么我们需要NTP服务器?
使组织中的所有服务器与准确的时间保持同步,以执行基于时间的作业。
为了澄清这一点,我将告诉您一个场景。 假设我们有两个服务器(Server1和Server2)。 服务器1通常在10:55完成批处理作业,服务器2需要根据服务器1作业完成报告在11:00运行另一个作业。
如果两个系统的时间都不一样,那么我们将无法按计划执行任务。 为此,我们应该设置NTP。 希望它清除了NTP的必要性。
在本文中,我们将使用以下设置进行测试。
NTP服务器端:如何在Linux中安装NTP服务器?
NTP服务器和NTP客户端没有不同的软件包,因为它是客户端/服务器模型。 NTP软件包在发行官方存储库中可用,因此,请使用发行软件包管理器进行安装。
对于
1 | $ sudo dnf install ntp |
对于
1 | $ sudo apt install ntp |
对于基于
1 | $ sudo pacman -S ntp |
对于
1 | $ sudo yum install ntp |
对于
1 | $ sudo zypper install ntp |
如何在Linux中配置NTP服务器?
安装NTP软件包后,请确保必须在服务器端的
默认情况下,NTP服务器配置依赖于
举例来说。 如果您在印度,则您的NTP服务器将为
1 2 3 4 5 6 7 8 9 10 11 12 13 | # 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 |
我们仅允许
由于默认情况下基于RHEL 7的发行版启用了防火墙,因此请允许ntp服务器/服务。
1 2 | # firewall-cmd --add-service=ntp --permanent # firewall-cmd --reload |
更新配置后,请启动服务。
对于sysvinit系统和基于Debian的系统,我们需要运行
1 2 3 | # service ntpd restart # chkconfig ntpd on |
对于systemctl系统。 对于基于Debian的系统,我们需要运行
1 2 3 | # systemctl restart ntpd # systemctl enable ntpd |
NTP客户端:如何在Linux上安装NTP客户端?
正如我在本文前面提到的。 没有用于NTP服务器和客户端的特定程序包。 因此,我们也可以在客户端上安装相同的软件包。
对于
1 | $ sudo dnf install ntp |
对于
1 | $ sudo apt install ntp |
对于基于
1 | $ sudo pacman -S ntp |
对于
1 | $ sudo yum install ntp |
对于
1 | $ sudo zypper install ntp |
我已经在
1 2 3 4 5 6 7 8 9 | # 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 <strong><span style="color: #00ff00;">server CentOS7.2daygeek.com prefer iburst</span></strong> driftfile /var/lib/ntp/drift keys /etc/ntp/keys |
更新配置后,请启动服务。
对于sysvinit系统。 对于基于Debian的系统,我们需要运行
1 2 3 | # service ntpd restart # chkconfig ntpd on |
对于systemctl系统。 对于基于Debian的系统,我们需要运行
1 2 3 | # systemctl restart ntpd # systemctl enable ntpd |
在NTP服务重新启动后等待几分钟,以从NTP服务器获取同步时间。
运行以下命令以在Linux上验证NTP服务器同步状态。
1 2 3 4 5 6 7 | # ntpq –p Or # ntpq -pn remote refid st t when poll reach delay offset jitter ============================================================================== *CentOS7.2daygee 133.243.238.163 2 u 14 64 37 0.686 0.151 16.432 |
运行以下命令以获取ntpd的当前状态。
1 2 3 4 | # ntpstat synchronised to NTP server (192.168.1.8) at stratum 3 time correct to within 508 ms polling server every 64 s |
最后运行
1 2 | # date Tue Mar 26 23:17:05 CDT 2019 |
如果您在NTP输出中观察到明显的偏移。 运行以下命令从NTP服务器手动同步时钟。 执行命令时,请确保您的NTP客户端应处于活动状态。
1 | # ntpdate –uv CentOS7.2daygeek.com |