`

NTP 时间服务器配置《三》通过ntpd服务平滑同步时间

 
阅读更多

NTP 时间服务器配置《》通过ntpd服务平滑同步时间

 

 

使用ntpd服务,要好于ntpdate加cron的组合。因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

 

 

一、环境方案

 

环境:linux centos 7.0 三台(都已安装ntp服务)

方案:一台服务器作为ntpd服务与外部公共ntp服务同步时间,同时作为内网的ntpd服务器,其余两台机器与这台服务做时间同步。

 

服务器IP

角色 

说明

同步方式

192.168.152.129

NTPD服务

1、负责与外部公共NTPD服务同步标准时间

2、作为内外网络的NTPD服务

NTPD服务平滑同步

192.168.152.130

内外NTP客户端

内网设备与192.168.152.129同步时间

NTPD服务平滑同步

192.168.152.131

内外NTP客户端

内网设备与192.168.152.129同步时间

NTPD服务平滑同步

 

ntp服务的实现是通过配置/etc/ntp.conf文件完成的,这里重点说一下,可以用ntp搭建自己的时间服务器,也可以使用官方提供的服务器。

 

 

二、配置内网NTP-Server(192.168.152.129)

 

1.修改配置文件

[root@localhost Desktop]# vi /etc/ntp.conf

 

# For more information about this file, see the man pages

# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

 

driftfile /var/lib/ntp/drift

 

# Permit time synchronization with our time source, but do not

# permit the source to query or modify the service on this system.

restrict default nomodify notrap nopeer noquery

 

# Permit all access over the loopback interface.  This could

# be tightened as well, but to do so would effect some of

# the administrative functions.

restrict 127.0.0.1

restrict ::1

 

# 允许内网其他机器同步时间

restrict 192.168.152.0 mask 255.255.255.0 nomodify notrap

 

# Hosts on local network are less restricted.

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

 

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

 

# 中国这边最活跃的时间服务器: http://www.pool.ntp.org/zone/cn

server 1.cn.pool.ntp.org

server 3.asia.pool.ntp.org

server 2.asia.pool.ntp.org

server 0.asia.pool.ntp.org

server 1.asia.pool.ntp.org

 

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

 

#broadcast 192.168.1.255 autokey# broadcast server

#broadcastclient# broadcast client

#broadcast 224.0.1.1 autokey# multicast server

#multicastclient 224.0.1.1# multicast client

#manycastserver 239.255.254.254# manycast server

#manycastclient 239.255.254.254 autokey # manycast client

 

# allow update time by the upper server 

# 允许上层时间服务器主动修改本机时间

restrict 1.cn.pool.ntp.org nomodify notrap noquery

restrict 3.asia.pool.ntp.org nomodify notrap noquery

restrict 2.asia.pool.ntp.org nomodify notrap noquery

restrict 0.asia.pool.ntp.org nomodify notrap noquery

restrict 1.asia.pool.ntp.org nomodify notrap noquery

 

# 外部时间服务器不可用时,以本地时间作为时间服务

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

 

# Enable public key cryptography.

#crypto

 

includefile /etc/ntp/crypto/pw

 

# Key file containing the keys and key identifiers used when operating

# with symmetric key cryptography.

keys /etc/ntp/keys

 

# Specify the key identifiers which are trusted.

#trustedkey 4 8 42

 

# Specify the key identifier to use with the ntpdc utility.

#requestkey 8

 

# Specify the key identifier to use with the ntpq utility.

#controlkey 8

 

# Enable writing of statistics records.

#statistics clockstats cryptostats loopstats peerstats

 

# Disable the monitoring facility to prevent amplification attacks using ntpdc

# monlist command when default restrict does not include the noquery flag. See

# CVE-2013-5211 for more details.

# Note: Monitoring will not be disabled with the limited restriction flag.

disable monitor

 

2.配置文件修改完成,保存退出,启动服务,即完成主服务的配置。

[root@localhost Desktop]# service ntpd start

 

3.查看NTP服务情况(启动后,一般需5-10分钟左右才能与外部时间服务器开始时间同步)

[root@localhost Desktop]# ntpstat

 

刚启动的时候,一般是:

# ntpstat 

unsynchronised

  time server re-starting

   polling server every 64 s

连接并同步后:

synchronised to NTP server (202.112.10.36) at stratum 3 

   time correct to within 275 ms 

   polling server every 256 s

 

4.查看NTP服务连接和监听

[root@localhost Desktop]# netstat -tlunp | grep ntp



 

5.查看网络中的NTP服务器,同时显示客户端和每个服务器的关系

[root@localhost Desktop]# ntpq -p

 



参数说明:

remote响应请求的NTP服务器名称

refidNTP服务器使用的更高一级服务器的名称

st正在响应请求的NTP服务器的级别

when上一次成功请求之后到现在的秒数

poll本地和远程服务器多少时间进行一次同步,单位秒开始运行NTP的时候poll值会比较小,服务器同步的频率大,可以尽快调整到正确的时间范围,之后poll值会逐渐增大,同步的频率也就会相应减小

reach用来测试能否和服务器连接,是一个八进制值,每成功连接一次它的值就会增加

delay从本地机发送同步要求到NTP服务器的往返时间

offset主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒,offset越接近于0,主机和NTP服务器的时间越接近

jitter统计了在特定个连续的连接数里offset的分布情况。简单地说这个数值的绝对值越小,主机的时间就越精确

 

 

三、配置内网NTP-Clients(192.168.152.130/131)

 

1.修改配置文件/etc/ntp.conf

driftfile /var/lib/ntp/drift

 

restrict 127.0.0.1

restrict ::1

 

# 配置时间服务器为本地的时间服务器

server 192.168.152.129

 

restrict 192.168.152.129 nomodify notrap noquery

 

server  127.127.1.0     # local clock

fudge   127.127.1.0 stratum 10

 

includefile /etc/ntp/crypto/pw

 

keys /etc/ntp/keys

 

disable monitor

注意:去掉了注释部分

 

2.配置文件修改完成,保存退出,请先使用ntpdate手动同步下时间

# ntpdate 192.168.152.129

 

3.启动NTP服务,查看情况

# service ntpd start

....

# ntpq -p

# ntpstat

 

 

四、特别注意

 

配置完成之后,还有几个步骤比较重要,否则可能出现各种奇怪的问题

 

1.打开udp/123防火墙端口

Linux下防火墙如果及其严格的话可能会影响ntpd服务对时,所以要打开udp/123端口

 

2.设置ntpd服务开机自启动

(1)查看系统内置的服务自启动状态命令

systemctl list-unit-files


(2)设置NTPD服务开机自启动

# systemctl enable ntpd.service

 

但是,调整之后重启系统,发现NTP并没有启动起来。查看chronyd服务是否设置开机自启动,这个服务导致NTP无法开启自启动,解决办法是禁止chronyd服务开机自启动

systemctl status chronyd
# systemctl disable chronyd.service

 

3.NTP同步硬件时间

NTP服务默认只会同步系统时间。如果要让NTP同时同步硬件时间,可设置/etc/sysconfig/ntpd 文件。

添加以下内容,就可以让硬件时间与系统时间一起同步。

SYNC_HWCLOCK=yes

 

4.NTP服务自我保护

NTP有一个自我保护设置:默认情况下如果NTP本地时间与上级NTP时间差超过1000s,那么NTP进程就会退出并在系统日志文件中记录,且不会进行时间同步。所以新设置的时间服务器一定要先 ntpdate 从上源取得时间初值, 然后启动 ntpd服务。ntpd服务运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.

 

当然还有另一种解决办法:在配置文件/etc/ntp.conf的第一行加上这么一句,这可以保证ntpd在时间差较大时依然工作。

tinker panic 0

  

注意:ntpd不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate

 

 

 

 

 

 

  • 大小: 21.8 KB
  • 大小: 22 KB
分享到:
评论

相关推荐

    NTP服务及时间同步

    使用`netstat -tlunp | grep ntp`检查NTPD服务是否正在监听123端口,用`ntpq -p`查看NTP服务器列表和状态,以及`ntpstat`命令检查时间同步状态。 7. **配置内网NTP-Clients**: 客户端服务器的配置相对简单,只需...

    NTP 微调和跳跃模式说明

    NTP 客户端和服务端的时间同步是通过 ntpd 服务实现的。NTP 客户端可以使用 ntpdate 命令或 ntpd 服务来同步时间。ntpdate 命令可以将客户端的时钟与服务器端的时钟同步,不管差异多大,都是一次调整到位。ntpd 服务...

    ntpd同步主机时间.zip

    1. **时间同步**:ntpd不断监听来自NTP服务器的时间信号,并根据这些信号调整本地时钟,以达到高精度的时间同步。 2. **适应性调整**:ntpd能够适应网络延迟和不稳定性,通过算法优化逐步调整时钟,避免频繁的时钟跃...

    关于ntp服务器搭建

    ntpd 不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非 ntpdate 立即同步。在生产环境中应慎用 ntpdate。由于 ntpdate 是立即同步,在获得一个时间之后,ntpdate 使用 ...

    Linux时间同步_ntpd_ntpdate-简单设置.docx

    NTPd的配置文件通常是`/etc/ntp.conf`,在这里可以指定多个NTP服务器,以提高时间同步的可靠性。 在Linux环境中,正确配置时间同步对于网络通信和系统日志等关键功能至关重要。理解系统时间、硬件时间的区别以及...

    linux时间同步,ntpd、ntpdate 1

    启动`ntpd`服务并配置NTP服务器地址,例如: ```shell systemctl start ntpd systemctl enable ntpd ``` 然后在`/etc/ntp.conf`配置文件中添加NTP服务器地址,例如`server 192.168.0.1`。 综上所述,Linux...

    服务器时间同步

    然而,为了提高时间同步的准确性和稳定性,通常还会配置服务器连接到互联网上的NTP公共服务器,以获取更精确的世界标准时间。此外,还可以使用ntpd的平滑漂移功能来逐渐调整时间,避免因快速时间调整导致的问题。在...

    ntp.tar.gz_NTP 获取_ntp 系统时间_获取网络时间

    NTP通过连接到已知的时钟服务器(也称为NTP服务器),比较本地系统时间与这些服务器的时间,然后进行微调,以确保系统时钟的准确性。以下是一些关键的步骤和概念: 1. **安装NTP**:首先,你需要在Linux系统上安装...

    NTP 授时资料

    配置NTP服务器涉及设定服务器地址、设置安全策略、调整同步参数等。在Linux系统中,可以通过修改`/etc/ntp.conf`配置文件来完成。例如,添加服务器地址、限制客户端访问、设置时区等。 五、NTP安全考虑 NTP的安全性...

    ntp-4.1.2.tar.gz

    安装NTP软件包后,可以通过配置`/etc/ntp.conf`文件来指定服务器列表,并控制NTP的行为。例如,可以添加以下行来配置NTP服务器: ``` server 0.pool.ntp.org iburst server 1.pool.ntp.org iburst server 2.pool....

    RHCE-RHEL6-124 U4.1 配置NTP服务

    8. **验证配置**:最后,通过 `systemctl status ntpd` 检查 NTP 服务是否正在运行,并且与选定的时间服务器保持同步。 NTP 的工作原理涉及到复杂的算法,它可以处理网络延迟并平滑调整系统时钟,确保时钟误差最小...

    获取网络时间并将本地时间修改为网络时间

    2. **`ntpd`**:`ntpd`服务会周期性地检查网络时间,并平滑地调整本地时钟,以保持长期的准确同步。启动服务的命令通常是`sudo systemctl start ntpd`,并且可以设置为开机自启。 3. **`w32time`**:在Windows系统...

    在Ubuntu中使用NTP实现时间同步

    `ntpdate`在系统启动时一次性同步时间,而`ntpd`作为后台服务,持续监控并微调系统时钟,避免大范围的时间调整。然而,随着systemd的引入,这两个工具逐渐被`timedatectl`和`timesyncd`取代。 `timedatectl`是...

    NTP Client

    `ntpd`会周期性地向NTP服务器发送请求,获取服务器的准确时间,并根据接收到的信息调整本地系统时钟。此外,还有一些轻量级的NTP客户端工具,如`chronyd`,它更适应现代网络环境,处理延迟和抖动的能力更强。 ### ...

    linux时间同步.pdf

    Linux中的NTP服务通过`ntpd`守护进程实现,它可以持续地、平滑地调整系统时间,避免时间跳跃对系统造成影响。`ntpdate`命令则可以一次性将系统时间强制设置为指定NTP服务器的时间,常与cron配合定期执行同步。 在...

    Linux基础知识之ntpd和ntpdate的区别.pdf

    所以最后的建议是:如果首次安装操作系统还未启动业务之前,建议先ntpdate,然后再开启ntpd服务与时间服务器进行实时平滑同步。这可以确保系统时间的准确性和连续性,避免时间跳变对系统的影响。 ntpd和ntpdate都是...

    ntpdlinux时间同步.pdf

    NTP服务器在网络中扮演着时间标准的角色,客户端可以通过`ntpdate`命令或者`ntpd`服务与其同步。 `ntpdate`命令能够快速强制同步系统时间,但它可能会导致时间的瞬间跳跃,可能对某些依赖精确时间的程序造成影响。...

    ntp client 实例代码

    NTP客户端是实现该协议的一端,用于从NTP服务器获取并同步时间。在这个实例中,我们将深入理解如何编写一个简单的NTP客户端,以连接到指定的NTP服务器并获取准确的时间。 1. **NTP协议基础** NTP协议基于UDP(用户...

Global site tag (gtag.js) - Google Analytics