История про NTP.

December 01, 2014

В повседневной рабочей практике я натолкнулся на довольно интереный момент, связанный с ntp.

Начнём немного издалека: существует такой проект - openbsd, он знаменит прежде всего двумя своими заморочками - это громогласные заявления по поводу своей security fucused политики и, как результат, синдромом N.I.H (<a title="ссылка" href="http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Not_Invented_Here.html" target="blank">ссылка</a> <a title="ссылка на лурку" href="http://lurkmore.to/%D0%A4%D0%B0%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BE%D0%BA" target="_blank">ссылка</a>). Как результат появляется множество функциональных "аналогов" или почти аналогов (напр. libressl), всяческих переделок и недоделок (базовый smptd в опёнке, например), но, правда, встречаются и уникальные и даже весьма полезные софтинки (openssh). Но сейчас речь идёт за openntpd.

Примечателен он прежде всего простотой своей реализации, однако в этом кроется засада. Если в openbsd оно работает, то вот в процессе портирования на другие системы произошёл некоторый форшмачок - неправильное испольлзование функции adjtimex() приводит к тому, что время на целевой системе... не меняется, однако, сей момент самим демоном тихонько игнорируется, хотя вообще-то такой эвент - это в некотором роде критическая ошибка... впрочем, в логах у меня на slackware 14.1 есть сообщение:

ntpd[526]: adjtime failed: Invalid argument

а вот например в debian-е я такого в логах не встретил.
Однако, к слову сказать, в debian-е эта беда лечится довольно просто: надо прогнать gnu ntpd, он настроит время, и потом дальнейшую корректировку можно осуществолять с помощью openntpd.

Вобщем, странная история...

Next Post