linux防火墙添加udp 123,centos下的ntp的安装和配置 (注意 防火牆的udp 123要打開,不然會不能用)...

本文介绍了在CentOS系统中如何安装和配置NTP服务,包括编辑`/etc/ntp.conf`文件、设置权限限制以及添加ntp服务器。同时强调了需要确保Linux防火墙开放UDP 123端口,以便NTP服务正常工作。通过`ntpdate`和`ntpd`服务同步时间,并解析了相关错误和时间同步方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos下的ntp的安装和配置安装 yum install

ntp

配置文件 /etc/ntp.conf

restrict default kod nomodify

notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1 # 用restrict控管权限

# nomodify - 用户端不能更改ntp服务器的时间参数

# noquery - 用户端不能使用ntpq,ntpc等命令来查询ntp服务器

# notrap - 不提供trap远端登陆

restrict 192.168.0.0 mask 255.255.0.0 nomodify

notrap

# 以下是两个ntp服务器

restrict cn.pool.ntp.org

restrict 164.67.62.194

# 用server设定上层ntp服务器,“prefer”表示优先

server cn.pool.ntp.org prefer

server 164.67.62.194

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10 # 系统时间与bios事件的偏差记录

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys # 日志

logfile /var/log/ntp.log

broadcastdelay 0.008

一个说明:

我在vmware下搭建的ntp服务器,别人可以同步它,它自己的时间却不对。照理是它同步上层,下层同步它呀。后来找了蛮久的资料,发现这个文件:/etc/ntp/step-tickers,说是ntp服务器无法主动同步上层服务器,所以将地址写入该文件中即可。

我在物理机里暂时没发现这个问题,也许是物理机本来自己的时间就正确,就难以发现它有没有主动同步上层服务器。

运行ntp

service ntpd start/stop/restart

chkconfig ntpd on

查看ntp的端口,应该看到123端口

netstat -unlnp 查看ntp服务器有无和上层连通

[root@S5 ~]# ntpstat

synchronised to NTP server () at stratum 2

time correct to within 74 ms

polling server every 128 s

注意:此命令出现上述synchronised结果比较慢,我的用了大概5分钟。

查看ntp服务器与上层间的联系 [root@S5 ~]# ntptrace -n

127.0.0.1 127.0.0.1: stratum 2, offset 0.064524, synch

distance 0.121167

210.72.145.44: timed out, nothing received***Request timed

out

查看ntp服务器与上层ntp服务器的状态

[root@S5 ~]# ntpq -p

其中,

remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先

refid - 参考上一层ntp主机地址

st - stratum阶层

when - 多少秒前曾经同步过时间

poll - 下次更新在多少秒后

reach - 已经向上层ntp服务器要求更新的次数

delay - 网络延迟

offset - 时间补偿

jitter - 系统时间与bios时间差

客户端同步时间的方法

方法一:使用 ntpdate

ntpdate [IP_Address]

看下面的例子,其中192.168.1.5是我在内网搭建的ntp服务器

[root@zy180 ~]# date

Thu Sep 25 13:04:17 CST 2008

[root@zy180 ~]# ntpdate 192.168.1.5

25 Sep 14:33:13 ntpdate[10302]: step time server 192.168.1.5 offset

5327.700798 sec

[root@zy180 ~]# date

Thu Sep 25 14:33:18 CST 2008

ntpdate 的特点:

1,ntpdate只运行一次就结束,即只同步一次。所以要使用ntpdate同步时间的话要将该命令写入cron中。

vi /etc/crontab

* * * * * root ntpdate 192.168.1.5

&& hwclock -w

之所以使用hwclock -w命令稍后再说。

2,ntpdate同步时间是跳跃的,如上面的显示,时间立即就同步了,这将可能导致文件时间标记、监控数据的紊乱。

方法二:使用ntpd服务

step1:/etc/ntpd.conf 写入 server [IP_Address]

step2:chkconfig ntpd on

step3:service ntpd start

大概过一刻钟开始起作用。

FAQ:系统报错 - Sep 25 11:59:39 localhost kernel: set_rtc_mmss: can't

update from 7 to 59

==================================网上查得源码==========================================

if (abs(real_minutes - cmos_minutes) < 30) {

update_cmos() } else { printk("set_rtc_mmss: can't update from %d

to %d\n", cmos_minutes, real_minutes); }

========================================================================================

bios时间与系统时间差异超过30分钟,就会报上述错误,只要修改bios时间或系统时间即可。

虚拟机下个人体验:

我的vm客户端用ntpd同步服务器后,慢慢变成标准时间,可接着又比标准时间越来越慢,然后出现上述报错。所以我觉得ntpd的同步频率比我的vm时钟频率跑得慢。

ntpd 的特点:

1,ntpd服务始终运行,定期同步时间。

2,ntpd服务是慢慢改变时间直至标准时间。

3,如果系统时间与bios时间差异超过30分钟,ntpd就会报错。

总结:

1,推荐使用 ntpd 服务。

2,ntpd开启后,无法使用ntpdate,看如下例子:

[root@zy180 ~]# service ntpd start

Starting ntpd: [ OK ]

[root@zy180 ~]# ntpdate 192.168.1.5

25 Sep 15:25:22 ntpdate[12334]: the NTP socket is in use,

exiting

附:linux的时间、时区 1,时间

系统时间:date 命令

bios时间:hwclock命令 (-r 读取bios时间,-w 写入bios时间)

每次开机时系统重新读bios时间。

所以前面ntpdate命令时的cron脚本需要用到hwclock,以避免机器重启后时间混乱。

2,时区

linux的所有时区文件都放在 /usr/share/zoneinfo 下。

linux系统的时区文件是

/etc/localtime,这是个时间格式的档案,不是ACSII码。它与/usr/share/zoneinfo/下的自己的时区文件是一样的。

我的时区是Asia-Shanghai,用diff比较两个文件,如下:

[root@zy180 ~]# diff /usr/share/zoneinfo/Asia/Shanghai

/etc/localtime

[root@zy180 ~]#

在 /etc/sysconfig/clock 文件中也写有本时区的信息:

[root@zy180 ~]# cat /etc/sysconfig/clock

ZONE="Asia/Shanghai"

UTC=false

ARC=false

NTP时间服务器:

使用环境:当一个计算机群体需要需要进行时间的严格同步,即可使用NTP服务器。

NTP通信协议原理:

1.首先主机启动NTP。

2.客户端会向NTP服务器发送调整时间的message。

3.然后NTP server会送出当前的标准时间给client

4.client接受来自server的时间后,会根据这个信息来调整自己的时间。这样就实现了网络对时。

NTP这个deamon采用了123端口。(UDP)

“当我们要利用Tim server来进行实践的同步更新时,就需要使用NTP软件提供的ntpdate来连接端口123”

安装:

首先检查是否安装了组建:

[root@testmechine ~]# rpm -qa ntp

ntp-4.2.2p1-9.el5.centos.1

假如没有安装则yum install ntp来进行安装。

所需要的配置文件:

1./etc/ntp.conf

linux各版本虽然目录不同,但文件名相同。可以用which ntp.conf 或者locate

ntp.conf来查找。这是NTP唯一的一个设置文件。

2./usr/share/zoneinfo/

这个里面规定了这个主要时区的时间设置文件。

3./etc/sysconfig/clock

这个文件是linux的主要时区设置文件,每次开机后linux会自动读取这个文件来设置系统所默认的显示时间,可以看看它里面到底设置了什么:

[root@testmechine sysconfig]# cat /etc/sysconfig/clock

# The ZONE parameter is only evaluated by system-config-date.

# The timezone of the system is defined by the contents of

/etc/localtime.

ZONE="Asia/Shanghai"

UTC=true

ARC=false

4./etc/localtime

本地端时间配置文件。

5./bin/date

这个是时间的修改命令,除了输出时间,还可以修改时间。

6./sbin/hwclock

因为linux系统上面BIOS时间与linux系统时间是分开的,所以使用date这个指令调整了时间之后,还需要使用hwclock才能将修改过的时间写入BIOS中。

7./usr/sbin/ntpd

这是NTP的daemon文件,需要启动它才能提供NTP服务,这个命令会读取/etc/ntp.conf里面的设置。

8./usr/sbin/ntpdate

这是client用来连接NTP Server的主要执行文件,如果您不想启用NTP,只想启用NTP

Client功能的话,可以只应用此命令。

9,/usr/sbin/ntptrace

可以用来追踪某台时间服务器的时间对应关系。

NTP时间服务器采用类似于分层的架构:

a4c26d1e5885305701be709a3d33442f.png

关于ntp.conf的设置:

[root@testmechine ~]# cat /etc/ntp.conf

# 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

#添加如下命令:

restrict default nomodify noquery notrap

restrict 202.112.10.60

restrict 202.106.199.36

restrict 202.112.7.150

restrict 127.0.0.1 mask 255.0.0.0

restrict 192.168.0.0 mask 255.255.255.0 nomodify

# 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 -6 ::1

# 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).

server 0.centos.pool.ntp.org

server 1.centos.pool.ntp.org

server 2.centos.pool.ntp.org

#进行如下替换

server time.buptnet.edu.cn

server s1b.time.edu.cn

server s1c.time.edu.cn

server s1d.time.edu.cn

#broadcast 192.168.1.255 key

42 # broadcast server

#broadcastclient # broadcast client

#broadcast 224.0.1.1 key

42 # multicast server

#multicastclient

224.0.1.1 # multicast client

#manycastserver

239.255.254.254 # manycast server

#manycastclient 239.255.254.254 key 42 # manycast client

# Undisciplined Local Clock. This is a fake driver intended for

backup

# and when no outside source of synchronized time is available.

#加入如下代码:

server 202.112.10.60 prefer #以这台主机最优先

server 202.106.199.36

server 202.112.7.150

server

127.127.1.0 # local clock

fudge 127.127.1.0 stratum

10

# Drift file. Put this in a directory which the daemon can write

to.

# No symbolic links allowed, either, since the daemon updates the

file

# by creating a temporary in the same directory and then

rename()'ing

# it to the file.

driftfile /var/lib/ntp/drift

# 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

[root@testmechine ~]#

以上是ntp.conf的最终设置。

然后我们修改/etc/sysconfig/ntpd:

# Drop root to id 'ntp:ntp' by default.

OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid"

# Set to 'yes' to sync hw clock after successful ntpdate

SYNC_HWCLOCK=yes #make no into yes; BIOS的时间也会跟着修改

# Additional options for ntpdate

NTPDATE_OPTIONS=""

启动NTP:

[root@testmechine ~]# /etc/init.d/ntpd start

Starting ntpd: [ OK ]、

看看端口启动情况:

[root@testmechine ~]# netstat -nltpu|grep ntpd

udp 0 0

192.168.0.20:123 0.0.0.0:* 7237/ntpd udp 0 0

127.0.0.1:123 0.0.0.0:* 7237/ntpd udp 0 0

0.0.0.0:123 0.0.0.0:* 7237/ntpd udp 0 0

::1:123 :::*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值