首先,ntp服务器和客户端分别安装在两个虚拟机上,该两个虚拟机都共享同一个主机的IP地址,用ifconfig命令查看这两个虚拟机自动获取的ip地址为192.168.14.148(ntp服务器所在虚拟机),192.168.14.149(ntp客户端所在虚拟机)
一、NTP服务端安装
1. 安装ntp包
apt-get install ntp
2. 安装后默认启动服务,如果没有启动,启动之
/etc/init.d/ntp start
3. 修改ntp.conf文件
vi /etc/ntp.conf
修改为如下
#允许任意主机同步到该ntp服务器
restrictdefault nomodify notrap noquery
#本地用户同步ntp服务器
restrict127.0.0.1
#允许192.168段的所有用户同步服务器
restrict 192.168.0.0 mask 255.255.255.0 nomodify
#下面三个是ntp服务器需要同步到的上级ntp服务器地址
server 0.pool.ntp.org
server 1.pool.ntp.org
server2.pool.ntp.org
#下面是让NTPServer和其自身保持同步,如果在/ntp.conf中定义的server都不可用时
#使用local时间作为ntp服务提供给ntp客户端
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
4. 重启ntp服务
/etc/init.d/ntp restart
5. 查看同步结果
启动ntp服务后,需要几分钟才能完成与上级ntp服务器的同步,如果没有完成同步,则客户端同步到ntp时,会报“noserver suitable for synchronization found”错误
通过以下指令查看同步结果
watchntpq –p
结果如下:
Every2.0s: ntpq –p SunFeb 17 09:36:46 2013
remote refid st t when poll reach delay offset jitter
***************************************************************************
*LOCAL(0) .LOCL. 10 l 58 64 17 0.000 0.000 0.001
210.72.145.44 .INIT. 16 u - 64 0 0.000 0.000 0.000
注:上述结果只是本地服务器自己同步了
二、客户端
1.安装ntp以便使用ntpdate命令
如果该命令已经存在,则不需要安装ntp
apt-get install ntp
2.同步ntp服务器时间
分为手动和自动两种ntp服务器时间同步方式
(1)手动同步
有些操作系统在ntp安装完毕后默认是启动的,若要手动同步ntp服务器,则需要关闭ntp
/etc/init.d/ntp stop
然后手动同步到ntp服务器(192.168.14.148为ntp服务器所在的主机ip)
/usr/sbin/ntpdate 192.168.14.148
该指令返回执行结果
17 Feb 09:36:13 ntpdate[3419]: adjust time server 192.168.14.148 offset-0.011588 sec
(2)自动同步
设置定时同步
vi /etc/crontab
添加自动同步的设置
# m h dom mon dow user command
30 01 * * * /usr/sbin/ntpdate 192.168.14.148
系统便会在每天早上1点30分自动将系统时间同步到ntp服务器的时间。
当然这里crontab的时间是指客户端的时间,同步后等同于ntp服务器的时间。