ntpdate और ntpd लिनक्स पर घड़ी सिंक करने में विफल


11

मुझे अपने एक सर्वर के साथ एक अजीब समस्या है। ntpdऔर ntpdateकाम करने में विफल है, लेकिन डिबगिंग में कोई त्रुटि नहीं है। पहले मुझे लगा कि शायद एक स्थानीय या नेटवर्क फ़ायरवॉल यूडीपी पोर्ट 123 को अवरुद्ध कर रहा है, लेकिन ऐसा नहीं है- यह सर्वर यूडीपी पोर्ट 123 (एनटीपी प्रोटोकॉल) से इंटरनेट पर बात कर सकता है और उत्तर प्राप्त कर सकता है।

मुझे इस मुद्दे को प्रदर्शित करते हैं।

date -s "30 DEC 2012 02:30:00" - काम करता है, इसलिए मैं बिना किसी त्रुटि के सफलतापूर्वक घड़ी सेट कर सकता हूं।

ntpq -pn pool.ntp.org - काम करता है, मुझे समय-समय पर विस्तृत डेटा मिलता है, और साबित होता है कि यूडीपी के पैकेट काम कर रहे हैं।

ntpdate -d pool.ntp.org - डिबग मोड काम करता है, डिबग डेटा का एक टन दिखाता है और वर्तमान समय ऑफसेट दिखाता है: 30 Dec 02:38:56 ntpdate[19267]: step time server 208.97.140.69 offset 228.234554 sec

सभी सामान्य दिखते हैं, जब तक: ntpdate pool.ntp.org- 4.7 सेकंड के ठहराव के बाद, यह वापस आ जाता है: 30 Dec 02:41:29 ntpdate[19274]: no server suitable for synchronization found

ऐसी ही समस्या चल रही है ntpd, यह घड़ी को अपडेट नहीं करता है।

Ntpd शुरू होने के बाद, ntpq -pnसभी refid के परिणाम हमेशा के लिए अटक जाते हैं, .INIT.जिसका अर्थ है कि वे सिंक नहीं कर सकते हैं।

/ var / lib / ntp / बहाव ntp.conf में ड्रिफ्टफाइल सेटिंग है, जो कि chmod 644 है और ntp के स्वामित्व में है: ntp, मेरे सभी अन्य सिस्टमों की तरह ही।

मैंने एक दर्जन अन्य ntp समय सर्वर, अक्षम iptables फ़ायरवॉल की कोशिश की, और पुष्टि की कि datacenter ud यातायात को फ़िल्टर नहीं कर रहा है। किसी भी विचार क्या ntpd और ntpdate को मेरी घड़ी को सिंक करने से रोक रहा है?

यह इंटेल CPU के साथ समर्पित सर्वर पर CentOS 6.3 x64 है।


2
क्या आप स्पष्ट कर सकते हैं कि "समर्पित सर्वर" से आपका क्या मतलब है - क्या यह भौतिक हार्डवेयर है, या वर्चुअल मशीन है?
शेन मैडेन

समर्पित सर्वर = भौतिक हार्डवेयर। वर्चुअल मशीन नहीं।
क्रैश ओवर

जवाबों:


13

ntpdate(और ntpd) ऑफ़सेट बहुत अधिक होने पर (आसानी से) सेट करने से इंकार कर देगा। दोनों एप्लिकेशन आपके समय को धीरे-धीरे समायोजित करने का प्रयास करेंगे , ताकि आपके सिस्टम या किसी भी ऐसे एप्लिकेशन को भ्रमित न करें जो बड़े समय के छलांग को बहुत अच्छी तरह से संभाल नहीं सकते हैं।

ntpdate -bइसके बजाय कोशिश करें । यह समय निर्धारित करेगा चाहे वह कितना भी अनुचित क्यों न हो।

आपको -uध्वज को जोड़ने की भी आवश्यकता हो सकती है , जो ntpdateविशेषाधिकार प्राप्त (<1024) बंदरगाहों का उपयोग करने से रोकेगा । ध्यान दें कि -uद्वारा निहित है -d! और ऐसा लगता है कि -dठीक काम कर रहा है।

यदि जोड़ने -uसे काम करने और गैर-काम करने के बीच अंतर पड़ता है, तो आपके पास रास्ते में एक फ़ायरवॉल है जो इन मुद्दों का कारण बन रहा है।

और दुर्भाग्य से एक अप्रतिबंधित पोर्ट का उपयोग करना संभव नहीं लगता हैntpd


फिर भी विफल रहता है। ntpdate -b pool.ntp.orgपरिणाम: 30 Dec 03:00:10 ntpdate[1341]: no server suitable for synchronization foundntpdate डीबग ध्वज जो -dडीबग डेटा दिखाएगा, लेकिन वास्तव में सिंक नहीं करता है, और वह काम करता है: ntpdate -d pool.ntp.orgपरिणाम:30 Dec 03:00:55 ntpdate[1343]: step time server 128.10.254.6 offset 228.030338 sec
क्रैश ओवरराइड

@CrashOverride, मैंने अपने जवाब को अपडेट करने की कोशिश करने के लिए अद्यतन किया कि क्यों -dकाम कर रहा है अन्यथा यह नहीं है।
चुतज

1
ntpdate -b -uकाम करता है !!! बहुत बढ़िया। दो सवाल। Ntpd डेमॉन अभी भी विफल हो रहा है, मुझे यह कैसे प्राप्त होता है कि विशेषाधिकार प्राप्त बंदरगाहों का उपयोग न करें? दूसरा सवाल, यह मशीन विशेषाधिकार प्राप्त बंदरगाहों पर ntp के साथ विफल क्यों हो रही है जब मेरे सभी अन्य सर्वर नहीं करते हैं?
क्रैश ओवर

हुम, शायद मेरे सर्वर से एक फ़ायरवॉल अवरोधन स्रोत यूडीपी पोर्ट 123 है। वह जाँच कर रहा है। फिर से, आपके उत्तर के लिए धन्यवाद।
क्रैश ओवरराइड

मैंने यह समझाने के लिए एक लिंक के साथ अद्यतन किया कि ntpd स्रोत पोर्ट को बदलना संभव नहीं है। क्षमा करें, मैंने उस लिंक को खोजने से आगे नहीं देखा है।
चुतज

2

क्या आप पास्टबिन में निम्नलिखित आउटपुट दे सकते हैं।

cat /etc/ntp.conf
cat /etc/sysconfig/ntpd
ntpq -pn
ntpdc -c sysstat
ntpdc -c kerninfo
ntpdc -c loopinfo
ntpdate -d <time-server-IP>
ntptrace

क्या आप स्ट्रैटम 1 सर्वर या अन्य किसी चीज़ से सिंक कर रहे हैं।

सिंक्रनाइज़ेशन के लिए उपयुक्त कोई भी सर्वर का मतलब यह नहीं है कि वह बताता है कि क्लाइंट और सर्वर के बीच संचार स्थापित नहीं किया जा सकता है।

यदि हमें डेटा के इस सेट से सुराग नहीं मिल रहा है, तो tcpdump को यह देखने की आवश्यकता हो सकती है कि पैकेट कहाँ खो रहा है।

tcpdump -s0 -i ethX -p udp -w /tmp/ntp.pcap

एनटीपीपी डेमॉन को रोकें और शुरू करें और 377 तक पहुंचने की प्रतीक्षा करें और फिर tcpdump को रोकें। उसे और सुराग देना चाहिए।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.