NTP - Network Time Protocol - спеціальний мережевий протокол, який використовується для синхронізації внутрішнього годинника комп'ютера по мережі.
До недавнього часу за синхронізацію часу відповідав демон ntpd. Він підключав сервер до пулу серверів NTP, що забезпечувало точне хронометрирование.
В Ubuntu 16.04 замість ntpd за замовчуванням використовує timesyncd. Сервіс timesyncd підключається до тих же серверів часу і працює приблизно таким же чином, але він легше ntpd і інтегрований з systemd.
У більшості випадків сервіс timesyncd підходить для роботи, але якщо ваші програми чутливі до найменших коливань часу, краще обслуговувати їх за допомогою ntpd, так як цей демон використовує більш складні методи синхронізації системного часу.
Перш ніж встановити ntpd, вимкніть timesyncd:
Переконайтеся, що timesyncd відключився:
У висновку повинна бути рядок:
Установка NTP і конфігурація NTP сервера в Ubuntu 16.04 для синхронізації точного часу через інтернет
У своїй роботі NTP використовує порт 123 по протоколу UDP. Клієнти запитують даний час на сервері і використовують його для установки своїх власних годин.
Залежно від налаштувань, вказаних в файлі конфігурації, він може виступати як в якості сервера, так і в якості клієнта, тобто може як приймати час з віддалених хостів, так і роздавати його іншим хостам.
Конфігурація NTP сервера
У файлі конфігурації вказується список NTP-серверів, з якими буде здійснюватися синхронізація. За замовчуванням він виглядає так:
Кожен рядок означає групу серверів, які будуть Повідомляється нашого сервера коректне час. Підвищити точність синхронізації можна за допомогою опції iburst (вона вказує, що на сервер для синхронізації потрібно надсилати не один, а кілька пакетів):
Можна також вказати бажаний сервер за допомогою опції prefer:
Роботу загальнодоступних серверів точного часу координує проект pool.ntp.org - це величезний кластер серверів точного часу, що надає надійний і простий у використанні NTP-сервіс для мільйонів клієнтів.
Щоб забезпечити більш точну установку системних годин, рекомендується синхронізуватися тільки з ntp-серверами того регіону, в якому географічно розташований наш сервер.
Правимо файл настройок NTP - /etc/ntp.conf:
Резервний сервер точного часу
NTP-сервер, з якої-небудь причини відключений від Інтернету, може передавати для синхронізації дані своїх системних годин. Для цього в конфігураційний файл потрібно додати наступний рядок:
Перестартуем NTP сервер:
І в завішені установки перевіримо статус NTP сервера:
Повинно видати щось типу:
У заголовку вказуються такі параметри:
* Сервер обраний для синхронізації;
+ сервер, придатний для поновлення (з яким можна синхронізуватися);
- з сервером синхронізуватися не рекомендується;
х сервер недоступний.
Для захисту від DDoS-атак за замовчуванням в файлe /etc/ntp.conf встановлені наступні обмеження:
Параметри nomodify, notrap, nopeer і noquery забороняють стороннім клієнтам змінювати що-небудь на сервері. Параметр kod (ця абревіатура означає kiss of death - «поцілунок смерті») забезпечує додатковий захист: клієнт, що відправляє занадто часті запити, спочатку отримає так званий kod-пакет (попередження про відмову в обслуговуванні), а потім буде відключений від сервера.
Щоб з NTP-сервером могли синхронізуватися машини з локальної мережі, в конфігураційний файл слід додати наступний рядок:
Для локального хоста можна встановити доступ до NTP-сервера без обмежень:
Ще по темі Команди утиліти, Налаштування Linux Ubuntu, Налаштування Ubuntu для VDS / VPS