文章目录
Linux中怎么搭建NTP服务器:
说明:本次实验采用两台加载Redhat7.2版本的镜像文件的虚拟机,要求一台配置好时间服务之后,由另一台进行同步。
我们先讲一下时间服务器的搭建:
首先先说一下我们常用的Windows系统的时间是怎样的,我们通过控制面板打开日期和时间,然后选择Internet时间,点击更改设置就可以知道当前的服务器是怎样与时间同步的了。
这里要求时间服务器要能上网(为了保证精度),它从外部同步时间,最后给内部主机提供同步。
先讲几条基础命令:
功能 | 命令 |
---|---|
查看时间 | date |
查看硬件时间 | hwclock -r |
查看系统所在时区 | date -R |
查看所有时区 | ls /usr/share/zoneinfo/ 或者是:timedatectl list-timezones |
查看其它时区的当前时间 | zdump Hongkong |
修改系统时间 | date -s “20190408 17:41:00” |
修改时区① | tzselect(之后按数字进行选择) vim .bash_profile TZ=‘Asia/Shanghai’; export TZ(粘贴在末尾) source ~/.bash_profile |
修改时区② | timedatectl set-timezone Europe/Lisbon |
保存时间修改 | clock -w |
二、NTP服务的命令、配置:
1、有关ntp的命令:
其他命令 | 功能 |
---|---|
ntpq -p | 查询网络中的NTP服务器,同时显示客户端和每个服务器的连接状态 |
ntpdate -q 192.168.0.35 | 查看上层服务器状态 |
ntpdate 192.168.0.35 | 更新时间 |
watch ntpdate 192.168.0.35 | 这条命令为客户端使用,每2秒会发生一次变化 |
2、有关ntpq -p的注解:
remote | 远程主机的主机名或IP |
---|---|
* | 目前正在使用的上层NTP |
+ | 已连线,可提供时间更新的候补服务器 |
- | 远程服务器被clustering algorithm认为是不合格的NTP Server |
x | 远程服务器不可用 |
其它 | 注解 |
---|---|
refid | 上级NTP的时间基准服务器 |
st | 就是stratum 上层NTP的层级,层级0-15 |
when | 几秒钟前曾做过时间同步更新 |
poll | 下一次更新在几秒后,逐步增大 |
reach | 八进制数,已经向上层服务器要求更新的次数 |
delay | 网络传输过程中的延迟时间 |
offset | 本地和服务器之间的时间差别,越接近0,说明和服务器的时间越接近 |
jitter linux | 系统时间与bios硬件时钟之间的差异 |
3、/etc/ntp.conf ntp的配置文件介绍:
#系统时间和硬件时间的偏差记录
driftfile /var/lib/ntp/drift
#允许所有的访问,
restrict default nomodify notrap nopeer noquery
restrict [192.168.221.0] mask [255.255.255.0] [parameter]
parameter的参数 | 注解 |
---|---|
ignore | 拒绝所有类型的ntp连接 |
nomodify | 客户端不能使用ntpc与ntpq两支程式来修改服务器的时间参数 |
noquery | 客户端不能使用ntpq、ntpc等指令来查询服务器时间,等于不提供ntp的网络校时 |
notrap | 不提供trap这个远程时间登录的功能 |
notrust | 拒绝没有认证的客户端 |
nopeer | 不与其他同一层的ntp服务器进行时间同步 |
三、搭建NTP服务:
1、挂载镜像: mount /dev/sr0 /mnt
2、配置yum: vim /etc/yum.repos.d/base.repo
3、关闭防火墙: systemctl stop firewalld.service
4、安装ntp包: yum install ntp -y
5、编辑配置文件: vim /etc/ntp.conf
可以将中间的几行默认上层时间的服务器注释掉,也可以不注释掉。注释掉之后我们这台时间服务器就没法向外部服务器同步了,我是为了方便演示,后面加上图中的指令:表示使用本地时间作为ntp服务器提供给ntp客户端。
6、保存之后,我们使用命令:systemctl restart ntpd 重启服务。
我们可以使用 netstat -nlutp | grep ntp 可以查看与ntp服务有关联的进程。
===============================================================================================================
7、开启另一台虚拟机:
首先我们测试一下连通性,然后修改时间为错位的时间之后,在保存。
8、同步时间: ntpdate 192.168.0.35 ,出现以下提示时,即表示同步成功。
8、设置计划任务,编辑配置文件之后,让它实现一开机就自动同步。
vim /etc/crontab
插入下面这句话:* * * * * root /usr/sbin/ntpdate 192.168.40.131 > /dev/null 2>&1
linux shell中"2>&1"含义
> | 重定向 |
---|---|
/dev/null | 代表空设备 |
2 | stderr 标准错误 |
& | 表示等同于 |
2>1&1 | 将标准错误重定向到标准输出 |