目标:架设一台Internet时间服务器,可以让网络中的任何服务同步时间。
NTP是用来使系统和一个精确的时间源保持时间同步的协议.在Linux下,我们可以通过自带的NTP(Network Time Protocol)协议通过网络使自己的系统保持精确的时间.
安装NTP服务
# sudo apt-get install ntp
ntpdate 210.72.145.44
二.配置NTP服务
vim /etc/ntp.conf
#中国国家授时中心服务器地址 prefer表示优先(默认)
server 210.72.145.44 prefer
#cn.pool.ntp.org的IP
server 218.21.130.42
#允许内网通讯
restrict 192.168.2.0 mask 255.255.255.0 nomodify
restrict 127.0.0.1
#屏蔽其他IP过来更新时间
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust
| | | | | 可以连接到ntp server,但是不能对ntp server进行时间上的修改 | | | | | | 不提供对ntp server查询时间,也就是拒绝和ntp server进行时间同步 |
restrict default nomodify notrap noquery | | restrict 127.0.0.1 mask 255.0.0.0 | | restrict 192.168.0.0 mask 255.255.255.0 nomodify | | restrict 192.168.0.11 mask 255.255.255.255 nomodify | | 启动/关闭/重启NTP的命令是:
# /etc/init.d/ntp start 启动
# /etc/init.d/ntp stop 关闭
# /etc/init.d/ntp restart 重启
将同步好的时间写到CMOS里
vim /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
切记每次修改了配置文件后都需要重新启动服务来使配置生效。
可以使用下面的命令来检查NTP服务是否启动,你应该可以得到一个进程ID号:
# pgrep ntpd
使用下面的命令检查时间服务器同步的状态:
# ntpq -p
用ntpstat也可以查看一些同步状态,用netstat -ntlup查看端口使用情况!
# ntpstat
# netstat -ntlup
切记安装完毕客户端需过5-10分钟才能从服务器端更新时间!当时更新只会报错。
linux客户端设置:
# vim /etc/crontab
加入一行
*/15 * * * * ntpdate 服务器端IP
windows客户端设置:
屏幕右下角的时间双击--选择“Internet时间”,直接在服务器里面输入“服务器端IP”,立即更新OK.
另外系统默认的时间同步间隔只是7天,我们无法自由选择,使得这个功能在灵活性方面大打折扣。其实,我们也可以通过修改注册表来手动修改它的自动同步间隔。
1. 在“开始”菜单→“运行”项下输入“Regedit”进入注册表编辑器
2. 展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient ] 分支,并双击 SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上
3. 而这时在对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的,看明白了吧,如果您想让XP以多长时间自动对时,只要按这个公式算出具体的秒数,再填进去就好了。比如我填了1小时,就是3600。 @echo off
sc config w32time start= auto
net start w32time
reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /va /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /ve /d "0" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 0 /t REG_SZ /d "210.72.145.44" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 1 /t REG_SZ /d "218.21.130.42" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 2 /t REG_SZ /d "time.windows.com" /f |