配置Linux网络时间服务器
作者:优品建站     
发布日期:2022-04-24     
访问量:60
一. 配置Linux异构网络下的NTP服务器
使用yum安装:
#yum -y install ntp
二. NTP服务的配置文件
1.NTP软件包的结构和相关命令
NTP服务的配置文件有4个,如表3-2所示。
表3-2 NTP服务的配置文件
与NTP及系统时间有关的执行文件如表3-3所示。
表3-3 与NTP及系统时间有关的执行文件
说明:Linux时钟类型在分类和设置上与Windows不同的是,它将时钟分为系统时钟(System Clock)和硬件时钟(Real Time Clock,RTC)两种。系统时钟是指当前Linux内核中的时钟;硬件时钟则是指主板上由电池供电的主板硬件时钟,这个时钟可以在BIOS的“Standard BIOS Feture”选项中设置。当Linux启动时,硬件时钟会读取系统时钟的设置,然后系统时钟就会独立于硬件运行。
2.NTP服务器端的配置文件/etc/ntp.conf
使用restrict参数设置权限,格式如下:
restrict IP地址mask子网掩码参数
其中,IP可以是IP地址或default,default指所有IP地址,包括如下参数:
(1)ignore,关闭所有的NTP联机服务;
(2)nomodify,客户端不能更改服务器端的时间参数,但是可以通过服务器端进行网络校时;
(3)notrust,客户端除非通过认证,否则其来源将被视为不信任子网;
(4)noquery,不提供客户端的时间查询。
注意:如果未设置参数,则表示该IP地址(或子网)没有任何限制。
使用server参数设置上级时间服务器,格式如下:
server IP地址或域名[prefer]
其中,IP地址或域名为指定的上级时间服务器,如果在server参数后加上prefer,则表示NTP服务器主要以其主机时间校正。
driftfile格式如下:
driftfile文件名
在与上级时间服务器联系时所花费的时间记录在driftfile参数后面的文件中。
注意:driftfile后面需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设置为ntpd守护进程且可以写入。
3.ntp.conf配置文件实例
(1)以Internet的时间服务器为时间服务器的时钟
设置要求:以time.nist.gov为时间服务器,在ntp.conf中增加以下内容:
restrict default nomodify notrap noquery
restrict time.nist.gov
restrict 127.0.0.1 mask 255.0.0.0
restrict 192.168.1.0 mask 255.255.255.0 nomodify
server time.nist.gov prefer
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
(2)以内部NTP服务器为数据服务器的时钟
设置要求:仅为内部子网192.168.0.0/24(时间服务器IP地址是192.168.0.254)提供服务。在ntp.conf中增加以下内容:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 192.168.0.254
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
logfile /var/log/ntp
4.其他设置工作
(1)保存退出后启动NTP服务:
#service ntpd start
(2)如果每次启动系统时自动启动NTP服务,则输入下面命令:
#chkconfig -level 35 ntpd on
(3)打开iptables防火墙123端口。
NTP服务的端口是123,使用的是UDP协议,所以NTP服务器的防火墙必须对外开放UDP 123这个端口。为此使用以下规则:
#iptables -A INPUT -p UDP -i eth0 -s 192.168.0.0/24 --dport 123 -j ACCEPT
注意:ntpd启动时通常需要一段时间进行时间同步,所以在刚启动时不能正常提供时钟服务。最长时间大概有5分钟,如果超过这个时间,则检查配置文件。
(4)SELinux设置:
#setsebool -P ntpd_disable_trans 1
(5)vi /etc/sysconfig/ntpd,添加一行:
SYNC_HWCLOCK=yes #允许BIOS与系统时间同步
(6)vi /etc/ntp/step-tickers,添加一行:
192.168.0.254 #当NTP服务启动时,会自动与该文件中记录的上层NTP服务进行时间校正
5.查看NTP服务器工作情况
通常使用如下命令查看123端口和NTP系统进程,判断NTP服务器是否工作正常。主要查看UDP数据包,且在123端口:
netstat -tlunp
是否与上层服务器联机:
# ntpstat
synchronised to NTP server (192.168.0.254) at stratum 12 #进行时间校正的NTP服务器
time correct to within 958 ms #本地与上层NTP服务器的时间差
polling server every 64 s #下次同步时间
NTP服务器与上层NTP服务器之间的关系:
#ntptrace -n 127.0.0.1
这个命令可以列出目前NTP服务器与上层NTP服务器之间的关系。
6.监控NTP服务器
ntpq用来监视ntpd操作,使用标准的NTP模式控制消息模式,并与NTP服务器通信。ntpq -p用来查询网络中的NTP服务器,同时显示客户端和每个服务器的关系。
例如,执行ntpq-p后的输出结果如下:
ntpq -p
remote refid st t when poll reach delay offset jitter
===========================================================================
*time-A.timefreq .ACTS. 1 u 152 102
4 377 43.527 -11.093 3.982
+clock.isc.org 204.123.2.5 2 u 230 1024 377 67.958 -7.729 0.071
time-a.nist.gov .ACTS. 1 u 323 1024 377 58.705 994.866 999.084
(1)*:响应的NTP服务器和最精确的服务器。
(2)+:响应这个查询请求的NTP服务器。
(3)blank(空格):没有响应的NTP服务器。
(4)remote:响应这个请求的NTP服务器的名称。
(5)refid:NTP服务器使用的更高一级服务器的名称。
(6)st:正在响应请求的NTP服务器的级别。
(7)when:上一次成功请求之后到现在的秒数。
(8)poll:当前请求的时钟间隔的秒数。
(9)offset:主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。