Что нужно учитывать при работе публичных NTP-серверов


21

Итак, недавно меня осенило, что, поскольку у меня в сети есть 3 GPS-часа, я могу технически отдать немного назад и предоставить время остальному миру. До сих пор я не видел никаких недостатков с этими идеями, но у меня есть следующие вопросы;

  1. Могу ли я виртуализировать это? Я не собираюсь тратить на это оборудование и деньги, поэтому виртуализация необходима. Поскольку серверы будут иметь доступ к трем источникам уровня 1, я не могу понять, как это может быть проблемой при условии правильной конфигурации ntpd

  2. Какой тип трафика обычно видит общедоступный NTP-сервер (часть pool.ntp.org)? И какие большие виртуальные машины мне нужны для этого? Насколько я могу судить, ntpd не должен быть слишком ресурсоемким, но лучше знать заранее.

  3. Какие аспекты безопасности есть к этому? Я имею в виду просто установить ntpd на две виртуальные машины в DMZ, разрешить только ntp через FW и только ntp из DMZ на внутренние серверы ntp. Также, кажется, есть некоторые настройки ntp, которые рекомендуются в соответствии со страницей пула NTP, но достаточно ли их? https://www.ntppool.org/join/configuration.html

  4. Они рекомендуют не настраивать драйвер часов LOCAL, это эквивалентно удалению конфигурации источника времени LOCAL из файлов конфигурации?

  5. Что-нибудь еще, чтобы рассмотреть?

Ответы:


22

Во-первых, хорошо для вас; это полезная и общедоступная вещь. Тем не менее, с учетом вашего пояснения, что вы планируете создать одну или несколько виртуальных машин DMZ, которые будут синхронизироваться и делать общедоступным время с ваших трех внутренних серверов Meratberg с поддержкой GPS stratum-1:

  1. Изменить : Виртуализация время от времени обсуждается в списке пула ; последний был в июле 2015 года, за которым можно последовать, начиная с этого письма . Спросите Бьёрна Хансена, руководителя проекта, он опубликовал сообщение в теме и не высказывался против виртуализации. Очевидно, что многие операторы пул-серверов сейчас виртуализируются, поэтому я не думаю, что кто-то вас за это застрелит, и, как ясно из одного автора, если ваши серверы ненадежны, система мониторинга пулов просто удалит их из бассейн. KVM кажется предпочтительной технологией виртуализации; Я не нашел никого специально использующего VMWare, поэтому не могу прокомментировать, насколько «честна» виртуализация. Возможно, лучшее резюме на эту тему сказано

    Мои серверы пула виртуализированы с помощью KVM на моих собственных хостах KVM. Мониторинг говорит, что сервер довольно точный и обеспечивает стабильное время в течение последних 2-3 лет. Но я бы не стал устанавливать сервер пула на арендованном виртуальном сервере у другого провайдера.

  2. Это среднесуточное количество отдельных клиентов в секунду, которые я вижу на своем сервере пула (который находится в Великобритании, Европе и глобальных зонах) за последний год:

    количество клиентов ntp

    Это практически не определяет обнаруживаемую нагрузку на систему (по- ntpdвидимому, большую часть времени использует от 1% до 2% ЦП). Обратите внимание, что в какой-то момент в течение года нагрузка кратковременно достигала почти тысячи клиентов в секунду (Макс: 849,27); Я наблюдаю за чрезмерной нагрузкой, и аварийные сигналы не все сработали, поэтому я могу только заметить, что даже этот уровень нагрузки не вызывал проблем, хотя и кратко.

  3. Рекомендованные проектом конфигурации являются наилучшей практикой и работают для меня. Я также использую, iptablesчтобы ограничить скорость клиентов двумя входящими пакетами в скользящем десятисекундном окне (просто удивительно, сколько там грубых клиентов, которые думают, что они должны быть свободны, чтобы быстро устанавливать свои собственные часы).

  4. Или удалите все строки, относящиеся к адресам сервера, начиная с 127.127.

  5. В рекомендациях также рекомендуется использовать более трех часов, поэтому вы можете выбрать пару других общедоступных серверов или конкретных серверов пула в дополнение к вашим трем серверам stratum-1.

    Я также хотел бы отметить, что если вы планируете разместить обе эти виртуальные машины на одном и том же хост-оборудовании, вам, вероятно, следует просто запустить одну из них, но удвоить пропускную способность, объявленную для пула (то есть принять в два раза больше запросов, чем в противном случае ).


1
Многие дистрибутивы Linux установлены iburstпо умолчанию ...
Майкл Хэмптон

4
iburstЯ не против так много, как это применяется только тогда , когда сервер ООН достижим. Сеттинг burst, однако, является прямо антисоциальным.
MadHatter поддерживает Монику

1
Спасибо друг, именно то, что я хотел знать! Чтобы уточнить, я использую VMware под этим, и это распределенный кластер. Мои внутренние часы - приборы Meinberg, и они наивно говорят по NTP. Нагрузка кажется вполне разумной, мои внутренние часы видят примерно вдвое больше (но опять-таки они есть, так что мои устройства могут быть настолько антиобщественными, как им нравится).
Stuggi

@Stuggi Я попытался прояснить вопрос виртуализации, выполнив поиск по списку операторов пула, надеюсь, это поможет. Не стесняйтесь принять мой ответ, если вы думаете, что он отвечает на все ваши вопросы! И еще раз спасибо за запуск сервера пула.
MadHatter поддерживает Монику

1
@MadHatter Приветствия, приятель, это прояснило некоторые. Раньше мне приходилось сталкиваться с множеством проблем с временем на VMware, и я знаю, как справиться с этими проблемами, я просто волновался, что даже после настройки всего, виртуальная машина все равно будет слишком плохой для хронометража NTP. VMware - это гипервизор с нуля (он же гипервизор - это ОС), в то время как KVM (если я правильно помню) работает поверх «нормальной» ОС, так что в VMware все должно быть в порядке. Я попробую и посмотрю, выкину ли я из бассейна! :)
Stuggi

12

Во-первых, поздравляю с вопросом NTP, который не является лицевым материалом. :-) В нижней части этого поста я включил несколько графиков, чтобы вы почувствовали, что происходит. Рассматриваемая виртуальная машина установлена ​​на 100 Мбит / с на панели управления пула, и находится в Великобритании, Европе и глобальных пулах.

  1. Я думаю, что MadHatter хорошо это охватил - виртуализация должна быть в порядке. Как вы говорите, если они питаются от вашего 1-го слоя, подключенного к GPS, они должны быть достаточно твердыми. По моему опыту, виртуальные машины имеют тенденцию быть немного более нервными с точки зрения частоты (см. График ниже), но это то, что вы ожидаете - они имеют дело со слоем эмуляции часов (надеюсь, довольно эффективным) и потенциально шумные соседи. Если вы не хотите видеть такого рода скачки, возможно, вместо этого используйте старые серверы или неиспользуемые рабочие столы в качестве уровня 2 DMZ.

  2. Эта виртуальная машина состоит из 1 ядра, 2 ГБ ОЗУ, работает под управлением Ubuntu 16.04 LTS, виртуализирована в OpenStack (гипервизор KVM). Как видите, оперативная память немного завышена.

  3. Рекомендуемые настройки, в том числе не настроенные локальные драйверы, являются настройками по умолчанию в Ubuntu 16.04. Я работаю очень близко к стандартной конфигурации, кроме списка пиров.

  4. (см. выше)

  5. Я бы, вероятно, начал пропускную способность с нижней стороны и увеличил бы пропускную способность после того, как вы немного ее проверили. Если все ваши виртуальные машины находятся рядом друг с другом и рядом с вашей стратой 1 с точки зрения задержки в сети, я бы, вероятно, попросил бы все виртуальные машины общаться со всеми стратами 1, и, вероятно, связал бы их друг с другом и включил бы сиротский режим.

Вот графики - все они охватывают один и тот же период примерно в 3 недели, за исключением сетевого периода, который имел пару всплесков из-за резервных копий. Когда в сети возникали пики, я даже не мог видеть нормальный трафик NTP, поэтому немного увеличил масштаб, чтобы показать обычный фон.

Процессор Процессор Память объем памяти Сетевая сеть частота частота Система OffsetСмещение системы


Оооо, хороший ответ - +1 от меня!
MadHatter поддерживает Монику

1
Спасибо, приятель, еще больше, что действительно полезно, у меня задержка менее 3 мс между виртуальными машинами и физическими устройствами NTP, которые географически распределены в пределах 50 миль от инфраструктуры виртуальных машин, поэтому я думаю, что все будет в порядке!
Стугги

3

Некоторые вещи, чтобы рассмотреть с NTP

Здесь уже есть хорошие ответы. Я просто добавляю несколько мыслей для полноты картины, основанных на моем собственном опыте.

Я бы предложил включить ведение журнала NTP и отклонения и исправление тактовых импульсов графика на голом металле против виртуальной машины, поскольку это относится к этому обсуждению, если это вызывает озабоченность. Я не верю, что это может быть легко обобщено, поскольку аппаратные средства и конфигурация варьируются между реализациями. Возможно, было бы лучше получить свои собственные номера на этом.

Я всегда предлагал людям выбирать системные роли серверов или сетевых устройств, которые имеют довольно постоянное время ЦП и которые не являются ядрами без галочек или с включенными режимами энергосбережения. Особенно избегайте использования демонов в линейных процессорах cpuspeed или скорости, а также улучшенного энергосбережения на NTP-серверах, даже если они являются стратой 2 в вашей ферме. Некоторая стабильность может быть достигнута, никогда не углубляясь в C-State 1, но ваше энергопотребление увеличится.

Я также стараюсь убедиться, что люди выбирают несколько серверов уровня 1, которые находятся на расстоянии менее 40 мс от границы их сети, а затем разделяют их между вашими пограничными NTP-серверами и гарантируют, что нет двух серверов за одним и тем же SNAT в вашей сети. на тот же страт 1 сервер. Кроме того burst, неразумно иметь несколько серверов за одним и тем же SNAT, используя одни и те же вышестоящие серверы, поскольку им будет казаться, что вы включили пакетную передачу, даже если у вас ее нет.

Вы должны всегда принимать kodпакет от вышестоящего сервера и иметь инструменты мониторинга, проверяющие смещения времени и достижимость вышестоящих серверов.

Вы можете хотеть рассмотреть вопрос о собственных точных источниках времени в нескольких ваших датацентрах в равный с или падать обратно в маловероятном случае, когда GPS SA включена военными. Для этого есть экономичные приборы. Даже если вы находитесь в «клеточной» среде и у вас нет собственного центра обработки данных, некоторые хостинговые возможности могут с этим справиться.


Стугги уже упоминал, что в рассматриваемой сети есть 3 GPS-часа.
Пол Гир

Да. Я конкретно говорю об использовании местных цезиевых часов, которые не будут дрейфовать в маловероятном случае, когда GPS отключен. Это должно происходить только во время крупномасштабного военного события, но вы никогда не знаете.
Аарон

2

См. Документ хронометража vmware по адресу http://www.vmware.com/pdf/vmware_timekeeping.pdf.

Запуск NTP-демона на ВМ, вероятно, не очень хорошая идея, особенно если вам нужно надежное время.


3
Хотя это и не точный ответ, это вызывает серьезную обеспокоенность, а именно: «TL; DR: да, есть проблемы, которые необходимо решить в отношении виртуализации».
rackandboneman

Я знаю о тех проблемах, которые необходимо решить, я больше думаю, если это вообще возможно.
Stuggi

1
Re: «Запуск NTP-демона на виртуальной машине, вероятно, не очень хорошая идея, особенно если вам нужно надежное время». - Я не думаю, что это верно для любого современного гипервизора. В документе, на который вы ссылаетесь, конкретно говорится, что использование NTP в виртуальной машине является опцией. Графики, которые я включил в свой ответ, показывают, что виртуальная машина может хорошо проводить время на KVM, и я ожидаю, что более новые системы ESXi будут делать то же самое.
Пол Гир

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.