go语言ntp包 go语言包名( 二 )


与 NTP 及系统时间有关的执行文件:
/bin/date: Linux 系统上面的日期与时间修改及输出命令 。
/sbin /hwclock:因为主机的 BIOS 时间与 Linux 系统时间是分开的,所以使用 date 这个指令调整了时间之后,只是调整了linux的系统时间 , 还需要使用 hwclock 才能将修改过后的时间写入 BIOS 。这个命令必须root用户才能执行。
/usr/sbin/ntpd:NTP服务的守护进程文件,需要启动它才能提供NTP服务 。
/usr/sbin/ntpdate:NTP客户端用来连接NTP服务器命令文件 。
2.NTP服务端的设置
编辑 /etc/ntp.conf 文件
关于权限设定部分
权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中 IP 可以是IP地址,也可以是 default,default 就是指所有的IP
参数有以下几个:
ignore?。汗乇账械?NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时 。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
注意:如果参数没有设定,那就表示该 IP (或子网)没有任何限制!
上级时间服务器的设定
由于我们配置的NTP 服务器需要网络上面时间比较准确的NTP服务器来更新自己的时间,所以在我们的 NTP 服务器上面要配置一部上级时间服务器来进行校准!在 Internet 上面提供了许多时间服务器,从下面地址找一个离你最近的
用server这个参数设定上级时间服务器,语法为:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准 。
解决NTP服务器校准时间时的传送延迟
使用driftfile参数设置:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内 。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件 , 并且文件的权限需要设定成 ntpd守护进程可以写入 。
ntp.conf文件举例:
设置要求:不对 Internet 提供服务,仅对内部子网 192.168.0.0/24 提供服务,NTP 服务器的上级时间主机为:clock.nc.fukuoka-u.ac.jp和ntp.nasa.gov,内部子网的客户端不能修改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 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
保存退出后 。启动NTP服务
service ntpd start
如果想每次系统启动,NTP服务自动启动,请输入下面命令: chkconfig -level 35 ntpd on 注意:
1.NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp 123这个端口 。
2.Ntpd启动的时候通常需要一段时间进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,最长大概有5分钟吧,如果超过了这个时间请检查一下您的配置文件 。
六、NTP客户端的使用
Linux系统
在Linux 上面进行网络校时非常简单,执行 ntpdate 即可:
ntpdate 192.168.0.1 #192.168.0.1是NTP服务器的IP

推荐阅读