Linux 搭建NTP时间同步服务器
NTP服务器【Network Time Protocol(NTP】是用来使计算机时间同步化的一种协议,NTP服务器可以对其它服务器做时间同步化,从而达到时间统一。
配置环境及要求:
A、 假设10.8.9.0网段内,要以IP为10.8.9.159的Linux机器时间服务器(NTP服务器)。
B、 10.8.9.159服务器要保证能上外网,能与比较权威的公网时间服务器同步。
C、 设置同网段内的10.8.9.160客户端每分钟向10.8.9.159服务器同步时间。
NTP服务器配置
1、检查系统是否安装了NTP服务,如果提示未安装请在linux ISO镜像光盘目录下packages找到此安装包或者访问 http://rpmfind.net/ 网址查找NTP安装包。
2、配置NTP服务器(设定10.8.9.159为NTP服务器),NTP服务器主配置文件 /etc/ntp.conf,配置前做好备份。
3、 10.8.9.159 NTP服务器端配置文件 /etc/ntp.conf
标注:
restrict 控制相关权限。
语法为: restrict IP地址 mask 子网掩码 参数
其中IP地址也可以是default ,default 就是指所有的IP
参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod : 访问违规时发送 KoD 包。
restrict -6 表示IPV6地址的权限设置。
4、将同步好的系统时间写入到硬件(BIOS)时间里。
只需要添加 SYNC_HWCLOCK=yes
5、启动NTP服务并设置开机自动启动。(Linux防火墙需要关闭,否则会阻止NTP服务端口,NTP服务默认端口123)
6、通过ntpq –p静态查看NTP服务器与外部NTP服务器同步情况。
通过watch ntpq -p 动态查看NTP服务器与外部NTP服务器同步情况,一般需要等5--10分钟左右NTP服务器才会与外部NTP服务器同步。
列 |
说明 |
---|---|
remote |
当前远程NTP服务器,+表示可用,-表示不可用,*表示推荐 |
refid |
用于和本地时钟同步的远程服务器的 IP 地址 |
st |
Stratum(阶层),表示经过n=2次NTP同步到当前服务器 |
t |
类型,u表示单播(unicast)。其它值包括本地(local)、多播(multicast)、广播(broadcast)。 |
when |
自从上次和服务器交互后经过的时间(以秒数计)。 |
poll |
和服务器的轮询间隔,以秒数计。 |
reach |
表示和服务器交互是否有任何错误的八进制数。值 337 表示 100% 成功(即十进制的255)。 |
delay |
服务器和远程服务器来回的时间。 |
offset |
我们服务器和远程服务器的时间差异,以毫秒数计。 |
jitter |
两次取样之间平均时差,以毫秒数计。 |
客户端操作
1、使用命令 ntpdate –u 10.8.9.159 客户端与服务器进行时间同步。
标注:如果对crontab定时任务不熟悉请查看本博客 http://www.cnblogs.com/zoulongbin/p/6187238.html
3、Windows客户端
控制面板->日期和时间->设置日期和时间->Internet时间->更改设置
输入对应的NTP服务器IP,然后确定即可,如下图:
客户端需要特别注意两点:
(1)、NTP服务端重启后,客户机要等5--10分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。
(2)、客户端运行ntpdate –u 10.8.9.159更新时间时,linux不能开启NTP服务,否则会提示“the NTP socket is in use,exiting”端口被站用,客户端不需要开启NTP服务也能获取10.8.9.159 NTP服务器更新。
上一篇:【解决】bufferevent_openssl.c:228:19: error: storage size of 'methods_bufferevent' isn't known
下一篇:记一次诡异的Linux程序启动即崩溃:Program received signal SIGSEGV, Segmentation fault.