笔记 时间同步服务器搭建

ntp配置

需要搭建本地的时间同步服务器(非授时)
参考:
1.CentOS 6 安装 NTP Server 时间服务器
2.Linux部署NTP服务器进行时间同步
3.ntp服务的细节全解析

一、安装ntp包

提供服务端与客户端都需要ntp包,查看是否已安装

rpm -qa | grep ntp

安装ntp

yum install ntp

或者使用安装包安装

rpm -ivh ...

二、服务端开启ntp服务

服务端,修改配置文件内容:
vi /etc/ntp.conf

…
#设置接收同步请求的地址范围192.168.1.*
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#设置上游ntp服务器地址,当上游ntp服务不可用时,用本机时间提供时间同步服务(建议配置,否则 ntp 服务器无法与公网 ntp 服务器同步时,其客户端也会无法同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
…

该文件只需要配置主要的两部分:权限、连接远程服务器
用restrict限制客户端的时间同步请求:
restrict [ip] mask [mask_number] [parameter]
parameter有以下几个:
ignore :拒绝所有类型的 NTP 联机
nomodify:客户端不能使用 ntpc 与 ntpq 修改服务器的时间参数,但客户端仍可通过这部主机来进行网络校时
noquery :客户端不能够使用 ntpq 与 ntpc 等来查询时间服务器,等于不提供 NTP 的网络校时
notrap :不提供 trap 这个远程事件登录(remote event logging)的功能,用于远程事件日志记录
notrust :Client 除非通过认证,否则该 Client 来源将被视为不信任网域,会拒绝没有认证的客户端
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod : 向不安全的访问者发送 Kiss-Of-Death 报文
server段,设置上层ntp服务器:
server [IP or HOSTNAME] [PREFER]

打开ntp服务

systemctl start ntpd

开机自启

systemctl enable ntpd

三、客户端同步

(1)使用ntp服务(ntpd):

客户端修改ntp配置文件vi /etc/ntp.conf

…
#注释掉原上游server地址
#server ...
server <提供服务端ip> 
…
(2)使用ntpdate命令

①手动执行命令

ntpdate -u <提供服务端ip> && hwclock -w

②以及定时执行同步操作(相关命令:crontab、ntpdate,相关服务:crond)
添加定时任务

crontab -e

编辑内容如下,此处表示每天12点执行:

0 12 * * * /usr/sbin/ntpdate -u <提供服务端ip> && hwclock -w

查看定时任务

crontab -l

删除定时任务

crontab -r

注意点:

0.ntpd与ntpdate
正因为ntpd与ntpdate区别很大,具体见参考链接3,顾在生产环境中慎用ntpdate。
Linux如果开启了NTP服务,则不能手动运行ntpdate更新时间(会报端口被占用),它只能根据/etc/ntp.conf 里server 字段后的服务器地址按一定时间间隔自动向上级NTP服务器更新时间。
让linux运行ntpdate更新时间时,linux不能开启NTP服务,否则会提示端口被占用:如下

[root@ESXI ~]# ntpdate 1.rhel.pool.ntp.org
20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting

1.ntp服务
默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd 文件。
在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。
2.ntpdate命令+定时任务crontab
(1)需同时更新硬件时间,hwclock -w
(2)用定时任务执行时间同步,需指定ntpdate命令路径/usr/sbin/ntpdate

Chrony

见:
Chrony:RHEL7 -- 使用Chrony设置时间与时钟服务器同步

你可能感兴趣的:(笔记 时间同步服务器搭建)