在Ubuntu 18.04服务器上安装和配置NTP服务器

下面是安装NTP服务器并进行必要修改以在网络中实现所需时间同步的分步过程。

第1步:更新系统存储库

首先,让我们从更新系统包开始:

apt update -y	//更新Ubuntu系统

第2步:在Ubuntu 18.04上安装NTP服务器

在已安装系统软件包的情况下,通过运行在Ubuntu 18.04 LTS上安装NTP协议。

apt install ntp //出现提示时,键入y并按Enter以完成安装过程。

第3步:在Ubuntu 18.04上配置NTP服务器池

默认情况下, NTP协议附带已在其配置文件中配置的默认NTP池服务器

vim /etc/ntp.conf
pool 0.ubuntu.pool.ntp.org iburst	//默认NTP服务器池
pool 1.ubuntu.pool.ntp.org iburst
pool 2.ubuntu.pool.ntp.org iburst
pool 3.ubuntu.pool.ntp.org iburst

这些通常一样好。 但是,您可以考虑更改为距离您所在位置最近的NTP服务器池 。 

 

 

下面的链接会将您引导至一个页面,您可以在其中选择最喜欢的NTP池列表。

https://www.ntppool.org/	//使用Europe/United Kingdom地区,可以发现有这么几个。

要替换默认的NTP池服务器 ,请使用您文本编辑器打开NTP配置文件。

vim /etc/ntp.conf
server 0.uk.pool.ntp.org 
server 1.uk.pool.ntp.org 
server 2.uk.pool.ntp.org 
server 3.uk.pool.ntp.org
要使更改生效,请重新启动NTP服务并使用命令验证其状态。
systemctl restart ntp 
systemctl status ntp	//验证NTP状态
查看ntp运行状态


命令:ntpq -p
ntp参数含义
remote	:	本地机器所连接的远程NTP服务器 
refid	:	指的是参考的上一层NTP主机的地址 
st	:	远程服务器的级别。
由于NTP是层型结构,有顶端的服务器,多层的Relay Server再到客户端.
所以服务器从高到低级别可以设定为1-16.为了减缓负荷和网络堵塞,原则上应该避免直接连接到级别为1的服务器的 
when	:	用做计时,用来告诉我们还有多久本地机器就需要和远程服务器进行一次时间同步 
poll	:	本地主机和远程服务器多少时间进行一次同步(单位为秒) 
reach	:	这是一个八进制值,表示已经向上层NTP服务器要求更新的次数。每成功连接一次,它的值就加1 
delay	:	网络传输过程中延迟的时间,单位为微秒 
offset	:	我们本地机和服务器之间的时间差别。单位为毫秒 
jitter	:	Linux系统时间与BIOS硬件时间的差异时间,单位为微秒
服务器状态参数
*	:	它告诉我们远端的服务器已经被确认为我们的主NTP Server,我们系统的时间将由这台机器所提供 
+	:	它将作为辅助的NTP Server和带有*号的服务器一起为我们提供同步服务.当*号服务器不可用时它就可以接管 
-	:	远程服务器被clustering algorithm认为是不合格的NTP Server 
x	:	远程服务器不可用

NTP安全设置

运行一个NTP Server不需要占用很多的系统资源,
所以也不用专门配置独立的服务器,就可以给很多client提供时间同步服务,
但是一些基本的安全设置还是很有必要的,提供一种思路:
只允许局域网内一部分的用户连接到我们的服务器
这些client不能修改我们服务器上的时间

安全设置

在/etc/ntp.conf文件中我们可以用restrict关键字来配置上面的要求 :
[restrict]参数设定方式: restrict [your ip] mask [netmask_ip] [parameter] 
其中parameter的参数主要有: 
ignore	:	拒绝所有类型的ntp连接 
nomodify	:	客户端不能使用ntpc与ntpq两支程式来修改服务器的时间参数 
noquery	:	客户端不能使用ntpq、ntpc等指令来查询服务器时间,等于不提供ntp的网络校时 
notrap	:	不提供trap这个远程时间登录的功能 
notrust	:	拒绝没有认证的客户端 
nopeer	:	不与其他同一层的ntp服务器进行时间同步
参考配置
对于默认的client拒绝所有的操作  
restrict default kod nomodify notrap nopeer noquery
然后允许本机地址一切的操作  
restrict 127.0.0.1
最后允许局域网内指定的client连接到这台服务器同步时间,但是拒绝他们修改服务器时间  
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap

如果启用了UFW防火墙

我们需要在其上允许NTP服务,以便客户端计算机可以访问NTP服务器。

ufw allow ntp OR ufw allow 123/udp	//要实施更改,请如图所示重新加载防火墙。
ufw reload	//要验证所做的更改,请执行命令。
ufw status	//验证UFW防火墙上的NTP访问权限

完善! 我们已经在Ubuntu 18.04 LTS系统上成功设置了NTP服务器。 现在让我们在客户端系统上设置NTP 。