NTP服务器搭建
linux时间服务器NTP搭建
NTP(Network Time Protocol,网络时间协议)是用于同步计算机系统时钟的协议。在配置 NTP 时间服务器时,你可以选择使用公共的 NTP 服务器或者搭建自己的 NTP 服务器
如果是内网无法上网的机器需要同步时间,那么只能通过能上网的机器来自己搭建一套NTP服务器,然后其余服务器从此机器同步时间
环境准备:
-
IP:192.168.51.205:NTP服务端,CentOS7系统
-
IP:192.168.51.91:NTP客户端,CentOS7系统
192.168.8.230 NTP服务端 192.168.8.240客户端
服务端
1、首先查看NTP服务端是否安装了NTP服务,如图:
查询不到任何内容,说明并未安装
2、安装NTP,直接使用yum安装即可,执行命令如下:
yum -y install ntp
3、编辑npt配置文件,配置NTP服务器,每个服务器单独一行,如图:
上面配置中的iburst是一个可选项,是一个用于加速时间同步过程的选项,当 NTP 客户端首次与 NTP 服务器建立连接时,它需要通过网络传输和校准多个时间数据包来确定准确的时间。默认情况下,NTP 客户端会以指数增加的时间间隔(通常为每 2 的幂次方秒)发送请求以进行同步,而 iburst
选项允许 NTP 客户端在首次与服务器建立连接时,以更快的速度进行时间同步。具体来说,当 iburst
选项被激活时,NTP 客户端将在最初与服务器建立连接后的第一秒内发送 8 个时间请求,以加速同步过程。随后,它将按照正常的间隔(通常为每 2 的幂次方秒)继续发送时间请求。
使用 iburst
选项可以帮助缩短时间同步所需的时间,尤其是在首次与服务器建立连接时。这对于客户端在启动时或者重新连接到服务器时快速获取准确时间非常有用
除了server配置外,还有很多其余配置,如下:
driftfile:指定保存系统时钟偏移值的文件路径。该文件用于记录系统时钟的变化偏移量
restrict:用于限制与 NTP 服务器之间的访问权限。可以定义允许或禁止的 IP 地址、子网、关键字等
还得配置网段与服务端进行通信:,ntp.conf文件添加以下内容:
-
interface listen 0.0.0.0
-
-
server 127.127.1.0
-
-
fudge 127.127.1.0 stratum 10
-
-
restrict 192.168.144.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.8.0 mask 255.255.255.0 nomodify notrap表示允许192.168.8网段的服务器都能和本服务器进行时钟同步。
4、重启NTP服务器,命令如下:
systemctl restart ntpd
客户端
1、在客户端服务器上安装ntpdate,如果没网的机器只能通过二进制或者rpm安装,如图:
2、通过ntpdate来连接服务端地址同步即可,如图:
3、最后将这条命令加入到crontab中,如图:
上图设置的是每隔5分钟执行一次同步,可根据需要自行设定
注意:在CentOS8系统后,默认是使用chronyd来同步时间的,后面章节会讲具体如何使用
################################
一 实验环境
二 实验步骤
2.1 安装ntp
/*
若系统里已用yum安装过ntp,先将其卸载掉:
yum remove ntp -y
yum remove ntpdate -y
*/
在服务端和客户端都安装下ntp(ntp安装包包含ntpdate):
wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p3.tar.gz
tar zxf ntp-4.2.6p3.tar.gz
cd ntp-4.2.6p3
./configure --prefix=/usr/local/ntp-4.2.6p3 --enable-all-clocks --enable-parse-clocks
make
make install
ln -s /usr/local/ntp-4.2.6p3 /usr/local/ntp
#设置PATH
vi /root/.bash_profile
在PATH这行末尾添加:/usr/local/ntp/bin
#使修改生效
source /root/.bash_profile
2.2 配置服务端
2.2.1 同步服务端的时间
#确保服务端的当前时间是准确的
可以通过date -s “日期”进行修改,示例:
date -s "2021-11-17 17:15"
hwclock -w
2.2.2 修改ntp配置文件
vi /etc/ntp.conf
添加:
interface listen 0.0.0.0
server 127.127.1.0
fudge 127.127.1.0 stratum 10
restrict 192.168.144.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.144.0 mask 255.255.255.0 nomodify notrap表示允许192.168.144网段的服务器都能和本服务器进行时钟同步。
2.2.3 启动ntp
/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -l /usr/local/ntp/ntp.log
2.2.4 设置ntp服务开机自启动
修改/etc/rc.d/rc.local,添加一行:
/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -l /usr/local/ntp/ntp.log
2.3 配置客户端
#确保ntpdate命令能执行成功
[root@test2 ~]# /usr/local/ntp/bin/ntpdate 192.168.144.247
17 Nov 15:21:20 ntpdate[7402]: step time server 192.168.144.247 offset -28799.417435 sec
#设置任务计划自动与时钟服务器同步时间
crontab -e
添加:
*/30 * * * * /usr/local/ntp/bin/ntpdate 192.168.144.247
2.4 验证
#在源端修改下时间:
[root@test1 ~]# date -s "2021-11-17 13:10"
Wed Nov 17 13:10:00 CST 2021
#看下30分钟后,客户端服务器的时间是否有同步过来。
为了方便验证,可以将2.3步骤中的30分钟缩短,验证完毕后,再改回去。
--在客户端查询其对应的服务端ip地址和状态等信息,这样看:
ntpq -p
本篇文章参考了:CentOS7编译安装ntp - relax.1949 - 博客园
ntpdate 同步时间错误no server suitable for synchronization found_ARES