详解两台Linux NTP配置文件,精准同步时间 (两台linux ntp配置文件)

时间同步在计算机系统中是非常关键的功能,保证各个设备之间的操作具有相同的时间参考,避免因时间误差导致的各种问题。而NTP(Network Time Protocol)是一种广泛使用的互联网时间同步协议,能够实现精准同步时间。在Linux操作系统中,通过配置NTP客户端和服务端来实现时间同步。本文将详细介绍两台Linux NTP配置文件,帮助读者精准同步时间。

一、NTP客户端配置文件

在Linux系统中,可以通过使用NTP客户端来实现时间同步。NTP客户端需要与NTP服务端进行通信,并从服务端获取世界协调时间(UTC)来同步本地时间。下面是一个典型的NTP客户端配置文件:

“`

# /etc/ntp.conf

driftfile /var/lib/ntp/ntp.drift

server 0.pool.ntp.org iburst

server 1.pool.ntp.org iburst

server 2.pool.ntp.org iburst

server 3.pool.ntp.org iburst

restrict default nomodify notrap nopeer noquery

restrict -6 default nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict ::1

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

broadcastdelay 0.008

authenticate no

“`

1. driftfile

driftfile指定一个文件用来记录时间偏差,这个文件会在系统重启后被客户端读取,从而帮助同步时间。在Linux系统中,通常使用/var/lib/ntp/ntp.drift作为这个文件的路径。

2. server

server指定NTP服务端的地址,可以指定多个服务端,以确保时间同步的准确性。这里使用了0.pool.ntp.org、1.pool.ntp.org、2.pool.ntp.org、3.pool.ntp.org四个NTP服务端地址,iburst选项表示启动时快速与服务端进行连接并将时钟同步。

3. restrict

restrict用来设置服务器策略,限制客户端对服务器的操作。选项中的nomodify表示不允许修改服务端状态,notrap表示不允许使用NTP Trap控制信息,nopeer表示不允许客户端通过NTP协议与服务端交互,noquery表示不允许客户端查询服务器状态。

4. includefile

includefile指定了一个文件,在该文件中包含更多的NTP控制文件。在这个指定的文件中,可以包含更多的配置项,帮助客户端精确同步时间。

5. keys

keys指定NTP使用的密钥文件路径。如果有多个NTP客户端,可以使用密钥文件来确保通信的安全性。

6. broadcastdelay

broadcastdelay指定了广播时间同步的延迟,单位为秒。如果要使用广播方式进行时间同步,可以将该选项设置为0。

7. authenticate

authenticate指定是否启用NTP身份验证机制。如果启用身份验证,需要配置NTP服务端和客户端的身份验证信息才能进行通信。

通过在客户端上配置以上选项,即可实现精准同步时间的功能。

二、NTP服务端配置文件

NTP服务端的配置文件和客户端类似,只是需要额外的选项和配置来支持服务端的功能。在NTP服务端中,需要指定确定时间源(即参考时钟),并将其与其他客户端同步。下面是一个典型的NTP服务端配置文件:

“`

# /etc/ntp.conf

tinker panic 0

driftfile /var/lib/ntp/ntp.drift

server 127.127.1.0

fudge 127.127.1.0 stratum 10

restrict default kod nomodify notrap nopeer noquery limited

restrict source nomodify notrap noquery

restrict 127.0.0.1

restrict ::1

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

broadcastdelay 0.008

enable mode7

broadcastclient

“`

1. tinker

tinker用于调整NTP服务端与参考时钟之间的时间偏差。在这里,将tinker panic 0选项设置为0,表示当NTP服务端与时钟源的时间偏差过大时,NTP服务端不会在超过1000秒时重启或退出。

2. server

server指定参考时钟的地址,这里使用本地时钟作为参考时钟。由于本地时钟可以提供非常精确的参考时间,因此被广泛使用。

3. fudge

fudge用于调整时钟源的stratum(分层)值,以确保时间同步的准确性。stratum值越低,它的准确性就越高。由于本地时钟的stratum值通常很低,因此需要使用fudge指令将stratum值调整到10。

4. restrict

restrict用于设置服务端的访问策略,以确保通信的安全性。这里使用了一些普通的restrict选项,限制了客户端对服务端的访问权限。

5. includefile

includefile指定一个文件,作为包含更多的NTP配置项的容器文件。在这个文件中,可以包含更多的配置项,帮助NTP服务端与客户端之间进行精确的时间同步。

6. keys

keys指定了一个密钥文件路径,用于确保通信的安全性。

7. broadcastdelay

broadcastdelay指定使用广播方式进行时间同步的延迟,这里设置为0.008秒以确保高精度同步时间。

8. enable mode7

enable mode7启用了一种NTP协议扩展模式,允许使用更多的高级NTP控制命令。

通过在服务端上配置以上选项,即可实现精准同步时间的功能。

三、

在Linux系统中,通过配置NTP客户端和服务端,可以实现精准同步时间的功能。NTP客户端需要与NTP服务端进行通信,并从服务端获取世界协调时间(UTC)来同步本地时间。NTP服务端需要指定确定时间源(即参考时钟),并将其与其他客户端同步。NTP客户端和服务端的配置文件类似,但服务端需要额外的选项和配置来支持服务端的功能,如指定参考时钟、调整stratum值等。通过使用以上配置文件,读者即可在Linux系统中实现精准同步时间的功能。

相关问题拓展阅读:

linux系统如何设置时间同步?

可以考虑搭建

ntp服务器

把ntp服轮老务搭腊坦升在

服务器信雀端

然后客户端只要同步服务器端的时间就可以了

可以使用ntpdate命令。ntpdate命令使用网络时间协议(NTP)设置日期和时间,通过轮询指定的确定正确时间的NTP服务器来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准NTP时钟过滤器漏亮和选择算法来选择更好的样本。

命令格式:ntpdate 时间服务器

用法示例:$ ntpdate pool.ntp.org

设置时间同步脚本,虽然以上已经同步了时间此帆,但是由于计森搜雹时精度的原因,时间的误差会增大。可以通过设置计划任务,每天0点同步一下。

打开crontab进行编辑:$ crontab -e

在crontab任务文件添加:0 0 * * * root ntpate -s pool.ntp.org

-s参数指定将日志输出到syslog,而不是标准输出。

linux自带了ntp服务

/etc/init.d/ntpd,这个服务不仅察斗可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。

配置文件就是/etc/ntp.conf。

为了测试,设置让node2

192.168.1.102和node1

192.168.1.101做时间同步。

之一步,

node1做time

server,node1本身不和其他机器时间同步,就是取本地时间。

所以,先把node1机器的时间调准了:

~>date

-s

08/03/2023

~>date

-s 11:12:00

~>clock

-w

~>hwclock

–systohc

后两个命令是把设置的时间写到硬件时间中去(也就是cmos里面的时间)。

第二步,

然后将node1配置成一个time

server,修改/etc/ntp.conf,

~>vi

/etc/ntp.conf

其他的配置不怎么需要改,只需要亩数关注restrict的配置:

1.

注释掉原来的restrict

default

ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp

server的功能,所以需要注释掉。

2.

加入:restrict

192.168.1.0

mask

255.255.255.0

让192.168.1.0/24网段上的机器能和本机做时败耐磨间同步

3.

这样就可以了,记得下面的:

server

127.127.1.0

#

local

clock

fudge

127.127.1.0

stratum

这两行需要,这是让本机的ntpd和本地硬件时间同步。

当然,我们也可以添加server

…,让他和其他的time

server时间同步。

4.

/etc/init.d/ntpd

restart

5.

chkconfig

ntpd

on

6.

修改iptables配置,将tcp和udp

123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。

第三步,

这样node1就成为一台time

server了,现在我们配置node2这台机器,也是修改/etc/ntp.conf

~>vi

/etc/ntp.conf

1.

restrict

default

ignore这行保留为注释状态,因为sales不需要做time

server

2.

注释掉server

127.127.1.0,

fudge

127.127.1.0

stratum

10这两行,因为这台机器不需要和本地硬件时钟同步了。

3.

加入server

192.168.1.101这行,和node1机器同步。

这样就ok了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time

server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间

第四步,将ntpdate放到crontab中定期步也是可以的

~>#vi

ntpupdate.sh

/usr/in/ntpdate

192.168.1.101

~>#chmod

755

ntpupdate.sh

~>#crontab

-e

*/1

*

*

*

*

/root/ntpupdate.sh

~>#/etc/init.d/crond

restart

1.因为要纯燃用到时间服务器(pool.ntp.org)因此要首先设置好dns服务器,用的是网通的dnsecho “nameserver 202.106.0.20” >> /etc/ resolv.conf2.手动同步/做岁虚usr/in/ntpdate pool.ntp.org 3.设置命令如雀尺下,每隔一小时同步一次时间:crontab –e #添加0 */1 * * * /usr/in/ntpdate pool.ntp.org 2>&1 >> /tmp/ntp.log; /in/hwclock -w之一句命令是同步时间第二句是把时间写到系统硬件时钟里,免得系统重启后时间不对

Linux做两台服务器 其中一台坏了 另一台服务器继续工作 如何做 求解

用 Heartbeat daemon

双机热备份技术是一种软硬件结合的较高容错应用方案。该方案是由两台服务器系统和一个外接共享磁盘阵列柜(也可没有,而是在各自的服务器中采取RAID卡)及相应的双机热备份软件组成。

linux自带了ntp服务

/etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time

server的角色,让其他机器和他同步时间。

配置文件就是/etc/ntp.conf。

为了测试,设置让node2

192.168.1.102和node1

192.168.1.101做时间同步。之一步,node1做time

server,node1本身不和其他机器时间同步,就是取本地时间。所以,先把node1机器的时间调准了:

~>date

-s

08/03/2023

~>date

-s

11:12:00

~>clock

-w

~>hwclock

–systohc

后两个命令是把设置的时间写到硬件时间中去(也就是cmos里面的时间)。

第二步,然后将node1配置成一个time

server,修改/etc/ntp.conf,

~>vi

/etc/ntp.conf其他的配置不怎么需要改,只需要关注restrict的配置:

1.

注释掉原来的restrict

default

ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp

server的功能,所以需要注释掉。

2.

加入:restrict

192.168.1.0

mask

255.255.255.0

让192.168.1.0/24网段上的机器能和本机做时间同步

3.

这样就可以了,记得下面的:

server

127.127.1.0

#

local

clockfudge

127.127.1.0

stratum

这两行需要,这是让本机的ntpd和本地硬件时间同步。

当然,我们也可以添加server

…,让他和其他的time

server时间同步。

4.

/etc/init.d/ntpd

restart

5.

chkconfig

ntpd

on

6.

修改iptables配置,将tcp和udp

123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。

第三步,这样node1就成为一台time

server了,现在我们配置node2这台机器,也是修改/etc/ntp.conf

~>vi

/etc/ntp.conf

1.

restrict

default

ignore这行保留为注释状态,因为sales不需要做time

server

2.

注释掉server

127.127.1.0,

fudge

127.127.1.0

stratum

10这两行,因为这台机器不需要和本地硬件时钟同步了。

3.

加入server

192.168.1.101这行,和node1机器同步。

这样就ok了。看看时间,已经和node1同步了。往后默认配置好像是5分钟和time

server同步一次。ntpdate命令是显式的和某台机器做时间同步,以前将ntpdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间

第四步,将ntpdate放到crontab中定期步也是可以的

~>#vi

ntpupdate.sh/usr/in/ntpdate

192.168.1.101

~>#chmod

755

ntpupdate.sh

~>#crontab

-e*/1

*

*

*

*

/root/ntpupdate.sh

~>#/etc/init.d/crond

restart

能否把你想要的结果说明白点呢?

这个需要用群集来做。你找一下群集相关的东西吧

如何将linux系统部署成ntp服务器

三、什么是NTP

  为了实现时间同步,我们就需要用户NTP(Network Time Protocol)这个协议。如图1所示。简单地说,NTP是用来使系统和一个精确的时间源保持时间同步的协议。笔者建议管理员更好在自己管理的网络中建立至少一台时间服务器来同步本地时间。

  如 果在一个公司的局域网中,如果让每个员工通过手动的方式每隔一段时间去校准时间,不但不利于管理,而且校准目标时间源也不一定准确。公司局域网络中不同计 算机的时间偏差尤其是客户机/服务器之间的时间偏差,就会对一些要求时间同步的服务产生影响。比如,为了管理方便,服务器设置了一到下班时间便 账号过期,用户无法访问Internet网络。而如果你的电脑时间与服务器的时间不同步,当你为你下班时间未到,正准备发送邮件时,或许在服务器的时间 上,你的账号便过期了,从而导到无法发送邮件。解决这种问题的方法很简单,就是建立一个能提供精确时间的服务器,局域网内的所有电脑统一通过这台时间服务 器进行时间同步、校准。

  四、NTP服务器安装

  现在,我们就来介绍一下,如何在Linux系统下,建立一个NTP服务器吧。在本文中,我们采用的是Fedora 2操作系统作为例子 (其它版本Linux也可以,系统的配置类似)。

  使用 RPM 安装

  首先输入如下指令

  rpm -q ntp

  查询本机是否安装了NTP软件包。如果没有安装的话,找到您的 Linux 的安装光盘,mount 上后,查找以NTP开头的软件包名,然后安装上去,就可以了!

  rpm –ivh ntp-4.1.2-5.i386.rpm

  五、NTP服务的设置

  1.NTP软件包的结构

  NTP服务的配置文件:

  /etc/ntp.conf :这个是 NTP 服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同!

  与NTP服务有关的Linux 系统文件及目录:

  /usr/share/zoneinfo:这是个目录,在这个目录下是规定了各主要时区的时间设定文件,例如中国大陆地区的时区设置文件是 /usr/share/zoneinfo/Asia/Shanghai 。

  /etc /sysconfig/clock:这个文件是Linux 的主要时区设定文件。每次启动后,Linux 会自动读取这个文件来设定系统预设要显示的时间!比如这个文件内容为“ZONE=Asia/Shanghai”,这表示我们的时间设定使用 /usr/share/zoneinfo/Asia/Shanghai 这个文件!

  /etc/localtime:这个文件是本地系 统的时间设定文件! 假设clock 文件里面规定了使用的时间设定文件为 /usr/share/zoneinfo/Asia/Shanghai, Linux 系统就会将 Shanghai那个文件复制一份为 /etc/localtime ,所以系统的时间显示就会以 Shanghai 那个时间设定文件为准。假设这台主机到了美国纽约,您只要将 /etc/sysconfig/clock 里面的ZONE 设定成为ZONE=”America/New_York” 并且将/usr/share/zoneinfo/America/New_York复制成为 /etc/localtime ,其它什么设置都不需要改动,系统的显示时间就是美国纽约当地的时间了!

  与 NTP 及系统时间有关的执行文件:

  /bin/date: Linux 系统上面的日期与时间修改及输出命令。

  /in /hwclock:因为主机的 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,只是调整了linux的系统时间,还需要使用 hwclock 才能将修改过后的时间写入 BIOS。这个命令必须root用户才能执行 。

  /usr/in/ntpd:NTP服务的守护进程文件,需要启动它才能提供NTP服务。

  /usr/in/ntpdate:NTP客户端用来连接NTP服务器命令文件。

  2.NTP服务端的设置

  编辑 /etc/ntp.conf 文件

  关于权限设定部分

  权限的设定主要以 restrict 这个参数来设定,主要的语法为:

  restrict IP地址 mask 子网掩码 参数

  其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP

  参数有以下几个:

  ignore :关闭所有的 NTP 联机服务

  nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。

  notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网

  noquery :不提供客户端的时间查询

  注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!

  上级时间服务器的设定

  由于我们配置的NTP 服务器需要网络上面时间比较准确的NTP服务器来更新自己的时间,所以在我们的 NTP 服务器上面要配置一部上级时间服务器来进行校准!在 Internet 上面提供了许多时间服务器,从下面地址找一个离你最近的

  

  用server这个参数设定上级时间服务器,语法为:

  server IP地址或域名

  IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。

  解决NTP服务器校准时间时的传送延迟

  使用driftfile参数设置:

  driftfile 文件名

  在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。

  注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。

  ntp.conf文件举例:

  设置要求:不对 Internet 提供服务,仅对内部子网 192.168.0.0/24 提供服务,NTP 服务器的上级时间主机为:clock.nc.fukuoka-u.ac.jp和ntp.nasa.gov,内部子网的客户端不能修改NTP服务器的时间参数。

  在ntp.conf中增加以下内容:

  restrict default ignore # 关闭所有的 NTP 要求封包

  restrict 127.0.0.1   # 开启内部递归网络接口 lo

  restrict 192.168.0.0 mask 255.255.255.0 nomodify #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数。

  server 133.100.9.2 prefer #用133.100.9.2做上级时间服务器

  server 198.123.30.#198.123.30.132作为上级时间服务器参考

  restrict 133.100.9.#开放server 访问我们ntp服务的权限

  restrict 198.123.30.132

  driftfile /var/lib/ntp/drift

  保存退出后。启动NTP服务

  service ntpd start

  如果想每次系统启动,NTP服务自动启动,请输入下面命令: chkconfig -level 35 ntpd on 注意:

  1.NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp 123这个端口。

  2.Ntpd启动的时候通常需要一段时间进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,最长大概有5分钟吧,如果超过了这个时间请检查一下您的配置文件。

  六、NTP客户端的使用

  Linux系统

  在Linux 上面进行网络校时非常简单,执行 ntpdate 即可:

  ntpdate 192.168.0.#192.168.0.1是NTP服务器的IP

  不要忘了使用hwclock命令,把时间写入bios

  hwclock -w

  如果想定时进行时间校准,可以使用crond服务来定时执行。

  编辑 /etc/crontab 文件

  加入下面一行:

* * * root /usr/in/ntpdate 192.168.0.1; /in/hwclock -w #192.168.0.1是NTP服务器的IP地址

  然后重启crond服务

  service crond restart

  这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

  Windows 系统

  在 Windows XP上面使用NTP进行时间校准也很简单:

  双击桌面任务栏上的时间,弹出“日期和时间”属性窗口,如图所示:

  选择Internet时间,在服务器中填入你的NTP服务器的IP地址或者域名,然后点击立即更新,您的系统时间就会立即更新。如果想定时更新,把左上角的自动与Internet时间服务器同步选中,然后点击右下角的应用即可。

  yy-2-3.tif

  如 果不是Windows XP系统,但是NTP服务器同时也是samba服务器的话,则对Windows来说,不需要安装任何时间同步软件,因为Windows客户端可以用net time\\时间服务器IP或服务器netbios名/set/yes来同步。可以把该命令放在开始菜单的启动项中,启动windows时自动同步。

两台linux ntp配置文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于两台linux ntp配置文件,详解两台Linux NTP配置文件,精准同步时间,linux系统如何设置时间同步?,Linux做两台服务器 其中一台坏了 另一台服务器继续工作 如何做 求解,如何将linux系统部署成ntp服务器的信息别忘了在本站进行查找喔。


数据运维技术 » 详解两台Linux NTP配置文件,精准同步时间 (两台linux ntp配置文件)