OpenNTPD — демон, реализующий протоколы SNTP версии 4 и NTP версии 3 для синхронизации локального системного времени с удалёнными NTP серверами или сенсорами отклонения локального времени.
OpenNTPD обеспечивает поддержку протокола NTP в соответствии с RFC 1305 (NTP, Network Time Protocol) и RFC 5905 (Network Time Protocol Version 4). Поддерживается как синхронизация локального времени с удалённым NTP-сервером, так и работа в роли NTP-сервера, который в том числе может получать точное время от специального оборудования через sensorsd.
Изменения в OpenNTPD 6.8:
- В фоновом процессе ntpd в процессе загрузки реализована безопасная установка и получение значения времени, даже на системах без автономного питания таймера.
- Улучшена обработка DNS-запросов при запуске. Ненадёжные NTP-серверы теперь исключаются из пула, но попытки резолвинга в DNS продолжаются для добавления замены.
- Повышена надёжность и безопасность TLS-проверок. Обеспечен поиск TLS-сертификатов в файле, указанном через переменную TLS_CA_CERT_FILE.
- Улучшено отображение в логе информации о сбоях.
- Добавлена проверка запуска нескольких экземпляров ntpd.
- В настройках по умолчанию помимо проверки google.com добавлена проверка IP 9.9.9.9 и 2620:fe::fe.
- Улучшена работа в несинхронизированном режиме, когда из-за проблем с сетевым соединением не получено ответов ни от одного NTP-сервера.
Для дополнительной защиты в OpenNTPD применяется механизм разделения привилегий, разделяющий работу непривилегированного кода обработки сетевых соединений от привилегированного кода установки времени. Демон ntpd запускается в отдельном изолированном chroot-окружении. Реализация кода определения имён через DNS работает в асинхронном режиме, т.е. определение имени будет выполнено даже если демон стартовал в момент, когда не было доступно сетевое соединение.