- Я помітний тягар для басейну? Тобто чи має це помітна різниця в пулі, якщо я потрапляю з 20 серверів або з 2?
З огляду на те, що пул протягом багатьох років постійно потребує серверів (див. [1]), я б сказав, що хоча 2 або 20 серверів насправді не мають значення, ви завжди повинні пам’ятати, що ви не самотні. Тож краще подумайте про 1000 адміністраторів. У цьому випадку ми говоримо про 2000 або 20000 серверів, і це має значення.
- Якщо це все-таки змінить налаштування / конфігурацію, яка дозволить тримати синхронізацію моєї підмережі та пул під невеликим навантаженням?
Ви повинні синхронізувати два [2] сервери у вашій мережі з пулом (назвемо їх первинними серверами NTP ), а потім синхронізувати всі інші сервери з цими двома. Цей метод також має перевагу в тому, що час між усіма вашими серверами буде більш узгодженим (у межах менше 1 мс). Це відповідає кращим практикам IETF .
1) Конфігурація для первинних серверів NTP
Замініть server
і restrict
лінії рядка ntp [d] .conf на наступне, а решту дотримуйтесь за замовчуванням у розповсюдженні [3]:
server 10.11.12.1 iburst peer
# ^^^^^^^^^^^
# The LAN IP of the _other_ Primary NTP server
server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
Зверніть увагу, що ця конфігурація також дозволяє хостам з усього Інтернету запитувати час вашого хоста за допомогою NTP-запитів. Використовуйте брандмауер, якщо цього не хочете. У моєму прикладі 10.11.12.1 та 10.11.12.2 - це IP-адреси первинних серверів NTP (у них дві мережеві карти, одна з яких спрямована на загальнодоступний Інтернет, а одна на локальну підмережу 10.11.12.x). У кожного первинного сервера NTP є інший, оголошений як рівний (рівний, в основному, означає і сервер, і клієнт; ви використовуєте інший хост як джерело часу, а інший хост також використовує вас як джерело часу). Тому відрегулюйте IP-адресу на 1-му рядку так, щоб конфігурація кожного Первинного сервера NTP вказувала на інший як рівний. Дивіться [4] щодо мого вибору використовувати 4 сервери.
2) Конфігурація для всіх інших серверів
2A) Якщо у вас два мережевих інтерфейсу
Краще використовувати 2-й інтерфейс для створення локальної підмережі (наприклад 10.11.12.0/24
) і використовувати її для NTP-запитів. У цьому випадку обмежувальні лінії можуть бути більш жорсткими. Тому знову замініть server
і restrict
рядки вашого ntp [d] .conf на наступне, а решту дотримуйтесь за замовчуванням дистрибутива [3]:
restrict -4 default ignore
restrict -6 default ignore
restrict 10.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
# ^^^^^^^^^^
# The IPs of your 2 Primary NTP Servers
2B) Якщо у вас немає двох мережевих інтерфейсів
Вам слід скористатись наступними обмеженими лініями (і прочитати примітку про використання брандмауера для блокування доступу до ваших серверів NTP вище). Тому знову замініть server
і restrict
рядки вашого ntp [d] .conf на наступне, а решту дотримуйтесь за замовчуванням дистрибутива [3]:
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
# ^^^^^^^^^^
# The IPs of your 2 Primary NTP Servers
Примітки
[1] З 2006 по 2012 рік вони постійно просять приєднати більше серверів: запит 2006 року , 2009 рік та 2012 рік . Перегляньте веб-сайт www.pool.ntp.org щодо оновлень про поточний стан.
[2] Два первинні сервери NTP пропонуються лише як простий спосіб резервування без складних домовленостей з високою доступністю. Ви можете вибрати 3 або 4 з інших причин (знову прочитайте кращі практики IETF )
[3] На практиці, і незалежно від вашого розповсюдження, єдине, що вам потрібно включити у вашу конфігурацію ntpd, - це рядок, що визначає каталог, для якого слід розмістити файл дрейфу та його ім'я - наприклад driftfile /var/lib/ntp/ntp.drift
. Я протестував своє рішення в CentOS, Debian та Ubuntu. Я думаю, він працює в більшості інших дистрибутивів.
[4] Я налаштував 4 сервери пулу, дотримуючись кращих практик . Конфігурація більш ніж 4 серверів технічно прийнята, але ви збільшите навантаження до пулу NTP для сумнівного посилення доступності, тому не робіть цього. У кращих практиках я бачу, що "починаючи з ntp-4.2.6, директива" пул "розкручує" достатньо "асоціацій, щоб забезпечити надійний сервіс часу", тому якщо ви використовуєте .pool. адреси, як я тут, і ntp> = 4.2.6 точна кількість ліній сервера, ймовірно, не має значення.
Rant Oh! Я ненавиджу NTP (за винятком того, що мені подобається, що він працює). Офіційна документація рясніє застарілою інформацією, і в них є "як я її використовую?" інформація, змішана з науковими подробицями про внутрішні організації. І я також ненавиджу, як restrict 127.0.0.1
насправді це означаєallow everything for 127.0.0.1
Історія оновлень
Я вилучив цю iburst
опцію з конфігурації локальних серверів NTP, оскільки їх привітність до пулу є дискусійною. (див. коментарі). Видалення їх додає лише пару хвилин часу очікування до першої синхронізації.
Кредити
Коментарі та відповіді користувачів SF Маркі та Свен послужили хорошою відправною точкою для цієї відповіді. Дякую обом.
peer
стосунки. Дивіться, наприклад , ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101