Ubuntu NTP لا يقوم بمزامنة خدمة إصلاح Timesyncd وفحص الشبكة
منطقتك صحيحة، وساعة الجهاز جيدة، ولكن الوقت لا يزال يتجول - دقيقة واحدة هذا الشهر، وخمسة في الشهر التالي. وهذا هو فشل تصحيح الإنترنت بهدوء. عميل مزامنة Ubuntu هو systemd-timesyncd، وهو يفشل بعدة طرق فقط. ها هم بالترتيب.
✍️ Technical Anshu🐧 Ubuntu⏱️ 6 minute read
🎥 شاهد الفيديو كاملاً - يتم عرض كل إصلاح لوقت Ubuntu مباشرةً، خطوة بخطوة
تحافظ Ubuntu على صدق ساعتها من خلال سؤال خوادم الوقت عبر الإنترنت - وهذا هو NTP. العميل المدمج هو systemd-timesyncd: بسيط بشكل متعمد، فهو يطلب من الخادم، ويضبط ساعتك أو يسهلها لتتوافق، ويبلغ عن النجاح في سطر واحد من timedatectl: مزامنة ساعة النظام: نعم. عندما يقول هذا السطر لا التمهيد بعد التمهيد، يكون هناك خطأ من بين ثلاثة أشياء - يتم إيقاف المزامنة، أو الخدمة لا تعمل، أو أن الشبكة تأكل حزمها. لكل منها إصلاح مختلف، لذا تحقق من الترتيب.
Terminal - a sync client that has never reached a server
عدد الحزم 0 والخادم n/a يعني أن timesyncd لم يكمل تبادلًا واحدًا. قد تكون الخدمة تعمل بشكل مثالي - ولكنها ببساطة لا تستطيع الحصول على إجابة. إخراج المثال.
1
تأكيد الأعراض في أمر واحد
قم بتشغيل timedatectl واقرأ سطرين: مزامنة ساعة النظام وخدمة NTP
خدمة NTP: غير نشطة تعني أن المزامنة متوقفة تمامًا - انتقل إلى الخطوة 2
خدمة NTP: نشطة ولكن متزامنة: لا تعني أنها تحاول وتفشل - انتقل إلى الخطوة 3
قم بتشغيل timedatectl timesync-status - يقوم العميل السليم بتسمية الخادم وإظهار عدد الحزم أعلى من الصفر
لاحظ أيضًا حجم الخطأ الفعلي الخاص بك مع date على هاتفك. دقائق من الانجراف مع فشل المزامنة هي هذه الصفحة؛ إن قفزة إزاحة المنطقة الدقيقة هي خطأ التمهيد المزدوج، وليس هذا الخطأ.
2
قم بتشغيل المزامنة - في الإعدادات أو عن طريق الأوامر
مسار واجهة المستخدم الرسومية: الإعدادات، ثم التاريخ والوقت، قم بتشغيل التاريخ والوقت التلقائي
المسار النهائي: timedatectl set-ntp true
انتظر دقيقة مع اتصال الإنترنت، ثم قم بتشغيل timedatectl مرة أخرى
يجب أن ينقلب الخط المتزامن إلى yes ويجب أن تصحح الساعة نفسها
إذا قام شخص ما (أو تجربة سابقة) بإيقاف تشغيل هذه الميزة، فلن تكون هناك حاجة إلى أي شيء آخر في هذه الصفحة. سوف تتفاجأ بعدد المرات التي تكون فيها هذه هي القصة بأكملها.
3
تحقق من خدمة timesyncd وأعد تشغيلها
راجع حالة الخدمة: systemctl status systemd-timesyncd - تريد نشطًا (قيد التشغيل)
إذا تم إيقافه أو فشله، أعد تشغيله: sudo systemctl restart systemd-timesyncd
امنحه بضع ثوانٍ، ثم تحقق من timedatectl timesync-status بحثًا عن خادم مسمى وعدد متزايد من الحزم
إذا لم تظل الخدمة قيد التشغيل، فإن سجلها الأخير يوضح السبب: journalctl -u systemd-timesyncd -n 30
لا تقم بإعادة تثبيت أي شيء بعد - فالخدمة التي يتم تشغيلها ولكن لا تتم مزامنتها مطلقًا تشير إلى الشبكة، وهذه هي الخطوة التالية.
4
اشتبه في أن الشبكة - يستخدم NTP منفذ UDP 123
لا تنتقل مزامنة الوقت مثل حركة مرور الويب. ويستخدم منفذ UDP رقم 123، وتقوم بعض الشبكات بحظره أو تعطيله بهدوء:
شبكات المكاتب والحرم الجامعي تجبر أحيانًا جميع الأجهزة على استخدام خادم وقت داخلي وحظرها خارج NTP
تسيء بعض أجهزة التوجيه وإعدادات مزود خدمة الإنترنت التعامل مع UDP، لذا يغادر الطلب ولا يتم إرجاع أي إجابة
الاختبار الصادق هو شبكة مختلفة: اتصل بنقطة اتصال هاتفية لمدة دقيقتين وأعد التحقق من timedatectl
إذا تمت مزامنته على الفور على نقطة الاتصال، فإن نظام Ubuntu الخاص بك سليم والمشكلة هي شبكتك الرئيسية - على الشبكات المُدارة، اطلب من المسؤول خادم NTP الداخلي الخاص به بدلاً من محاربة الحظر
إن إلقاء اللوم على Ubuntu بسبب المنفذ المحظور يضيع بالضبط الوقت الذي يحاول فيه هذا الدليل إنقاذك.
5
تعرف على ما هو timesyncd - ومتى يجب استبداله
كن واضحًا بشأن الأداة: systemd-timesyncd هو عميل بسيط، وليس برنامج NTP الخفي الكامل. إنه لا يخدم الوقت بالنسبة للأجهزة الأخرى، وأسلوب التصحيح الخاص به أساسي - جيد لأجهزة الكمبيوتر المكتبية والمحمولة.
بالنسبة لجهاز منزلي عادي، بمجرد أن تعمل المزامنة، اتركها بمفردها
بالنسبة للخوادم وأجهزة VM التي تعمل دائمًا، تكون الأداة الأثقل chrony - قم بتثبيتها باستخدام sudo apt install chrony وستحل محل timesyncd كمحرك المزامنة
يتعامل Chrony مع القفزات الكبيرة بعد النوم أو يتم استعادة اللقطة بشكل أكثر رشاقة ويبلغ عن حالته باستخدام chronyc tracking
لا تقم بتشغيل كلاهما في وقت واحد - محركان متزامنان يسيران على نفس الساعة يتقاتلان
تعد الأداة الخاطئة للمهمة سببًا حقيقيًا لـ "عدم استقرار المزامنة أبدًا"، خاصة على الخوادم.
🕐 الحد الصادق: يقوم timesyncd بتصحيح الساعة بخطوات عندما يكون الخطأ كبيرًا. إذا رأيت الوقت يقفز مرة واحدة بعد إصلاح المزامنة، فهذا يعني وصول التصحيح - وليس خطأً جديدًا. شاهد الخط المتزامن، وليس القفزة.
شاهد دليل الفيديو الكامل
شاهد الفيديو الخاص بعمليات فحص المزامنة الزمنية المباشرة - حالة الخدمة، وحالة المزامنة، واختبار نقطة الاتصال الذي يفصل خطأ الكمبيوتر عن خطأ الشبكة.
يقول timedatectl أن خدمة NTP نشطة ولكنها متزامنة. ماذا يعني ذلك؟
العميل قيد التشغيل ويسأل، ولكن لم يقم خادم الوقت بالإجابة بنجاح حتى الآن - أو لم يقم بالإجابة على الإطلاق. أعد تشغيل systemd-timesyncd مرة واحدة، ثم اختبره على شبكة مختلفة، مثل نقطة اتصال الهاتف. تثبت المزامنة هناك أن الشبكة كانت تحظر منفذ UDP رقم 123.
تحظر شبكة مكتبي خارج NTP. هل لا يزال بإمكاني المزامنة؟
نعم - قم بتوجيه الجهاز إلى خادم الوقت الداخلي للمؤسسة بدلاً من ذلك، وهو ما تم تصميم الكتلة عادةً لتنفيذه. اسأل مسؤول الشبكة عن عنوانها. على الشبكة المنزلية الخاصة بك، لا ينبغي أن يكون هناك مثل هذا الحظر؛ إذا فشلت المزامنة هناك أيضًا، فتحقق من جهاز التوجيه.
هل يجب علي استبدال timesyncd بـ chrony على الكمبيوتر المحمول الخاص بي؟
عادة ليست هناك حاجة. يعد Timesyncd كافيًا لجهاز كمبيوتر سطح المكتب أو الكمبيوتر المحمول الذي ينام ويستيقظ على الشبكات العادية. تكتسب Chrony مكانها على الخوادم وأجهزة VM والآلات التي تستيقظ بعد فترات نوم طويلة مع قفزات كبيرة على مدار الساعة. تشغيل كلاهما معًا هو الشيء الوحيد الذي يجب تجنبه.
يعتمد هذا الدليل على فيديو الإصلاح الزمني لـ Anshu Ubuntu - عالق في أي خطوة، اسأل في تعليقات الفيديو وستحصل على إجابة.