ntp服务器的建立与设置
最近公司做一套应用系统,需要内网主机时间同步,所以就上网找关于ntp方面的资料,其实也不难,只是在配置过程中经常会出的一点小错误,通过不断尝试,我总结了一个简单可行的步骤。
1、 linux作为服务器,其他机器来与之同步。
a、 首先检查linux系统中是否有安装ntp软件包
#rpm -q ntp
如果没有安装可以去下载软件包进行安装。例如下载ntp-4.1.2-4.EL3.1.i386.rpm 然后安装、配置:
# rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm
# vi /etc/ntp.conf
注释一行
restrict default ignore
加入一行
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
上面为该局域网的网络和掩码。
# service ntpd start
启动ntp服务。
# netstat -an |grep 123
确保该端口以udp方式开放
b、 使局域网内所有主机处于同一个工作组中,因为ntp只同步同一个工作组中的主机。
#vi /etc/samba/snb.conf
改workgroup = workgroup
这里主机都在workgroup工作组中。
c、 在windows中,打开时间管理
把服务器地址指定为开放ntp服务的主机地址。
如果这样不成功则在命令行执行
>net time \\servername(ip) /set
然后可以把这条命令作为批处理文件添加到计划任务中。
如果用此方式则将“自动与Internet时间服务器同步”的勾去掉。
可以修改同步时间间隔,修改注册表,展开
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
双击SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上,
将值改为想要的值,单位为秒,86400=60(秒)*60(分)*24(时),为一天同步一次。该默认值一般为604800,即一周同步一次。
d、 linux客户端
# ntpdate 192.168.10.1 –set
应该显示同步成功,有时不报错即为成功。
# crond -e
加入
0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1 –set
表示每隔10分钟同步一次时间,时间间隔可随意调整。
2、 windows作为时间服务器。
a、 修改注册表,使该主机为ntp服务器, 打开
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/Parameters
编辑LocalNTP值为1.
b、 启动ntp服务,可以在命令行界运行
>net stop w32time
>net start w32time
或者在控制面板à管理工具à服务里面启动Windows time服务,然后把该服务设为自动启动。以后开机就运行此服务。
客户端设置同上。
附:ntp.conf内容,作为服务器(注释部分未给出)
restrict
127.0.0.1
restrict
192.168.1.0 mask 255.255.255.0 nomodify notrap
server
127.127.1.0
fudge
127.127.1.0 stratum 5
driftfile
/var/lib/ntp/drift
broadcastdelay
0.008
keys
/etc/ntp/keys