¡¡¡¡±¾ÎÄÖ÷ҪĿµÄÊǼòµ¥½éÉÜÈçºÎÔÚ¾ÖÓòÍøÉÏÉèÖÃһ̨Linuxʱ¼ä·þÎñÆ÷Ó뻥ÁªÍøÉϵÄʱ¼ä·þÎñÆ÷ͬ²½²¢ÇÒÈçºÎʹ¾ÖÓòÍøÉÏÆäËüLinux¼°Windows¿Í»§Ïò¸ÃLinuxʱ¼ä·þÎñÆ÷ͬ²½¡£
¡¡¡¡¶þ ·þÎñÆ÷ÉèÖÃ
¡¡¡¡Ê×ÏÈ˵Ã÷ÎÒÃÇÈçºÎÉèÖÃLANÉϵÄʱ¼ä·þÎñÆ÷ͬ»¥ÁªÍøÉϵĵÚÒ»»òÕßµÚ¶þ¼¶Ê±¼ä·þÎñÆ÷ͬ²½À´±£Ö¤¾«È·µÄʱ¼ä¡£
¡¡¡¡1. ÈçºÎÈÃLANµÄʱ¼ä·þÎñÆ÷(µÚÈý¼¶)Ó뻥ÁªÍøÉϵÄʱ¼ä·þÎñÆ÷(µÚÒ»»òÕßµÚ¶þ¼¶)ͬ²½
¡¡¡¡a. XNTP°ü£¬°üº¬ÔÚ´ó¶àÊýLinux CDÀïÃæ¡£ Ö÷Ò³ÔÚhttp://www.eecis.udel.edu/~ntp/ ÄãÖ»ÐèÒªÔÚ/etc/ntp.confÖÐÉèÖÃserverºÍdriftfileÁ½Ïî²ÎÊý¼´¿É£¬serverÏîÄã¿ÉÒÔ´ÓÉÏÃæµÄÖ÷Ò³ÖÐÕÒ¹«¹²µÄʱ¼ä·þÎñÆ÷ÓòÃû¡£ÀýÈç
ÒýÓÃ:server rackety.udel.edu
server umd1.umd.edu
server lilben.tn.cornell.edu
driftfile /etc/ntp/drift
¡¡¡¡È»ºóÆô¶¯XNTPDºǫ́³ÌÐò
ÒýÓÃ:#/etc/rc.d/init.d/xntpd start
¡¡¡¡b. "getdate"£¬ËæSlackware¶øÀ´µÄС³ÌÐò£¬ÍƼöʹÓ㬴ó¶àÊýʱºò£¬ÎÒÃǶÔʱ¼äµÄ¾«È·ÐÔÒªÇó²»ÊǷdz£µÄ¿Á¿Ì£¬ËùÒÔÕâ¸ö³ÌÐòÍêÈ«¹»ÓöøÇҺܷ½±ã¡£ÏÂÔØ:ftp://metalab.unc.edu/pub/Linux/system/network/misc/getdate_rfc868-1.2.tar.gzÈ»ºóÉèÖÃÏÂÃæµÄscripts È¡ÃûΪ/usr/local/sbin/get-date.sh
ÒýÓÃ:#!/bin/sh
timehosts="otc2.psu.edu wwvb.erg.sri.com ntp.nasa.gov"
if /usr/local/bin/getdate -adjust 10 200 $timehosts > /dev/null; then
/sbin/clock --systohc
fi
¡¡¡¡ÏÖÔÚ¿ÉÒÔÉèÖÃcronjobÿСʱ½øÐÐͬ²½
ÒýÓÃ:0 0-23 * * * /usr/local/sbin/get-date.sh
¡¡¡¡2. ÈçºÎʹµÃLANÉÏÆäËülinux/windows¿Í»§Ó븥̃·þÎñÆ÷ͬ²½
¡¡¡¡a. Èç¹û¸Ą̃ʱ¼ä·þÎñÆ÷Ò²ÊǾÖÓòÍøÉϵÄSamba·þÎñÆ÷,Ôò¶ÔWindowsÀ´Ëµ£¬²»ÐèÒª°²×°ÈκÎʱ¼äͬ²½Èí¼þ£¬ÒòΪwindows¿Í»§¿ÉÒÔÓà net time \\timeserver /set /yesÀ´Óë֮ͬ²½¡£¿ÉÒԷŸÃÃüÁîÔÚstartup ÖÐ×Ô´ÎÆô¶¯windowsʱ×Ô¶¯Í¬²½¡£net time ÃüÁîÀûÓÃNetbios over TCP/IPÐÒéÀ´Í¬²½Ê±¼ä£¬µ«½ö¶ÔWindows¿Í»§ÓÐЧ£¬Linux¿Í»§ÎÞ·¨Ê¹Óá£
¡¡¡¡b. Èç¹û·þÎñÆ÷ÔËÐÐNTPºǫ́·þÎñ³ÌÐò£¬ÀýÈçÇ°Ãæ½²µÄXNTPD£¬Ôò¶ÔWindows¿ÉÒÔ°²×°ÏÂÃæµÄÁ½¸öÃâ·ÑÈí¼þÓë·þÎñÆ÷ͬ²½£ºhttp://home.att.net/~Tom.Horsley/ntptime.html (ntptime) µ¥Ò»µÄºǫ́³ÌÐò£¬×Ô¶¯Ñ°ÕÒLANÉϵÄNTP·þÎñÆ÷£¬¿ÉÔÚ¿ØÖÆÃæ°åÖÐÉèÖÃͬ²½Ìõ¼þ, http://nettime.sourceforge.net/ (Nettime)¡£Ö§³ÖNTP(udp/123) , time(udp/37), time(tcp/37)¡£Linux: Ôò¿ÉÒÔÓÃntpdate(ËæXNTPD¶øÀ´)ÔËÐÐ×÷Ϊcronjob Óë ¸Ã¾ÖÓòÍøÉϵÄʱ¼ä·þÎñÆ÷ͬ²½¡£
¡¡¡¡c. Èç¹û¸Ą̃·þÎñÆ÷ʹÓÃgetdateÓ뻥ÁªÍøÉÏʱ¼ä·þÎñÆ÷ͬ²½£¬ÔòÄã¿ÉÒÔÉèÖÃ/etc/inetd.conf£¬´ò¿ªtime udpºÍtime tcp·þÎñ£¬ÈÃlinux/windows¿Í»§Óë֮ͬ²½¡£¶Ôwindows,Äã¿ÉÒÔʹÓÃÏóÉÏÃæ½éÉܵÄNettimeÈí¼þ¡£¶ÔLinux¿Í»§,Äã¿ÉÒÔÓÃrdate -s ÔËÐÐ×÷Ϊcronjob Óë֮ͬ²½:
ÒýÓÃ:time stream tcp nowait root internal
time dgram udp wait.200 root internal
¡¡¡¡LinuxϵÄrdate -s ÃüÁîʹÓÃtime (37/tcp) , Nettime Äã¿ÉÒÔÖ¸¶¨37/tcp»òÕß37/udp
¡¡¡¡Èý FAQ
¡¡¡¡1. ÔõÑùÈ·¶¨net timeÓõÄÊÇNetbios over TCP/IP?
¡¡¡¡ÔÚSamba·þÎñÆ÷ÉÏÔËÐÐtcpdump
ÒýÓÃ:# /usr/sbin/tcpdump host 192.168.1.3
¡¡¡¡(192.168.1.3ÊÇwindows¿Í»§¶ËµÄIPµØÖ·)
¡¡¡¡2. ÔõÑùÈ·¶¨windows NTP¿Í»§ntptimeÕýÔÚºǫ́ÓëLinux NTPʱ¼ä·þÎñÆ÷ͬ²½£¿
¡¡¡¡ÔÚNTP·þÎñÆ÷ÉÏÔËÐÐ
ÒýÓÃ:# tcpdump udp port 123
¡¡¡¡²é¿´Êä³ö
¡¡¡¡Ä¬ÈÏÊÇÿÎå·ÖÖÓntptimeÏòNTP·þÎñÆ÷²éѯһ´Î£¬Äã¿ÉÒÔ´ÓÖ÷Ò³ÉÏÏÂÔØ¿ØÖÆÃæ°åÖеĿØÖÆÌõ¼þÉèÖóÌÐò¡£