Что нужно учитывать при работе публичных 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. Что-нибудь еще, чтобы рассмотреть?

Stuggi
источник

Ответы:

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.

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

MadHatter поддерживает Монику
источник
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 будут делать то же самое.
Пол Гир