📄 0440ntp.htm
字号:
stratum 16, offset 0.000048, synch distance 0.00087</font><br><font size="-1" color="#ffffcc" face="SimSun">0.0.0.0:       *Not Synchronized*</font><br><font size="-1" color="#ff6666" face="SimSun"># 这表示我们的主机尚未与Internet 的上层 Time Server 进行校时,</font><br><font size="-1" color="#ff6666" face="SimSun"># 最可能发生这样的错误在ntp.conf 里面的 restrict 设定了!</font><br><font size="-1" color="#ff6666" face="SimSun"># 此外,当启动ntpd 后,您至少需要等待 5 分钟左右,这段时间</font><br><font size="-1" color="#ff6666" face="SimSun"># 我们的 NTPServer 会不断的与上层时间服务器联系,如果尚未联系成功,</font><br><font size="-1" color="#ff6666" face="SimSun"># 那么我们的NTP 主机就会暂时无法让 Client 端来进行更新喔!</font><br><font size="-1" color="#ff6666" face="SimSun"># 所以如果未能更新,不要太紧张,先等待一阵子再说吧!</font></p></td></tr></tbody></table> <br>如果 ntptrace 可以成功的话,那就表示您的主机 OK 啦!</ul><hr width="100%"><a name="client"></a><font size="+1" color="#000099">Client端的设定:</font><ul>好了,再来就是要在 Client 端来向 Time Server 要求网络校时啦!不过,我们先谈一谈如何手动修正时间吧!<br> <br><hr width="100%"><a name="client_Linux_zone"></a><font color="#000099">如何调整Linux 系统的时区与手动设定时间 (date MMDDhhmmYYYY)</font><br> <br>我们在前面说过, Linux 的时区档案放置在 /etc/localtime ,这是一个时间格式的档案,而不是ASCII 类型的档案喔!(file /etc/localtime 可以看出),至于所有的 Time Zone则放置在 /usr/share/zoneinfo 这个目录下。请注意:<br> <ul><li><font color="#000066">当 /etc/localtime 存在时,系统的时区以该档案代表的时区来显示、</font></li><li><font color="#000066">当 /etc/localtime 不存在时,系统的时区主要以 GMT(或 UTC) 为准;</font></li></ul> <br>所以,如果您想要变更您 Linux 系统的时区,那么只要在 /usr/share/zoneinfo里面找到您需要的时区档案,然后将他复制一份成为 /etc/localtime 就可以顺利的更新时区设定了!另外,同时建议修正一下<b><font color="#000066">/etc/sysconfig/clock</font></b>这个档案里面的 ZONE 设定值!以我们台湾的 Time zone 为例,在 /etc/sysconfig/clock这个档案当中应该是『ZONE="Asia/Taipei"』这就表示我们的时区档案为 /usr/share/zoneinfo/Asia/Taipei这个档案啰!请对应着修改成您所想要的时区吧!<br> <br>好了,时区修正完毕了,那么时间呢?!呵呵!目前 Linux 系统上面有两个时间喔,一个是Linux 系统,另一个则是 BIOS 时间(真正的硬件记录的时间)!我们可以使用 date这个指令来手动修正目前主机的时间,不过, date 这个指令仅修正 Linux 时间而已,我们还需要以hwclock 这个指令来将 BIOS 时间也更新才行!<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> date MMDDhhmmYYYY</font></font><br><font size="-1" color="#ff6666" face="SimSun">MM:月份</font><br><font size="-1" color="#ff6666" face="SimSun">DD:日期</font><br><font size="-1" color="#ff6666" face="SimSun">hh:小时</font><br><font size="-1" color="#ff6666" face="SimSun">mm:分钟</font><br><font size="-1" color="#ff6666" face="SimSun">YYYY:公元年</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">date 082110002003</font></font><br><font size="-1" color="#ffffff" face="SimSun">Thu Aug 2110:00:00 CST 2003</font><br><font size="-1" color="#ff6666" face="SimSun"># 时间立刻就修正了!</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">hwclock [-rw]</font></font><br><font size="-1" color="#ff6666" face="SimSun">-r:检视目前的BIOS 时间</font><br><font size="-1" color="#ff6666" face="SimSun">-w:将目前Linux 的时间写入 BIOS 当中!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">date ; hwclock -r</font></font><br><font size="-1" color="#ffffff" face="SimSun">Thu Aug 2110:01:46 CST 2003</font><br><font size="-1" color="#ffffff" face="SimSun">Thu 21 Aug2003 09:57:52 AM CST  0.647923 seconds</font><br><font size="-1" color="#ff6666" face="SimSun"># 你可以看到,date 与 hwclock -r 所显示的时间是『不一致的』!</font><br><font size="-1" color="#ff6666" face="SimSun"># 这就是因为Linux 时间与 BIOS 时间不一致所导致的一个问题!</font><br><font size="-1" color="#ff6666" face="SimSun"># 我们需要以hwclock -w 来将 Linux 时间写入 BIOS 喔!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> hwclock -w</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> date ; hwclock -r</font></font><br><font size="-1" color="#ffffff" face="SimSun">Thu Aug 2110:03:42 CST 2003</font><br><font size="-1" color="#ffffff" face="SimSun">Thu 21 Aug2003 10:03:43 AM CST  0.113323 seconds</font><br><font size="-1" color="#ff6666" face="SimSun"># 呵呵!这样时间就一致啦!</font></td></tr></tbody></table> <br>这样可以了解了吗?!没错,<font color="#000066">当我们进行完 Linux时间的校时后,还需要以 hwclock 来更新 BIOS 的时间</font>,因为每次开机的时候,系统会重新由BIOS 将时间读出来,所以, BIOS 才是重要的时间依据吶!<br> <br><hr width="100%"><a name="client_Linux"></a><font color="#000099">如何在Linux 系统自动网络校时?</font><br> <br>在 Linux 上面进行网络校时简单的很,直接以 ntpdate 这个指令来执行即可!如下所示:<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> ntpdate 192.168.0.2</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 那个 192.168.0.2是我们刚刚建立的 NTP Server ,您也可以选择</font><br><font size="-1" color="#ff6666" face="SimSun"># time.stdtime.gov.tw这部主机来校时喔!</font><br><font size="-1" color="#ffffff" face="SimSun">21 Aug 10:05:29ntpdate[23420]: step time server 192.168.0.2 offset -236.117047 sec</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> hwclock -w</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 这样时间就修正了!若要每日进行时间校正,可以写入cron</font><br><font size="-1" color="#ff6666" face="SimSun"> </font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]#</font><font color="#ffff00"> vi /etc/crontab</font></font><br><font size="-1" color="#ff6666" face="SimSun"># 加入这一行:</font><br><font size="-1" color="#ffff00" face="SimSun">10 5 * * *root /usr/sbin/ntpdate 192.168.0.2 ; /sbin/hwclock -w</font></td></tr></tbody></table> <br>使用 cron 之后,每天 5:10 Linux 系统就会自动的进行网络校时啰!相当的简易吧!<br> <br><hr width="100%"><a name="client_win"></a><font color="#000099">如何在Windows 系统上面进行网络校时?</font><br> <br>在 Windows 上面进行网络校时也很简单,目前已经有很多热心人士写好了在Windows 上面的网络校时软件了!例如全中文接口的 ntpclock1_21.exe ,您可以在以下的网站下载:<br> <ul><li><a href="http://www.stdtime.gov.tw/ntp/index.htm" target="_blank">http://www.stdtime.gov.tw/ntp/index.htm</a></li><li><a href="http://www.stdtime.gov.tw/ntp_client/menu/NTPClockOperatingManualRelease1.21.html" target="_blank">http://www.stdtime.gov.tw/ntp_client/menu/NTPClockOperatingManualRelease1.21.html</a></li></ul> <br>上面同时列出使用说明,请自行参考喔!当然,您也可以在鸟哥的网站下载:<br> <ul><li><a href="http://linux.vbird.org/download/#ntp_win">http://linux.vbird.org/download/#ntp_win</a></li></ul></ul><hr width="100%"><a name="security"></a><font size="+1" color="#000099">安全相关方面</font><blockquote>NTP 服务器在安全的相关性方面,其实刚刚我们在 <a href="#server_ntp.conf">/etc/ntp.conf</a>里面的 restrict 参数中就已经设定了 NTP 这个 daemon 的服务限制范围了!不过,在防火墙iptables 的部分,还是需要启用的啦!所以,在您的 iptables 规则的脚本 (scripts)当中,需要加入这一段 (我是以开放 192.168.0.0/24 这个网域作为范例的!)<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" color="#ffff00" face="SimSun">/sbin/iptables-A INPUT -p UDP -i eth0 -s 192.168.0.0/24  \</font><br><font size="-1" color="#ffff00" face="SimSun">> --dport 123-j ACCEPT</font></td></tr></tbody></table> <br>若还要开放其它的网段或者主机,请自行修改您的防火墙机制咯!</blockquote><hr width="100%"><a name="lpi"></a><font size="+1" color="#000099">本章与LPI 的关系</font><ul>在 LPI 网站 <a href="http://www.lpi.org/" target="_blank">http://www.lpi.org</a>里面提到的,在 LPI 102 里面 NTP 其实考的还不少!Topic 1.111.6 Maintainsystem time 里面说到,应试者应该要了解 BIOS 时间与 UTC 时间的意义,同时需要知道怎么设定timezone ,而时间差所使用的档案 driftfile 也需要了解吶!可能会考的内容含有:<br> <ul><li><font color="#000066" face="SimSun">date</font></li><li><font color="#000066" face="SimSun">hwclock</font></li><li><font color="#000066" face="SimSun">ntpd</font></li><li><font color="#000066" face="SimSun">ntpdate</font></li><li><font color="#000066" face="SimSun">/usr/share/zoneinfo</font></li><li><font color="#000066" face="SimSun">/etc/localtime</font></li><li><font color="#000066" face="SimSun">/etc/ntp.conf</font></li><li><font color="#000066" face="SimSun">/etc/ntp.drift (新版已经改至/etc/ntp/drift 了)</font></li></ul></ul><hr width="100%"><a name="reference"></a><font size="+1" color="#000099">参考资源:</font><ul><li>NTP 的官方网站:<a href="http://www.ntp.org/" target="_blank">http://www.ntp.org</a></li><li>成大计中:<a href="http://turtle.ee.ncku.edu.tw/%7Eantony/xntpd/" target="_blank">http://turtle.ee.ncku.edu.tw/~antony/xntpd/</a></li><li>台湾地区时间服务器:<a href="http://www.stdtime.gov.tw/ntp/index.htm" target="_blank">http://www.stdtime.gov.tw/ntp/index.htm</a></li><li>NTP 网站:<a href="http://www.eecis.udel.edu/%7Emills/ntp/html/ntpd.html" target="_blank">http://www.eecis.udel.edu/~mills/ntp/html/ntpd.html</a></li></ul><hr width="100%"><a name="FAQ"></a><font size="+1" color="#000099">课后练习</font><ul><li>什么是 GMT (格林威治) 时间与 UTC 时间?</li><li>Linux 系统的所有时区档案放置哪一个目录底下?</li><li>我的 Linux 主机本来放置在日本东京,现在想将他拿到台湾来运作,不过因为日本与台湾有一个小时的时差,所以我的时间应该需要经过调整才行。不过,因为我的BIOS Time 主要是依据 UTC 时间来设定的,所以似乎只要更动时区参数即可。请问我该如何设定时区,好让我的Linux 主机能够显示正确的时间?</li><li>目前 Linux 系统上面的时间服务器主要是以 NTP 为主,请问这个 daemon 的主要设定档放在哪里,而该设定档中,针对上层time server 的设定参数为何?而那个 driftfile 参数是干嘛用的?</li><li>请问 ntptrace 的功能为何?</li><li>我以 date 更新了我 Linux 上面的时间后,该如何将时间数据写入 BIOS 内?</li><li>在 Linux 上面如何进行网络校时?</li><br><a href="http://linux.vbird.org/linux_server/1000results.php#0440ntp">前往参考用解答</a></ul><center><font size="+1" color="#3333ff"><a href="http://linux.vbird.org/linux_server/0440ntp.php" target="_self"><font face="SimSun">简易</font><font face="Times New Roman,Times">NTP </font><font face="SimSun">服务器设定</font></a></font></center><hr width="100%"><font size="-1" color="#000066" face="SimSun">2003/08/21:首次完成</font><br><hr width="100%"><font size="-1" color="#3333ff" face="SimSun">2003/08/21以来统计人数</font><br><img src="0440ntp_files/Count.gif" nosave="" align="middle" height="15" width="60"><hr width="100%"><center><a href="http://linux.vbird.org/" target="_top"><img src="0440ntp_files/VBirdTitle2.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_basic"><img src="0440ntp_files/icon_system.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_server"><img src="0440ntp_files/icon_server.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_security"><img src="0440ntp_files/icon_security.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://phorum.vbird.org/" target="_blank"><img src="0440ntp_files/icon_forums.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/adsl"><img src="0440ntp_files/icon_adsl.gif" nosave="" border="0" height="25" width="90"></a><br><font size="-1" color="#000066">Designed by <a href="mailto:vbird@tsai.adsldns.org">VBird</a>during 2001-2004.  Aerosol Lab.</font></center></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -