iT邦幫忙

0

Fedora 8 架 NTP Server 在 XP不能校時的問題

我用了兩台電腦試著學習架NTP Server..
一台灌Fedora 8,一台灌XP
以下這張圖是XP設定所抓的圖
無名相簿連結
在校時的時候會出現:『同部處理時,發生錯誤』
我有在以下這網站找為什麼會出現這行字..
資料網頁連結
但是我覺得好像都不是這四點問題捏 >"<
可以Ping的到Fedora8那台主機 (192.168.100.1)
XP的防火牆我也有關掉了 @@
但是還是不能校時耶~

我在Fedora 8這台主機上,防火牆那些也都關掉了!
以下是ntp.conf的內容 (僅貼出無註解部分,後面有加上#####表示為我加入的東西)

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
restrict default ignore #####
restrict 192.168.100.1 #####
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap #####
server 127.127.1.0
server 127.0.0.1 #####
server 192.168.100.1 prefer #####
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

請問各位大大有哪裡設定錯嗎?
我看鳥哥的網站還有另一本書..
總覺得這樣好像就可以動了~
但是一直做不出來 >"<
請有經驗的大大幫忙一下囉~

順便請問一下~
我是用兩台電腦直接接線測試的..
這樣的話我應該連接的線是用『568A <-> 568B』的線吧!?
我也試著用過網路線..但是問題還是一樣~
我想是使用『568A <-> 568B』的線沒錯吧?
因為做不出來也不是很確定概念對不對 XD

請各位大大幫忙解惑一下囉!!
先謝謝各位大大了 ^^

14
cooch
iT邦研究生 3 級 ‧ 2009-06-02 11:53:33
最佳解答

1 您的 ntp.conf 看不出來有什麼問題
或許可以把 server 全部刪除只留下 server 127.127.1.0 即可,
我自己用 fedora core 9 進行測試,
發現到後來只能用 server 127.127.1.0 讓 kernel time sync status change 變成
001
其他一大堆的 server 都只能讓 kernel time sync status change停留在0040
問題發生的原因不明!
至於您的 fedora core 8 本身的校時問題,
可用其他方式如 webmin 的排程校時來解決!

當您重新啟動 ntpd 的服務時,
會在 /var/log/messages 裡看到 kernel time sync status 0040
大約過了5分鐘左右,
會在 /var/log/messages 裡看到 kernel time sync status change 0001
這時候表示您的 fedora 本身的 ntp 服務已確定本機時間已經校時,可以開始對外提供校時服務!!

kernel time sync status 還沒變成 0001時,
fedora 上已啟動的 ntp 服務是無法提供給任何用戶端進行校時的!!

18
pcboy
iT邦高手 1 級 ‧ 2009-05-29 08:07:28

這樣的話我應該連接的線是用『568A <-> 568B』的線吧!?
可以 ping 得到, 線就沒用錯

16
jokera
iT邦新手 3 級 ‧ 2009-05-30 04:45:13

提供一下我主機上的ntp.conf

driftfile /var/lib/ntp/drift
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict default kod nomodify notrap nopeer noquery
server 0.asia.pool.ntp.org
server 0.fedora.pool.ntp.org dynamic
server 0.north-america.pool.ntp.org
server 1.jp.pool.ntp.org
server 1.tw.pool.ntp.org
server clock.stdtime.gov.tw prefer
server tick.stdtime.gov.tw prefer
server time.stdtime.gov.tw prefer
server tock.stdtime.gov.tw prefer
server watch.stdtime.gov.tw prefer

雖然不一定正確,但起碼我的主機是www.pool.ntp.org裡,台灣那不到20臺的Time server中其中三台...
印象中,我只加了後面那幾個server開頭的幾行...

另外
[同部處理時,發生錯誤]這訊息印象中在某些安裝網路上流傳的啥該死的SuperXP還是啥TigerXP的看過
你去看看事件檢視器裡看看有沒有比較明確的錯誤訊息
也有可能是因為時間差距過大而拒絕時間同步

14
linuxhall
iT邦新手 4 級 ‧ 2009-05-30 23:09:18

問題出在於 Windows 所使用的是 SNTP (Simple Network Time Protocol, RFC-2030)
而你架設的是 NTP (Network Time Protocol, RFC-1305) Server

看更多先前的回應...收起先前的回應...
cooch iT邦研究生 3 級 ‧ 2009-06-02 12:25:56 檢舉

錯!
1 windows 用戶端校時協定:
windows 2000 : sntp
windows xp sp2 以前 : sntp
windows xp sp2 以後(含sp2) :ntp
windows 2003,vista,2008 :ntp

2 NTP 與 SNTP 校時協定只差在一些錯誤檢查及精確度校正的功能,
基本上兩者在網路上傳輸的封包格式是一樣的,
NTP 校時主機提供的服務可以提供給以 sntp 校時協定的用戶端(如 windows 2000)進行校時,

linuxhall iT邦新手 4 級 ‧ 2009-06-03 12:35:26 檢舉

Hi cooch,
你的資料應該是正確的,
不知有沒有官方的說明文件?

cooch iT邦研究生 3 級 ‧ 2009-06-03 14:12:43 檢舉

比較有爭議的是 Windows XP ,
我在網路上看到很多不同的說法,
大部分都只有說 Windows XP 是 NTP 或是 SNTP 的單一說法,
既使微軟官方網站也找不到這個問題的完整說明,

最後在一家專門提供校時解決方案服務的公司找到這個問題的完整說明:
Table: Network environment applicable for this application note.
http://www.spectracomcorp.com/Support/Library/IntegrationGuides/SynchwithW32Time/tabid/164/Default.aspx
該頁面有一個 windows2000_2003_appnotes.pdf 的文件,裡面有講到這部份!

cooch iT邦研究生 3 級 ‧ 2009-06-06 08:22:10 檢舉

linuxhall 大您後來補充的地方還有2個地方有問題:
1 用 command 啟動 Windows time 的服務指令是 "net start w32time"
2 net time 指令去校時其實並不是用PORT UDP 123 去讀取 NTP 的時間訊息,
而是透過 NETBIOS 去讀取主機本身的時間,
兩者所使用的網路協定跟時間訊息來源完全不一樣!

linuxhall iT邦新手 4 級 ‧ 2009-06-06 12:57:24 檢舉

1 用 command 啟動 Windows time 的服務指令是 "net start w32time"
w32time 和 "Windows Time" 是一樣的作用

2 net time 指令去校時其實並不是用PORT UDP 123 去讀取 NTP 的時間訊息,
You are right, 因為有開啟 samba server, 所以沒注意到這問題.

linuxhall iT邦新手 4 級 ‧ 2009-06-06 13:03:02 檢舉

找到了, 要下的 command 應該是這個
w32tm /resync

我要發表回答

立即登入回答