Как предотвратить прослушивание 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 У нас есть сервер ntp здесь, в локальной сети. У наших клиентов linux должно быть правильное время, но вместо того, чтобы запускать почасовой cronjob, ntpdate -B timeserverмы хотели запустить ntpd на каждом клиенте только с 127.0.0.1:123, который запрашивает сервер времени в локальной сети. Что-то не так с этим?
JohnnyFromBF

4
На клиенте прослушивающий порт используется только для запроса текущего состояния демона. Эти serverстроки в ваших ntpdклиентах конфиги определить , кто вы синхронизацию с. Если ваши serverстроки говорят 127.0.0.1, у вас есть проблема. Если они указывают на ваш центральный сервер времени, все должно быть хорошо.
Ладададада

Ответы:


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опции:

Эта опция также подразумевает не открывать другие адреса, кроме подстановочных знаков и локального хоста. Пожалуйста, рассмотрите возможность использования команды интерфейса файла конфигурации, которая является более универсальной.

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


6
Ntp должен быть привязан к маршрутизируемому интерфейсу, чтобы иметь возможность синхронизироваться с серверами времени. Смотрите ответ meepmeep ниже.
органический mashup

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.