|
NTP简介:
NTP(Network Time Protocol)协议的目的是在Internet上标准化、统一化时间的授时服务,提供了精准校正,从而摆脱了传统的手工修改系统时钟的繁琐工作,使运维人员的工作效率大大提高的同时为业务的有效运营提供了强有力的支持,主要应用于下列场合:
1、备份服务器与客户机之间增强备份时,需要备份服务器和客户机时钟一致
2、系统在处理事件时,保证系统参考精准统一的时钟维持正确的执行顺序
3、特定的时钟校对,实现c/s模式下设备设施的时钟一致
4、计费系统计时的有效可靠遵循时钟的统一
5、网络管理上,从不同设备采集的日志信息,调试信息的一致准确从而保证采集的有效性
等等NTP协议属于TCP/IP模型的应用层协议,工作在UDP协议上端口号为123.UDP
数据包发送的方式主要有三种 单播、组播和广播的方式,同时NTP协议实现了访问控制和MD5验证的功能
UTC:世界标准时间与北京东八区的时间相差8小时
生产环境简介:
Pan-S 192.168.15.2 NTP server
Pan-C 192.168.15.100 NTPclient
Pan-T 192.168.15.101 NTPclient
一、NTP服务器配置
1、server软件包检查与安装
[iyunv@pan-S ~]# rpm -qa | grep ntp #检查ntp软件包的安装情况
ntp-4.2.4p8-2.el6.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
ntpdate-4.2.4p8-2.el6.x86_64
[iyunv@pan-S ~]# rpm -qc ntp
/etc/ntp.conf #主配置文件
/etc/ntp/crypto/pw
/etc/sysconfig/ntpd
2、测试server能否连接Internet
[iyunv@pan-S ~]# ifconfig eth0 #serverIP地址:192.168.15.2
eth0 Link encap:Ethernet HWaddr 00:0C:29:8B:46:70
inet addr:192.168.15.2 Bcast:192.168.15.255 Mask:255.255.255.0
[iyunv@pan-S ~]# ping g.cn #测试网络连通情况以备下一步同步时钟源
PING g.cn (203.208.48.147) 56(84) bytes of data.
64 bytes from 203.208.48.147: icmp_seq=1 ttl=57 time=34.6 ms
3、server端与时钟源同步
[iyunv@pan-S ~]# ntpdate 0.rhel.pool.ntp.org #ntp有自我保护机制,如果偏差太大ntp服务不运行,为了防止server 时间防止偏差太大
3 Jul 14:04:56 ntpdate[20125]: adjust time server 202.118.1.81 offset 0.004417 sec
[iyunv@pan-S ~]# hwclock w #写入BIOS
4、/etc/ntp.conf 文件的配置修改
[iyunv@pan-S ~]# vim /etc/ntp.conf #配置主配置文件 修改如下
restrict 127.0.0.1
restrict 192.168.15.1/24 mask 255.255.255.0 nomodify # 限定了192.168.15.0这个网段可以从NTP server同步时间 nomodify表明客户端不可以更改server地址
restrict -6 ::1
server 0.rhel.pool.ntp.org
server 1.rhel.pool.ntp.org
server 2.rhel.pool.ntp.org
#server 127.127.1.0 # local clock
server 127.127.1.0 # local clock #指定自己为上一层服务器,当没有外部上一层服务器时伪造以此备份
#fudge 127.127.1.0 stratum 10
fudge 127.127.1.0 stratum 10 #指定server通告的层数
5、如果开启了防火墙,必须打开123端口
[iyunv@pan-S ~]# iptables -I INPUT -p udp --dport 123 -j ACCEPT #开放端口或者用下面的命令
[iyunv@pan-S ~]#iptables F #清空防火墙规则,这两个用一个即可。
6、重启服务
[iyunv@pan-S ~]# service ntpd restart
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK ]
7、查看端口是否开启
[iyunv@pan-S ~]# netstat -anutp | grep 123
udp 0 0 192.168.15.2:123 0.0.0.0:* 20472/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 20472/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 20472/ntpd
udp 0 0 fe80::20c:29ff:fe8b:4670:123 :::* 20472/ntpd
udp 0 0 ::1:123 :::* 20472/ntpd
udp 0 0 :::123 :::* 20472/ntpd
[iyunv@pan-S ~]#
8、测试
等待3-5分钟#ntp服务开启需要3-5分钟的等待时间,这与其他服务不同。
[iyunv@pan-S ~]# ntpstat
synchronised to NTP server (202.118.1.81) at stratum 3 #本地server 层数为3
time correct to within 976 ms #偏差小于976ms
polling server every 64 s#每64s查询一次上层服务器的时间
[iyunv@pan-S ~]#
[iyunv@pan-S ~]# ntpq p #列出NTP server与上游server的连接
remote refid st t when poll reach delay offset jitter
==============================================================================
+dns1.synet.edu. 202.118.1.46 2 u 4 64 377 129.944 52.921 5.872
+202.118.1.130 202.118.1.46 2 u 7 64 367 92.814 48.263 19.185
*news.neu.edu.cn 236.43.203.76 2 u 6 64 377 62.077 26.850 5.217
LOCAL(0) .LOCL. 10 l 4 64 377 0.000 0.000 0.000
[iyunv@pan-S ~]#
#remote:远程NTP server的IP地址或者域名"+"表示优先"*"表示次优先
#refid:远程NTP server的上层IP地址或者域名
#st:远程NTP server 所在的层数
#t:本地与远程server通信方式"u":单播 "b":广播"l":本地
#when:上一次与现在时间的差值
#poll:本地查询远程server的时间间隔
#reach:衡量8次查询是否成功的位掩码值 "377"表示成功 "0":表示不成功
#delay:网络延时,单位为10^-6s
#offset:本地与远程server的偏移时间
#jitter:偏差的分布值用于表示延时是否稳定单位为10^-6s
二、客户端配置
有两种方法可以实现client与server的同步
方法一:写一个crontab 环境: Pan-C 192.168.15.100 NTPclient
[iyunv@pan-C ~]# ifconfig eth0 #查看IP地址
eth0 Link encap:Ethernet HWaddr 00:0C:29:36:0C:23
inet addr:192.168.15.100 Bcast:192.168.15.255 Mask:255.255.255.0
[iyunv@pan-C ~]# ntpdate 192.168.15.2 #同步时间
3 Jul 15:35:29 ntpdate[16843]: adjust time server 192.168.15.2 offset 0.000237 sec
[iyunv@pan-C ~]# hwclock -r
Fri 03 Jul 2015 03:36:17 PM CST -0.720666 seconds
[iyunv@pan-C ~]# hwclock w #写入BIOS
[iyunv@pan-C ~]# crontab -e
00 5 * * * root /usr/sbin/ntpdate 192.168.15.2;/sbin/hwclock w
# 每天上午5点同步192.168.15.2时钟源
方法二:使用ntpd服务同步 环境:Pan-T 192.168.15.101 NTPclient
步骤同NTPserver 配置类似 只需要变更一下/etc/ntp.conf文件中如下即可
#server 0.rhel.pool.ntp.org
#server 1.rhel.pool.ntp.org
#server 2.rhel.pool.ntp.org
server 192.168.15.2 #仅更改此处即可其他项目跟192.168.15.2配置类似不再赘述
[iyunv@pan-T ~]# service ntpd restart
Shutting down ntpd: [FAILED]
Starting ntpd: [ OK ]
[iyunv@pan-T ~]# chkconfig ntpd on
[iyunv@pan-T ~]# chkconfig --list ntpd
测试:
[iyunv@pan-T ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
192.168.15.2 202.118.1.81 3 u 56 64 1 1.926 -5713.7 0.000
[iyunv@pan-T ~]# netstat -anutp | grep :123
udp 0 0 192.168.15.101:123 0.0.0.0:* 13470/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 13470/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 13470/ntpd
udp 0 0 fe80::250:56ff:fe2c:2bd0:123 :::* 13470/ntpd
udp 0 0 ::1:123 :::* 13470/ntpd
udp 0 0 :::123 :::* 13470/ntpd
[iyunv@pan-T ~]# ntpstat
synchronised to NTP server (192.168.15.2) at stratum 4
time correct to within 509 ms
polling server every 64 s
[iyunv@pan-T ~]#
|
|
|
|
|
|
|