您的位置:首页 > 编程语言 > PHP开发

NTP时间服务器

2015-10-15 20:40 603 查看
NTP时间服务器:
NTP(Network Time Protocol 网络时间协议)是一个用于同步计算机时钟的网络协议;它可以使计算机与其他服务器或时钟源进行时间同步,进行高精度的时间校正;NTP服务器是基于C/S架构的;NTP就是使一台或多台服务器(客户端)与时间服务器(服务端)之间进行时间同步(即客户端与服务端的时间同步),以保证时间的统一性;NTP服务器与客户端之间是基于UDP协议进行传输,使用的是UDP的123端口;
实验环境:
OS: rhel6
NTP服务器:192.168.10.111
NTP客户端:192.168.10.113
1.首先在192.168.10.111 上安装NTP服务器
#tar xf ntp-4.2.8p3.tar.gz
#cd ntp-4.2.8p3
#./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
#make && make install
2.修改主配置文件
#vim /etc/ntp.conf
####1. 先处理权限方面的问题,包括放行上层服务器以及开放区网用户来源;
restrict default kod nomodify  nopeer noquery            <==拒绝 IPv4 的用户
restrict -6 default kod nomodify nopeer noquery        <==拒绝 IPv6 的用户

restrict 127.0.0.1              <==底下两个是默认值,放行本机来源
restrict -6 ::1

restrict 0.0.0.0 mask 0.0.0.0 nomodify  noquery       <==拒绝没有认证的用户端
restrict 192.168.10.0 mask 255.255.255.0 nomodify            <==放行区网来源

####2. 设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定批注掉;
server 0.cn.pool.ntp.org   prefer                <==prefer 该服务器优先
server 0.asia.pool.ntp.org
server 2.asia.pool.ntp.org

####3.预设时间差异分析文件与暂不用到的 keys 等,不需要更动它;
driftfile   /var/lib/ntp/drift
keys       /etc/ntp/keys

3.输出ntpd的man手册至man命令的查找路径 编辑/etc/man.config,添加如下行即可
MANPATH /usr/local/ntp/share/man4.输出ntpd的库文件给系统库查找路径
# echo '/usr/local/ntp/share/ntp/lib' > /etc/ld.so.conf.d/ntpd.conf
5.而后让系统重新载入系统库
# ldconfig6.修改PATH环境变量,让系统可以直接使用ntpd的相关命令
# vim /etc/profile.d/ntpd.sh export PATH=$PATH:/usr/local/ntp/sbin7.重启ntpd服务并让其开机自动启动 #chkconfig --add ntpd #chkconfig ntpd on #service ntpd restart8.客户端端使用ntpdate 程序来执行同步
#ntpdate ntpd-server-ip9.在客户端添加计划任务 #crontab -e */5 * * * * /usr/sbin/ntpdate 192.168.10.111 &> /dev/null #service crond restart #crontab -l
PS:1.restrict指令指定可以进行NTP通信的IP地址或网段: restrict <IP 地址><子网掩码>|<网段> <子网掩码> [ ignore|nomodify|noquery|notrap|notrust|nokod ] ignore:关闭所有NTP服务;
nomodify :表示客户端不能更改NTP服务器的时间参数,但可以通过NTP服务器进行时间校对;
noquery: 不提供NTP服务;
notrap:不提供trap远程事件登录的功能;
notrust: 聚聚没有通过认证的客户端;
kod:kod技术可以组织“Kiss of Death”包(一种DOS攻击)对服务器的破坏,使用此参数将开启该功能 ;
nopeer:不与其他同一层的NTP服务器进行时间同步;
若果没有指定选项,那就表示指定的客户端在访问NTP服务器时没有任何限制;2.server指令指定该NTP服务器上层NTP服务器,如果有多个上层NTP服务器,则参考prefer的优先级进行时间同步,prefer越小优先级越高: server [IP|FQDN] [prefer]
3.broadcast指令指定进行NTP时间广播的网段,在不指定此参数时NTP服务器会对所有能访问的网段广播;
4.ntpq -p 命令查看列出目前我们的 NTP 与相关的上层 NTP 的状态:
下面对部分参数进行说明:
remote:可以是 NTP 主机的 IP 或主机名啰~注意最左边的符号;
如果有『 * 』代表目前正在作用当中的上层 NTP;
如果是『 + 』代表也有连上线,而且可作为下一个提供时间更新的候选者;
refid:参考的上一层 NTP 主机的地址;
st:就是 stratum 阶层啰!;
when:几秒钟前曾经做过时间同步化更新的动作;
poll:下一次更新在几秒钟之后;
reach:已经向上层 NTP 服务器要求更新的次数;
delay:网络传输过程当中延迟的时间,单位为 10^(-6) 秒;
offset:时间补偿的结果,单位与 10^(-3) 秒;
jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒;

本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1703340
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: