Ubuntu بهطور پیشفرض از systemd-timesyncd استفاده میکند که فقط کلاینت ساده است. برای سرورها، بهخصوص اگر قرار است منبع زمان بقیهی دستگاهها باشند، chrony دقیقتر و انعطافپذیرتر است. (در نسخههای جدیدتر Ubuntu، chrony خودش پیشفرض است.)
۱. نصب
نصب chrony بهطور خودکار timesyncd را کنار میگذارد:
sudo apt update
sudo apt install -y chrony
systemctl status chrony --no-pager۲. انتخاب منبع زمان
sudo nano /etc/chrony/chrony.confخطوط pool موجود را با منابع مورد نظرتان جایگزین کنید. اگر سرور زمان داخلی دارید، آن را با prefer اول بگذارید:
server 192.168.10.5 iburst prefer
pool ntp.ubuntu.com iburst maxsources 2۳. اعمال و بررسی
sudo systemctl restart chrony
chronyc sources -v
chronyc trackingدر خروجی tracking، مقدار System time اختلاف ساعت محلی با منبع را نشان میدهد؛ باید در حد میلیثانیه باشد.
۴. اصلاح فوری یک ساعت خیلی عقب
chrony بهطور پیشفرض ساعت را آرامآرام اصلاح میکند. اگر اختلاف خیلی زیاد است:
sudo chronyc makestep۵. سرور زمان برای شبکهی داخلی
# /etc/chrony/chrony.conf
allow 192.168.10.0/24
local stratum 10local stratum 10 باعث میشود اگر اینترنت قطع شد، این سرور همچنان به کلاینتها زمان بدهد.
sudo systemctl restart chrony
sudo ufw allow from 192.168.10.0/24 to any port 123 proto udpاز یک کلاینت:
chronyc -h 192.168.10.5 tracking