NTP时间服务构建
实验背景:
因公司业务运营需要,IDC机房内部署了电子商务网站、邮件系统、游戏计时系统等各种服务器,由于这些应用的特殊性,要求确保各主机的系统时间保持一致,基本的配置要求如下所述。
实验思路:
1.在192.168.1.0/24网络内安装一台NTP时间服务器,以本机时间为标准时间。
2. 将网络内其他的Linux服务器作为NTP客户端,实现系统时间的同步。
实验实现:
使用2台RHEL5虚拟机,其中一台作为NTP时间服务器(192.168.1.2)、另外一台作为测试用的NTP客户机(192.168.1.8)
1.配置NTP时间服务器(192.168.1.2)
1)确认已安装有ntp软件包,可通过rpm命令查看。
# rpm -q ntp
# rpm -qc ntp
/etc/ntp.conf //NTP服务配置主文件 /etc/ntp/keys
/etc/ntp/step-tickers
/etc/rc.d/init.d/ntpd //服务脚本 /etc/sysconfig/ntpd //服务程序ntpd的默认配置
2)修改主配置文件/etc/ntp.conf,添加时间服务设置。
#vim /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0 # local clock
.. ..
3)启动ntpd服务,并确认端口监听状态。
# grep ^ntp /etc/services
ntp 123/tcp ntp 123/udp # Network Time Protocol
# netstat -anpu | grep ntpd //检查UDP 123端口监听状态
# chkconfig ntpd on //设为开机后自动运行
# ntpstat
Unsynchronized //尚未同步 polling server every 64 s //时间校正间隔为每64秒
4)确认ntpd服务器现在的日期和时间
# date //查看当前日期和时间
2.配置NTP客户机(192.168.1.8)
1)查询并测试时间服务器。
# ntpq -p 192.168.1.2 //查询已知的NTP服务器
为了查看时间同步效果,可以先使用date命令为客户机设置一个错误的时间(例如2008年8月8日12点30分),date命令的格式为date MMDDhhmmYYYY。设置及确认操作如下所示:
# ntpdate 192.168.1.2 //执行同步操作
# date //查看同步后的时间
# hwclock --systohc //修正硬件时钟
转到NTP服务器端(192.168.1.2),再次检查ntpstat状态,会发现已经出现“synchronized to .. ..”的同步信息
# ntpstat
synchronised to local net at stratum 11
time correct to within 11 ms
polling server every 64 s
2)设置自动同步的计划任务,确保客户机能够定时同步时间
为root添加crontab计划任务,设置每5分钟执行一次ntpdate同步,确保客户机的时间与NTP服务器的时间保持一致,操作及设置如下所示:
# crontab -e
*/10 * * * * /sbin/ntpdate 192.168.4.5