ntp时间服务器相关知识

来源:互联网 发布:网络列头柜布线 编辑:程序博客网 时间:2024/06/06 03:33
 

(一)相关知识
UTC(标准时间)
NTP(Network Time Protocol)

NTP用于时间同步,其同步过程如下:
1.主机启动NTP daemon
2.Client向NTP发送调校时间message
3.NTP Server把当前的标准时间返回给Client
4.Client收到来自Server的时间后,以此来调整自已的时间,从而实现网络校时

(二)软件
查询NTP软件版本
rpm -qa|grep ntp
ntp-4.1.2-4.EL3.1
如果没有则自行安装此ntp包

(三)Server端的设置:
1.与NTP及时间有关的配置文件
/etc/ntp.conf #NTP唯一的配置文件

#以下的文件是跟时区有关的配置文件
/usr/share/zoneinfo #保存了世界各地主要时区的设置文件,中国用到的时区文件是/usr/share/zoneinof/Asia/Shanghai
/etc/sysconfig/clock #记录要用到的时间配置文件,如文件中的ZONE="Asia/Shanghai"表示要用到/usr/share/zoneinof/Asia/Shanghai此文
件。
/etc/localtime #本地端时间配置文件,系统会将clock指定的文件内容复制到localtime文件中

2.与NTP及时间有关的执行文件:
/bin/date #显示和调整时间和日期
/sbin/hwclock #显示和修写入BIOS时间
/usr/sbin/ntpd #NTP服务程序,读取/etc/ntp.conf里的设置
/usr/sbin/ntpdate IP #client连Server端时,必须将ntpd服务停掉否则因NTP的socket在使用而无法连接。
/usr/sbin/ntptrace IP #查看是否进行了正确的时间校正

3.编辑配置文件
vi /etc/ntp.conf

######################################
restrict default nomodify notrap noquery #全局设置
restrict 127.0.0.1
restrict 192.168.211.129 #允许本机IP
restrict 192.168.211.1 #充许Client端的IP
restrict 192.168.211.1
#restrict 192.168.211.1 mask 255.255.255.255 nomodify notrap
#注释掉以下一行
#restrict default ignore

Server一般用于服务器端,该服务器不会去同步其他服务器时间,一般server后可以跟  127.127.1.0 该地址代表本级的时钟,如果Server后跟其他服务器IP,表示会去同步其他时间服务器的地址。

#定义服务
server ntp.fudan.edu.cn prefer #加prefer表示主要以该台主机进行时间校正

4.启动NTP服务器
#chkconfig ntpd on
#/etc/rc.d/init.d/ntpd start
#/etc/rc.d/init.d/ntpd stop
#/etc/rc.d/init.d/ntpd restart

5. 默认情况下,我们配置的NTP服务器是不会去时间源那里同步时间,所以必须修改/etc/ntp/step-tickers文件,加入我们的时间源(直接输入ntp.fudan.edu.cn即可),这样每次通过/etc/init.d/ntpd 来启动服务的时候就会自动更新时间了

6.检查服务器同步状态:
ntptrace 192.168.0.179
如果输出正确,则说明时间服务器成功。每次启动服务器,会自动同步时间。

(四)配置LINUX客户端
1.修改时间相关命令
date  #查看和修改当前时间
hwclock [-rw] #-r为查看bios时间,-w为将当前时间写入bios

2.网络时间校正:
执行ntpdate ntp.fudan.edu.cn 就可以根据时间服务器统一局域网的时间了
然后执行hwclock -w将时间写入bios

Linux系统使用命令行配置:
在Linux 上面进行网络校时非常简单,执行 ntpdate 即可:
ntpdate 192.168.0.1 #192.168.0.1是NTP服务器的IP
不要忘了使用hwclock命令,把时间写入bios
hwclock -w
如果想定时进行时间校准,可以使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w #192.168.0.1是NTP服务器的IP地址
然后重启crond服务
service crond restart
这样,每天 8:30 Linux 系统就会自动的进行网络时间校准。

(五)Windows客户端
双击右下角时间 -> Internet时间 -> 服务器地址:192.168.211.129 ->点击立即更新
注意:若重启了ntpd后,需等一些时间才能让client连接上,此时windows下会出现如下文字:
“时间和日期在于INTERNET时间同步时出现问题,不能同步,出现以下问题:windows在与192.168.211.129进行同步时出错。时间例子被拒绝,因为:对等机器的层次( stratum) 比主机层次少。”

5  NTP中的命令
ntpd命令
ntpd命令为NTP服务的配置进程,同时ntpd命令可以配置ntp服务。执行时ntpd从配置文件/etc/ntp.conf中读取配置信息然后去执行该配置文件中指定的属性。
ntpd命令的参数选项使用方法:
ntpd [ -46aAbdDgLmnNqx ] [ -c conffile ] [ -f driftfile ] [ -i jaildir ] [ -k keyfile ] [ -l logfile ] [ -p pidfile ] [ -P priority ] [ -r broadcastdelay ] [ -s statsdir ] [ -t key ] [ -u user[:group] ] [ -U interface_update_interval ] [ -v variable ] [ -V variable ]
Ntpq命令
Ntpq命令是用来查询ntp服务的命令,可以查询比较详细的信息,其中包含参数命令模式和交互命令模式。
ntpq [-inp] [-c command] [host] [...]
Ntpdc命令
Ntpdc是一个特殊的ntp查询命令
ntpdc [ -ilnps ] [ -c command ] [ host ] [ ... ]
Ntptrace命令
Ntptrace命令是追踪ntp服务传输信息的命令,可以查看服务的传输状况,查找ntp信息从那个服务器发出以及命令传输的过程

关于权限设定部分
权限的设定主要以 restrict 这个参数来设定,格式如下:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制。

用server这个参数设定上级时间服务器,格式如下:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。

driftfile格式如下:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。

配置实例:

以互联网的时间服务器为时间服务器的时钟
设置要求:以time.nist.gov 为时间服务器,在ntp.conf中增加以下内容:
restrict default ignore # 关闭所有的 NTP 要求封包
restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify
server time.nist.gov #设置时间服务器
server 127.127.1.1 #开启内部递归网络接口 lo
fudge 127.127.1.1 stratum 10 refid NIST # LCL 不同步
driftfile /etc/ntp.drift
logfile /var/log/ntp.log
Broadcastdelay 0.008 #广播延迟时间#

以内部ntp服务器为数据服务器时钟
设置要求:不对 Internet 提供服务,仅对内部子网 192.168.0.0/24 提供服务,内部子网的客户端不能修改NTP服务器的时间参数。
在ntp.conf中增加以下内容:

restrict default ignore # 关闭所有的 NTP 要求封包
restrict 127.0.0.1   # 开启内部递归网络接口 lo
restrict 192.168.0.0 mask 255.255.255.0 nomodify #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数。
server 198.123.30.132 #198.123.30.132作为上级时间服务器参考
restrict 198.123.30.132 #开放server 访问我们ntp服务的权限
driftfile /var/lib/ntp/drift
broadcastdelay 0.008 #广播延迟时间#

原创粉丝点击