WikiDer > OpenNTPD
«Спасение мира снова ... вовремя» | |
Разработчики) | В OpenBSD Проект |
---|---|
Стабильный выпуск | 6.2p3 / 30 октября 2017[1] |
Репозиторий | https://github.com/openntpd-portable |
Написано в | C |
Операционная система | OpenBSD, FreeBSD, NetBSD, Linux, macOS, Солярис[2] |
Стандарт(s) | RFC 1305, RFC 5905 |
Тип | Синхронизация времени |
Лицензия | ISC |
Интернет сайт | www |
По состоянию на | Октябрь 2017 г. |
OpenNTPD (также известный как Демон OpenBSD NTP) это Unix демон реализация Сетевой протокол времени для синхронизации локальных часов компьютерной системы с удаленными серверами NTP. Он также может действовать как NTP-сервер для NTP-совместимых клиентов.
OpenBSD NTP Daemon в первую очередь разработан Хеннинг Брауэр как часть OpenBSD проект. Цели его дизайна включают безопасность (непригодный для использования), проста в настройке и достаточно точна для большинства целей. Его портативный версия, как у OpenSSH,[3] разработан как дочерний проект, который добавляет код переносимости к версии OpenBSD и выпускает его отдельно. Портативная версия разработана Брентом Куком.[4] Самая последняя портативная версия была выпущена в 2017 году.[Обновить]. Разработчики проекта получают финансирование от Фонд OpenBSD.
История
Разработка OpenNTPD была мотивирована сочетанием проблем с текущими демонами NTP: сложной конфигурацией, сложным и трудным для аудита кодом и неподходящим лицензированием.[5] OpenNTPD был разработан, чтобы решить эти проблемы и сделать синхронизацию времени доступной для более широкой базы пользователей. После периода разработки OpenNTPD впервые появился в OpenBSD 3.6.[6] О его первом выпуске было объявлено 2 ноября 2004 года.[7]
Цели
OpenNTPD - это попытка команды OpenBSD создать безопасную и простую в использовании реализацию демона NTP. аудит, проста в настройке и администрировании, достаточно точна и не требует больших ресурсов системы. Таким образом, целями разработки OpenNTPD являются: безопасность, простота использования и производительность.[8] Безопасность в OpenNTPD достигается за счет надежной проверки достоверности входного сетевого пути, использования ограниченных буферных операций через strlcpy, и разделение привилегий для смягчения последствий возможных ошибок безопасности, использующих демон через повышение привилегий. Чтобы упростить использование NTP, OpenNTPD реализует меньший набор функций, чем те, которые доступны в других демонах NTP, например, предоставляемых проектом Network Time Protocol Project. Цель состоит в том, чтобы предоставить достаточно функций, чтобы удовлетворить типичное использование с риском непригодности для эзотерических или нишевых требований. OpenNTPD настраивается через файл конфигурации, ntpd.conf.[9] Предлагается минимальное количество опций: IP-адрес или имя хоста, на котором OpenNTPD должен слушать, датчик timedelta который будет использоваться, и набор серверов, с которых будет синхронизироваться время. Точность OpenNTPD максимальна; демон пытается быть как можно более точным, но конкретная точность не гарантируется.
Пример
OpenNTPD постепенно регулирует системные часы, как показано здесь в выходных данных OpenNTPD, запущенного на Linux система:
$ grep ntpd /var/log/daemon.log | grep adjustingAug 4 03:32:20 nikolai ntpd [4784]: настройка локальных часов на -1,162333sAug 4 03:36:08 nikolai ntpd [4784]: настройка локальных часов на -1,023899sAug 4 03:40:02 nikolai ntpd [4784 | 50:45 nikolai ntpd [4784]: настройка локальных часов на -0,605858sAug 4 03:53:31 nikolai ntpd [4784]: настройка локальных часов на -0,529821s
Критика
OpenNTPD был раскритикован как менее точный, чем Демон NTP произведено проектом NTP (ntp.org).[10] Внутренне OpenNTPD не поддерживает точность в миллисекундах и может отличаться от «реального» времени на 50–200 мс, поскольку в нем отсутствуют различные параметры. алгоритмы которые повышают точность в пользу простоты кода. Проект OpenNTPD признал критику, но заявил, что отсутствие точности в микросекундах является компромиссом при проектировании, который способствует простоте и безопасности.[10] Цели разработки OpenNTPD заявляют, что цель проекта - «обеспечить разумную точность каждого из них», не жертвуя «безопасным дизайном для получения последней наносекунды или непонятного крайнего случая».[11]
В сентябре 2004 года, вскоре после выпуска OpenNTPD 3.6, участник ntp.org Брэд Ноулз опубликовал статью под названием OpenNTPd считается вредным[12] критикуя различные аспекты реализации OpenNTPD протокола NTP, а также модель раздельной разработки, которую использует проект, которая также используется при разработке OpenSSH и OpenBGPD. В декабре 2004 года Даррен Такер, главный разработчик переносимой ветки OpenNTPD, написал подробный ответ Ноулзу, признав некоторые проблемы действительными, отклонив некоторые другие как необоснованные и считая другие вводящими в заблуждение.[13] Среди более серьезных проблем, поднятых Ноулзом, было то, что серверы OpenNTPD назывались серверами первого уровня. Однако к моменту ответа Такера проблема уже была устранена. В марте 2005 года Ноулз подтвердил ответ Такера и заявил, что он «собирается сделать все [он может], чтобы работать с [Такером], чтобы решить оставшиеся проблемы».[14] Кроме того, FAQ по сетям OpenBSD был расширен в ответ на первоначальную критику Ноулза.[15]
Високосные секунды
OpenNTPD (и OpenBSD ядро) игнорировать високосные секунды.[16] Следует проявлять осторожность при использовании OpenNTPD в качестве источника более высокого уровня для других серверов ntpd или с требованиями к времени высокого разрешения, которые относятся к Всемирное координированное время. Високосные секунды используются во всемирном координированном времени, но не Международное атомное время или же спутниковая система навигации сигналы времени.
В Военно-морская обсерватория США и Bureau International des Poids et Mesures рекомендует, чтобы системы, не использующие дополнительные секунды, ссылались на Международное атомное время или непосредственно на сигналы времени GPS.[17]
Рекомендации
- ^ «OpenNTPD». Получено 8 декабря 2019.
- ^ «Портативный релиз OpenNTPD». OpenBSD. Получено 3 апреля 2016.
- ^ "openssh / openssh-Portable". GitHub. Получено 13 мая 2016.
- ^ "openntpd-Portable / openntpd-Portable". GitHub. Получено 13 мая 2016.
- ^ Проект OpenNTPD. «Цели OpenNTPD». Проект OpenNTPD. Получено 3 апреля 2016.
- ^ Проект OpenBSD (1 ноября 2004 г.). «OpenBSD 3.6». Проект OpenBSD. Получено 3 апреля 2016.
- ^ Брауэр, Хеннинг (2 ноября 2004 г.). «Выпущен OpenNTPD 3.6». openbsd-анонс (Список рассылки). MARC. Получено 7 июн 2014.
- ^ Брауэр, Хеннинг (сентябрь 2004 г.). «Страница 3: OpenNTPD - Цели проектирования». Проект OpenBSD. Получено 16 сентября 2006.
- ^ OpenBSD Форматы файлов Руководство. 26 мая 2006 г. Проверено 16 сентября 2006 г. –
- ^ а б Проект OpenBSD (21 августа 2006 г.). "FAQ 6.12.1: 'Но OpenNTPD не так точен, как демон ntp.org!'". Проект OpenBSD. Архивировано из оригинал 5 февраля 2016 г.. Получено 14 мая 2020.
- ^ Авторы OpenNTPD (2004), "Цели", OpenNTPD, Проект OpenNTPD.
- ^ Ноулз, Брэд (22 сентября 2004 г.). «OpenNTPd считается вредным». Считается вредным. Архивировано из оригинал 4 марта 2005 г.. Получено 16 сентября 2006.
- ^ Такер, Даррен (12 декабря 2004 г.). «Ответ на OpenNTPd считается вредным». Advogato: Блог для dtucker. Получено 16 сентября 2006.
- ^ Ноулз, Брэд (12 марта 2005 г.). «Обновление: OpenNTPd ...» Считается вредным. Архивировано из оригинал 25 мая 2006 г.. Получено 16 сентября 2006.
- ^ Проект OpenBSD (21 августа 2006 г.). «FAQ: 6.12.2:» Кто-то заявил, что OpenNTPD «вреден»!'". Проект OpenBSD. Архивировано из оригинал 24 сентября 2006 г.. Получено 16 сентября 2006.
- ^ "Обработка дополнительных секунд в духе OpenBSD". Журнал OpenBSD. 28 июня 2015 г.. Получено 9 октября 2018.
- ^ "Високосные секунды". Военно-морская обсерватория США. Архивировано из оригинал 24 декабря 2017 г.. Получено 27 февраля 2019.