Як не допустити прослуховування ntpd на 0.0.0.0:123?


29

ntpd за замовчуванням прослуховує численні інтерфейси, я хочу лише прослуховувати його на 127.0.0.1.123, оскільки я хочу лише, щоб локальний хост синхронізував час.

Як це зробити, я спробував, редагуючи / etc / default / ntp на Debian Wheezy:

NTPD_OPTS='-4 -I 127.0.0.1'

Але він все ще слухає глобально на 0.0.0.0:123

Якісь ідеї?


Мені цікаво, яка ваша кінцева мета тут. Синхронізація з localhost не має великого сенсу і без fudgeзаяви не працює взагалі за замовчуванням . Чого ви намагаєтесь досягти?
Ladadadada

@Ladadadada У нас є локальний сервер в межах локальної мережі. Наші клієнти linux повинні мати правильний час, але замість того, щоб запускати погодинну cronjob, ntpdate -B timeserverми хотіли запустити ntpd для кожного клієнта лише 127.0.0.1:123, який запитує сервер часу в локальній мережі. Чи з цим щось не так?
JohnnyFromBF

4
На клієнті порт прослуховування використовується лише для запиту про поточний стан демона. Ці serverрядки в ваших ntpdклієнтів конфіги визначити , хто ви синхронізацію с. Якщо ваші serverрядки (ів) говорять 127.0.0.1, у вас проблема. Якщо вони вказують на вашого центрального таймера, все повинно бути добре.
Ladadadada

Відповіді:


34

Видаліть усі -Iабо --interfaceпараметри /etc/default/ntpта вставте у своє /etc/ntp.conf:

interface ignore wildcard
interface listen 127.0.0.1
interface listen ::1
# NOTE: if you want to update your time using remote machines,
# add at least one remote interface address:
#interface listen 2001:db8::1
#interface listen 192.0.2.1

Уривок зі ntpd(1)сторінки керівництва про -iваріант:

Цей параметр також передбачає не відкривати інші адреси, крім підстановки та localhost. Спробуйте скористатися командою інтерфейсу файлу конфігурації, яка є більш універсальною.

Дивіться також сторінку керівництва Debian (я не могла її знайти в Arch Linux) від ntp.conf(5).


6
ntp потрібно прив’язати до маршрутизованого інтерфейсу, щоб мати змогу синхронізуватись із часовими серверами. Дивіться відповідь meepmeep нижче.
органічний машхуп

17

Якщо ntp прослуховує лише на 127.0.0.1, схоже, він не може ініціювати з'єднання із загальнодоступним сервером ntp:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ks370079.kimsuf **.INIT.**       16 -    -   64    0    0.000    0.000   0.000

Він повинен бути прив’язаний до маршрутизованої ip-адреси для роботи.


Дякую за це спостереження та ваш приклад, який показує, як переконатися, що це насправді так.
ColinM

6

Повний /etc/ntp.conf цей протокол нейтральний (IPv4 та | IPv6)

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict lo

interface ignore wildcard
interface listen lo

6

Якщо ви хочете зменшити кількість служб прослуховування з міркувань безпеки, може бути розглянутий Openntpd, оскільки він не вимагає, щоб сервер прослуховування виступав як клієнт. Вважається трохи менш точним, ніж ntpd; це надійно протягом декількох сотень мс, але це підходить для більшості цілей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.