为了实现时间同步,咱们就须要用NTP(Network Time Protocol)这个协议。html
简单地说,NTP是用来使系统和一个精确的时间源保持时间同步的协议。ios
咱们须要创建一个能提供精确时间的服务器,局域网内的全部电脑统一经过这台时间服务器进行时间同步、校准。安全
/usr/share/zoneinfo:这是个目录,在这个目录下是规定了各主要时区的时间设定文件,例如中国大陆地区的时区设置文件是 /usr/share/zoneinfo/Asia/Shanghai 。服务器
若是咱们想查看对于每一个time zone当前的时间咱们能够用zdump命令。网络
例如:分别查看日本、上海和纽约时间。app
当输入date命令查看时间时,咱们所在的time zone是哪一个,就显示哪一个时间,能够经过在/usr/share/zoneinfo下找到咱们的time zone文件而后拷贝去到/etc/localtimezone(或者作个symbolic link)来更改所在时区编辑器
例如:把time zone改为纽约所在时区,再经过date查看当前时间。spa
把time zone改为日本所在时区,再经过date查看当前时间。3d
把time zone改为上海所在时区,再经过date查看当前时间。rest
编辑ntp的配置文件 /etc/ntp.conf
权限的设定主要以 restrict 这个参数来设定,主要的语法为:
restrict IP地址 mask 子网掩码 参数
其中 IP 能够是IP地址,也能够是 default ,default 就是指全部的IP
参数有如下几个:
ignore :关闭全部的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,可是客户端能够经过服务端进行网络校时。
notrust :客户端除非经过认证,不然该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
notrap:不提供trap远程登陆功能,trap服务是一种远程时间日志服务
nopeer:提供时间服务,但不做为对等体
kod:向不安全的访问者发送Kiss-Of-Death报文
注意:若是参数没有设定,那就表示该 IP (或子网)没有任何限制!
因为咱们配置的NTP 服务器须要网络上面时间比较准确的NTP服务器来更新本身的时间,因此在咱们的 NTP 服务器上面要配置一部上级时间服务器来进行校准
用server这个参数设定上级时间服务器,语法为:
server + IP地址或域名 [prefer]
IP地址或域名就是咱们指定的上级时间服务器,若是 Server 参数最后加上 prefer,表示咱们的 NTP 服务器主要以该部主机时间进行校准。
使用driftfile参数设置:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件须要使用完整的路径文件名,不能是连接文件,而且文件的权限须要设定成 ntpd守护进程能够写入。
Linux系统:
执行 ntpdate:
ntpdate 10.1.3.51 其中10.1.3.51是NTP服务器的IP
不要忘了使用hwclock命令,把时间写入bios
hwclock -w
若是想定时进行时间校准,可使用crond服务来定时执行。
编辑 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 10.1.3.51; /sbin/hwclock -w 其中 10.1.3.51是NTP服务器的IP地址
而后重启crond服务
systemctl restart crond
这样,天天 8:30 Linux 系统就会自动的进行网络时间校准。
Windows 系统: