linux ntp - 网络时钟协议

linux ntp时间同步
【ntp】
Network Time Protocol (NTP) 此处省略一万字。

【安装】
详解参考

【配置】
NTP服务的配置文件:
/etc/ntp.conf :这个是 NTP 服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同!
与NTP服务有关的Linux 系统文件及目录:
/usr/share/zoneinfo:这是个目录,在这个目录下是规定了各主要时区的时间设定文件,例如中国大陆地区的时区设置文件是 /usr/share/zoneinfo/Asia/Shanghai 。

/etc/sysconfig/clock:这个文件是Linux 的主要时区设定文件。每次启动后,Linux 会自动读取这个文件来设定系统预设要显示的时间!
比如这个文件内容为“ZONE=Asia/Shanghai”,这表示我们的时间设定使用 /usr/share/zoneinfo/Asia/Shanghai 这个文件!

/etc/localtime:这个文件是本地系统的时间设定文件!
假设clock 文件里面规定了使用的时间设定文件为 /usr/share/zoneinfo/Asia/Shanghai, Linux 系统就会将 Shanghai那个文件复制一份为 /etc/localtime ,所以系统的时间显示就会以Shanghai 那个时间设定文件为准。假设这台主机到了美国纽约,您只要将 /etc/sysconfig/clock 里面的ZONE 设定成为ZONE="America/New_York" 并且将/usr/share/zoneinfo/America/New_York复制成为 /etc/localtime ,其它什么设置都不需要改动,系统的显示时间就是美国纽约当地的时间了!

与 NTP 及系统时间有关的执行文件:

/bin/date: Linux 系统上面的日期与时间修改及输出命令。
/sbin /hwclock:因为主机的 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,只是调整了linux的系统时间,还需要使用 hwclock 才能将修改过后的时间写入 BIOS。这个命令必须root用户才能执行 。

/usr/sbin/ntpd:NTP服务的守护进程文件,需要启动它才能提供NTP服务。
/usr/sbin/ntpdate:NTP客户端用来连接NTP服务器命令文件。


1.配置服务器端
vi /etc/ntp.conf
①、第一种配置:允许任何IP的客户机都可以进行时间同步
将“restrict default nomodify notrap noquery”这行修改成:
restrict default nomodify notrap
配置文件示例:/etc/ntp.conf
②、第二种配置:只允许192.168.211.***网段的客户机进行时间同步
在restrict default nomodify notrap noquery(表示默认拒绝所有IP的时间同步)之后增加一行:
restrict 192.168.211.0 mask 255.255.255.0 nomodify notrap

2.配置客户端
1.硬同步(如果有大量业务的时候会造成影响)
ntpdate ntpserver
2.软同步(研究中)

不要忘了使用hwclock命令,把时间写入bios
hwclock -w

【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 133.100.9.2 prefer   #用133.100.9.2做上级时间服务器
server 198.123.30.132     #198.123.30.132作为上级时间服务器参考
restrict 133.100.9.2       #开放server 访问我们ntp服务的权限
restrict 198.123.30.132   
driftfile /var/lib/ntp/drift  在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。

几个主要参数:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询

【FAQ】
the NTP socket is in use, exiting :需要把ntp服务器停止后才能跟新时间


【参考】
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-Date_and_Time_Configuration-Command_Line_Configuration-Network_Time_Protocol.html
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-Date_and_Time_Configuration-Command_Line_Configuration.html#sect-Date_and_Time_Configuration-Command_Line_Configuration-Date_and_Time
http://www.cnblogs.com/liuyou/archive/2012/07/29/2614341.html
http://bbs.konotes.org/thread-4370-1-1.html
http://www.eecis.udel.edu/~mills/ntp/html/accopt.html

猜你喜欢

转载自runpanda.iteye.com/blog/2072497