Головна FreeBSD Налаштування NTP сервера під FreeBSD

Налаштування NTP сервера під FreeBSD

Налаштування NTP сервера під FreeBSD
Налаштування NTP сервера під FreeBSD

Точний час на сервері це завжди хороша практика, хоча б для того щоб логи можна було читати без калькулятора) Ну і насправді є багацько програм які з невірним часом можуть некорректно працювати (особливо прікольно коли на серваку дата на 5-6 років назад і треба щось з https сторінки скачати). А як приємно коли все обладнання працює секунда в секунду! В моїй мережі є 2 сервери точного часу, і все обладнання налаштоване на синхронізацію з ними. Сьогодні я розкажу вам як це зробити.

У FreeBSD "з коробки" є NTP-демон ntpd, його треба тільки трохи підналаштувати. Відкриємо улюбленим редактором файл /etc/ntp.conf і впишемо в нього налаштування:

server 0.ua.pool.ntp.org iburst prefer
server 1.ua.pool.ntp.org iburst
server 2.ua.pool.ntp.org iburst
server 3.ua.pool.ntp.org iburst

driftfile /etc/ntp/drift

logfile /var/log/ntp.log

disable monitor

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

restrict 0.ua.pool.ntp.org nomodify notrap nopeer noquery
restrict 1.ua.pool.ntp.org nomodify notrap nopeer noquery
restrict 2.ua.pool.ntp.org nomodify notrap nopeer noquery
restrict 3.ua.pool.ntp.org nomodify notrap nopeer noquery
restrict 10.15.1.0 mask 255.255.255.0 nomodify notrap

Давайте розберемось що тут до чого:

 - server - такими строками ми вказуємо з якими серверами ми хочемо синхронізовувати наш сервер. Параметри iburst (вказує що треба відправити кілька запитів одразу) і prefer (вказує що цей сервер є пріорітетним) необовязкові, проте корисні.

 - driftfile - в цей файл записується наскільки поправляється час сервера кожної синхронізації. Якщо під час наступної синхронізації жоден сервер не буде доступний ntp автоматично підстроїть час на основі даних з цього файлу.

 - logfile - ну тут все і так ясно) Сюда ntp писатиме логи.

 - disable monitor - вимикає команду monitor  в сервері ntp. Це пов‘язано зі знайденою уязвимістю в ntp, яка дозволяла здійснювати DDoS-атаки.

 - restrict - ця команда визначає поведінку сервера відносно клієнтів. restrict default - визначає поведінку за-замовчуванням. Ми виставили флаги 

   -- kod - Kiss Of Death, сервер відсилатиме клієнту спеціально сформований пакет якщо клієнт надто часто запитує точний час.

   -- nomodify - забороняємо змінювати конфігурацію сервера.

   -- notrap - забороняємо отримувати логи

   -- nopeer - забороняємо отримувати список пірів

   -- noquery - забороняємо будь-які інформаційні запити окрім запитів точного часу

Наступними кількома строками ми прописуємо наші сервера з якими буде йти синхронізація (це необов‘язково, але я люблю щоб все було точно) і прописуємо підмережу з обладнанням (вона в мене, як бачите трохи більше всього може, бо там теж є 1 ретранслятор в клієнтську мережу).

Щоб це все запрацювало додаємо демона в rc:

echo 'ntpd_enable="YES"' >> /etc/rc.conf
echo 'ntpd_sync_on_start="YES"' >> /etc/rc.conf

запускаємо

service ntpd start

і за кілька хвилин можемо перевіряти як все працює:

 ntpq -c peers
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*cooler.krajany. 62.149.0.30      2 u  116  128  377   15.949   -0.555   4.009
+ntp.exact-time. .GPS.            1 u   53  128  377    8.285   -2.306   0.163
 altus.ip-connec .INIT.          16 u    - 1024    0    0.000    0.000   0.000
+194.40.240.12 ( 131.188.3.222    2 u   40  128  377   11.831   -2.949   0.271

як бачите в мене 1 не з‘єднався (він по IPv6 просто, в той час тунель ліг) але в нас ж їх 4, то то не страшно, сервер все одно синхронізований, адже ще 3 живі (ще й 1 з стратумом 1! Найточніший час)


Гарного адміністрування!

perm_identity event

Коментарі

18 вер. 2019 р., 10:11

pkg install ntpdate && sysrc ntpdate_enable="YES"

Ai SolarireplyВідповісти