欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下搭建ntp时间服务器

程序员文章站 2022-06-02 20:13:31
...

NTP(Network Time Protocol)服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,应用于对时间实时性要求高的、必须统一时间事件。

NTP时间服务器是一个简单的常用的服务器,在工作中我们只要做到会用、能搭建起来就行,初学者不用太去深入研究

ntp时间服务器的原理。

服务端配置:

一、安装ntp服务      

yum install ntp ntpdate -y

二、修改ntp.conf配置文件

cp /etc/ntp.conf /etc/ntp.conf.bak   #对ntp.conf文件进行备份

 修改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 #在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery  #我们对于默认的客户端拒绝所有的操作
restrict -6 default kod 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  #开启内部递归网络接口lo 即允许本机地址一切的操作
restrict -6 ::1

# Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap#我们允许局域网内所有客户端连接到这台服务器同步时间.但是拒绝让他们修改服务器上的时间

service 192.168.75.132  # 这句也是手动增加的,指明局域网中作为NTP服务器的IP

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.rhel.pool.ntp.org    #互联网上的三个ntp服务器
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org 

#sebroadcast 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

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available. 
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

三、启动NTP服务

service ntpd start

 为了使服务可以在系统引导的时候自动启动,执行 

service ntpd startchkconfig ntpd on

四、检查时间服务器是否正确同步

Linux下搭建ntp时间服务器

 一个可以证明同步有问题的证据是:所有远程服务器的jitter值是4000并且delay和reach的值是0。

可能的原因有:

(1)有防火墙阻断了与server之间的通讯,即123端口是否正常开放;

检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。可以用命令:

service iptables stop

来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。

在vi /etc/sysconfig/iptables添加如下规则:

-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT 

(2) 此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你在客户端执行“ntpdate 服务器ip”的时候将返回:
    27 Jun 10:20:17 ntpdate[21920]: no server suitable for synchronization found

客户端配置:

一、客户端安装ntp服务

yum install ntp ntpdate -y

二、配置ntp.conf文件 

 只需增加 server 服务器IP

三、手动同步时间

ntpdate 服务器IP或域名


相关标签: n'