1. أهمية NTP في Ubuntu
ما هو NTP؟
NTP (بروتوكول توقيت الشبكة) هو بروتوكول يُستخدم لمزامنة وقت أنظمة الكمبيوتر بدقة عبر الشبكة. الحفاظ على الوقت الدقيق في النظام ضروري لاتساق السجلات، ومعالجة المعاملات، ودقة الاتصالات الشبكية. إذا كان هناك انحراف في الوقت، فقد يؤدي ذلك إلى أخطاء في الشبكة أو عدم تطابق البيانات، وهو أمر بالغ الأهمية خاصة في إدارة الخوادم.
في Ubuntu، يُوصى باستخدام chrony
، حيث يتيح مزامنة الوقت بدقة حتى في البيئات التي تعاني من عدم استقرار الشبكة. كما أن Chrony مناسب للبيئات الخدمية والعملاء بسبب انخفاض التأخير وسرعة المزامنة العالية.
2. كيفية إعداد NTP
تثبيت وإعداد Chrony
Chrony هو عميل NTP القياسي في Ubuntu منذ الإصدار 18.04. يمكنك تثبيته وإعداده لمزامنة الوقت مع خادم NTP باتباع الخطوات التالية:
خطوات التثبيت
sudo apt update
sudo apt install chrony
بعد ذلك، قم بتشغيل خدمة Chrony وقم بتعيينها للتشغيل التلقائي:
sudo systemctl start chrony
sudo systemctl enable chrony
ملف الإعدادات موجود في /etc/chrony/chrony.conf
. عند استخدام خوادم NTP القريبة من اليابان، يمكن تعيين الإعدادات كما يلي:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
خيار iburst
يسمح بالمزامنة السريعة عند أول اتصال.

3. تحسين واختيار خوادم NTP
استخدام مشروع تجمع NTP
مشروع تجمع NTP يوفر خوادم NTP مثالية لكل منطقة حول العالم. من خلال تعيين عدة خوادم NTP، تزداد الموثوقية، فإذا توقف أحد الخوادم يمكن للخوادم الأخرى أن تعمل كبديل.
في المثال التالي، يتم استخدام خوادم داخل اليابان:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. إعداد المنطقة الزمنية
استخدام أمر timedatectl
المنطقة الزمنية الافتراضية في Ubuntu هي UTC، لكن يمكنك تغييرها إلى توقيت اليابان القياسي (JST) باستخدام الأمر التالي:
sudo timedatectl set-timezone Asia/Tokyo
بعد التغيير، يمكنك التحقق من إعداد المنطقة الزمنية بالأمر التالي:
timedatectl
5. استكشاف الأخطاء وإصلاحها
إذا لم تتم مزامنة NTP
التحقق من جدار الحماية
NTP يستخدم المنفذ UDP 123، وقد يتم حظره بواسطة جدار الحماية. افتح المنفذ بالأمر التالي:
sudo ufw allow 123/udp
التحقق من False-ticker
استخدم أمر ntpq -p
للتحقق من عمل خوادم NTP بشكل صحيح. الخوادم التي تعطي توقيتاً خاطئاً (False-ticker) تظهر بعلامة x
، وفي هذه الحالة يجب اختيار خادم آخر أو تعديل الإعدادات.
خطأ Stratum 16
إذا لم يتمكن خادم NTP من المزامنة مع خوادم أعلى، سيظهر خطأ Stratum 16. يشير هذا الخطأ إلى مشكلة في الاتصال بالخادم أو الشبكة، لذلك تحقق من إعدادات الخادم أو الشبكة وأعد تعيين خادم موثوق.
مزامنة الوقت يدوياً
لمزامنة الوقت يدوياً باستخدام Chrony، نفذ الأمر التالي:
sudo ntpdate ntp.nict.jp
كما يمكنك التحقق من سجلات Chrony لتحديد المشاكل:
sudo journalctl -u chrony

6. تحسين NTP في البيئات عالية التحميل
تعديل minpoll
وmaxpoll
في البيئات التي تتطلب دقة عالية في الوقت، يمكن تعديل فترات الاستطلاع لجعل المزامنة أكثر تكراراً وتقليل الانحراف الزمني. المثال التالي يوضح كيفية ضبط ذلك:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
إدارة NTP باستخدام Juju
في البيئات السحابية الكبيرة، يمكن أتمتة خدمة NTP باستخدام Juju، حيث يقوم Juju بمراقبة الحمل على كل مضيف ويحدد المضيف الأمثل ليكون خادم NTP. استخدم الأوامر التالية لنشر NTP باستخدام Juju:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
يساعد ذلك في أتمتة إدارة NTP وتوزيع الحمل لتحقيق مزامنة دقيقة وفعالة.
7. تعزيز الأمان
التحكم في وصول خوادم NTP
يمكنك تعزيز الأمان عن طريق تقييد الوصول إلى خادم NTP لعناوين IP محددة. أضف إعداد التحكم في الوصول إلى /etc/chrony/chrony.conf
كما يلي للسماح بطلبات NTP فقط من شبكة معينة:
allow 192.168.1.0/24
يساعد ذلك في منع الطلبات غير المصرح بها من الخارج وتحسين أمان الشبكة الداخلية.