A. 如何在linux 上配置NTP 时间同步
一:NTP是网络时间同步协议,就是用来同步网络中各个计算机的时间的协议。
二:NTP服务端配置
2.1、检查系统是否安装了NTP包(linux系统一般自带NTP4.2),没有安装我们直接使用yum命令在线安装: yum install ntp
2.2、NTP服务端配置文件编辑: vim /etc/ntp.conf
结果:
restrict 控制相关权限。
语法为: restrict IP地址 mask 子网掩码 参数
其中IP地址也可以是default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod : 访问违规时发送 KoD 包。
restrict -6 表示IPV6地址的权限设置。
root@www ~]#vim /etc/ntp.conf# 1. 先处理权限方面的问题,包括放行上层服务器以及开放区网用户来源:restrict default kod nomodify notrap nopeer noquery <==拒绝 IPv4 的用户restrict -6 default kod nomodify notrap nopeer noquery <==拒绝 IPv6 的用户restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 进入本 NTP 服务器restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 进入本 NTP 服务器restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 进入本 NTP 服务器restrict 127.0.0.1 <==底下两个是预设值,放行本机来源restrict -6 ::1restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行区网来源# 2. 设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定注解掉:server 220.130.158.71 prefer <==以这部主机为最优先server 59.124.196.83server 59.124.196.84# 3.预设时间差异分析档案与暂不用到的 keys 等,不需要更动它:driftfile /var/lib/ntp/driftkeys /etc/ntp/keys
ntpd、ntpdate的区别
下面是网上关于ntpd与ntpdate区别的相关资料。如下所示所示:
使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。
时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:
第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。
B. linux 时间同步ntp问题,客户端如何同步时间
解决方案:
在linux 上配置NTP 时间同步,具休操作步骤,整理如下:
1. 安装软件包(在服务端和客户端):
yum install ntp
2. 服务器端配置
例如:
首先,服务端设定IP地址为:192.168.146.110
修改ntp配置文件
vim /etc/ntp.conf
server 0.redhat.pool.ntp.org //设定上级服务器
restrict 192.168.146.0 mask 255.255.255.0 nomodify //设定哪些client机器可以和ntp server进行同步
//启动NTP服务前,手动校正一次时间
ntpdate 0.redhat.pool.ntp.org
service ntpd restart
chkconfig ntpd on
//查看ntp服务状态
netstat -ln | grep 123
ntpstat
3.客户端配置:
ntpdate 192.168.146.110 //与NTP server 同步时间
或者定期同步
crontab -e
*/5 * * * * /usr/sbin/ntpdate -u 192.168.146.110 //每五分钟同步一次
重启crond服务/etc/init.d/crond restart
ntpq -p //查看同步状态
C. 【ntp】NTP服务器时间同步三部曲
在一台计算机上我们有两个时钟:一个称之为硬件时间时钟(RTC),还有一个称之为系统时钟(System Clock)。
系统时钟就是操作系统的kernel所用来计算时间的时钟. 它从1970年1月1日00:00:00 UTC时间到目前为止秒数总和的值。
在Linux下,系统时间在开机的时候会和RTC硬件时钟同步(synchronization),之后也就 各自独立运行 了。
系统运行期间,则通过其他硬件时钟源进行tick计算(tsc、hpet、acpi_pm)。
RTC(real time clock)通过主板(CMOS)的电磁供电,精确到秒。用户可手工设置RTC时间。
1. 强制跃迁同步
ntpdate -u xx.xx.xx.xx
xx.xx.xx.xx 为ntpServer地址,如 ntp.aliyun.com
注意:此时本机的ntpd不能启动,否则执行 ntpdate会报socket占用
2. 将系统时间同步到硬件时钟
hwclock -w
3. 启动ntpd,后续平滑同步
systemctl start ntpd
注意:此时本机的不能在ntpd运行期间执行ntpdate,否则会报socket占用
NTP服务器时间监控脚本
https://www.yaoyan.me/2021/03/ntp-time-monitor/
使用Prometheus监控时间指标
http://www.panooo.com/prometheus_ntp
Linux时间子系统及node-exporter对时钟的监控
https://www.cnblogs.com/danny-djy/p/14132436.html
真正让你明白Linux NTP(包括历史、参数解释、安装配置)
https://www.aboutyun.com/thread-11395-1-1.html
GaussDB(DWS)NTP变更指南
https://bbs.huaweicloud.com/blogs/detail/211403
NTP时钟同步异常告警处理
https://support.huawei.com/enterprise/zh/knowledge/KB1000029535
chrony服务时间同步实验
https://www.yaoyan.me/2021/03/Chrony/
NTP 服务概述
https://cloud.tencent.com/document/proct/213/30392
Linux 实例:配置 NTP 服务
https://cloud.tencent.com/document/proct/213/30393
Linux 实例:将 ntpdate 转换为 ntpd
https://cloud.tencent.com/document/proct/213/45361
Redis 3.2.8集群部署实验
https://www.yaoyan.me/2017/03/redis-cluster-setup/
Linux dns服务 bind安装配置
https://www.yaoyan.me/2017/06/LinuxBind/
printf格式化输出
https://www.yaoyan.me/2015/07/shell_printf/
NTP协议与SNTP协议的区别
https://www.ruijie.com.cn/fw/wt/18857/
SNTP- Simple Network Time Protocol简单网络时间协议
https://www.syn029.com/h-nd-1881.html
https://hongwangle.com/terms-definition/time-server-terms-analysis/sntp-simple-network-time-protocol/
D. 时间同步 ntpdate 配合 crontab
/usr/sbin/ntpdate time-a.nist.gov s2m.time.e.cn ntp.sjtu.e.cn
首先使用 ntpdate 对时间进行网络更新(同步),可以同时指定多个时间服务器,由 ntpdate 自动选择
为了保证时钟精确,我们可以把ntpdate命令放入crontab。但是,对于那些不是一直开启的机器(比如便携机),这个命令放入启动脚本或手工运行更合适。
必须指出的是,ntpdate设置的是系统时钟,但它不设置硬件时钟(电池供电的时钟)。要让硬件时钟反应系统时钟的值,请使用如下命令:
2.自动时间同型迹慧步
(1)利用开机脚本进行同步
Vim /etc/rc.local
添加一条时间同步命令:/usr/sbin/ntpdate ntp.fudan.e
(2)利用周期进程(crontab)进行同步
Crontab 简介
用法:
分时日月周命令
crontab -e 命令,进入一个VI的编辑界面,既可以添加或修改任务了
格式:
*/5 * * * *
为了保证时钟精确,我们可以把ntpdate命令放入crontab。但是,对于那些不是一直开启的机器(比如便携机),这个命令放入启动脚本或手工运行更合适。
必须指出的是,ntpdate设置的是系统时钟,但它不设置硬件时钟(州颂电池供电的时钟)。要让硬件时钟反应系统时钟的值,请使用如下命令:
# hwclock -systohc
2.自动时间同步
(1)利用开机脚本进行同步
Vim /etc/rc.local
添加一条时间同步命令:/usr/sbin/ntpdate ntp.fudan.e
(2)利用周期进程(crontab)进行同步
Crontab 简介
用法:
分时日月周命令
crontab -e 命令,进入一个VI的编辑界面,既可以卜答添加或修改任务了
格式:
*/5 * * * * /usr/sbin/ntpdate time-a.nist.gov s2m.time.e.cn ntp.sjtu.e.cn &> /dev/null
Crontab –l 查看是否已经成功添加。
E. windows ntp时间同步命令
Ntp时间同步可以直接在windows里面开启设置即可,具体操作如下,
开启 NTP Client 服务
1、打开 powershell 终端, 输入:gpedit.msc,打开组策略管理器
2、执行上述命令后,计算机策略对话框打开,按照如下路径 计算机配置\管理模板\系统\windows 时间服务\时间提供程序 找到服务器设置文件
3、双击 配置 Windows NTP 客户端,显示 配置 Windows NTP 客户端
4、将 Ntp Server项,输入将要同步到的时间服务器IP地址(这里输入阿里云的ntp服务器地址: time.pool.aliyun.com),注意 0x9 或 0x1 必须要有;在 类型 项, 选择 NTP;点击 应用、确定 按钮;
5、启动 NTP 客户端;启用NTP客户端;点击 应用、确定 按钮;
6、执行下面命令更新组策略
gpupdate /force
7、检查W32Time服务是否启动,启动类型是否是 自动启动
设置NTP服务器地址,跟组策略一样
在命令提示符下键入以下命令(PeerList 是以逗号分隔的DNS 名称或时间源IP 地址列表):
C:\> w32tm /config /syncfromflags:MANUAL /manualpeerlist:"168.1.2.3,0x08 168.4.5.6,0x08" /update
C:\> w32tm /resync /rediscover
完成后输入以下命令查看当前时间服务器设置
C:\> w32tm /query /peers
可以进入命令行模式,查看当前Windows Time服务运行情况:
C:\>w32tm /query /status
手动启动w32time服务
C:\>net start w32time
C:\>net stop w32time
(1)服务器不能上网,当前环境有ntpd服务器
在第4步里把ntp server的地址改为内网ntpd服务器的地址即可
(2)服务器必须要能上网,使用公网上的ntpd服务器,例如阿里云的ntpd服务器
F. linux时间同步命令
linux时间同肢罩返步命令的闷嫌方法:
可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器历饥和选择算法来选择最好的样本。命令格式:ntpdate时间服务器。