Как переопределить информацию ntp, отправленную dhcp в debian?


9

У меня есть сервер в сети, который получает всю информацию о своей сети DHCP. Проблема в том, ntp-serverчто отправляемый не установлен в UTC. Я хочу использовать конфигурацию для ntpпоиска в, /etc/ntp.confно DHCPинформация имеет приоритет. Как я могу принудительно ntpdиспользовать конфигурацию, /etc/ntp.confа не ту, которая была отправлена DHCP? Как это Debianсделать?


Какой демон ntp вы используете? Каково текущее содержимое вашего ntp.conf? Установлен ли пакет ntpdate? Какой DHCP-клиент вы используете? Какая версия Debian?
Зоредаче

1
1. Завершите работу по DHCP. 2. Сервер NTP не «установлен» на UTC. O_O
Крис С

Debian squeeze, ntp.conf по умолчанию (тот, который идет после установки aptitude ntp)
Рикардо Маримон,

Ответы:


7

Я предлагаю вам отредактировать / создать /etc/dhclient.conf и раскомментировать строку «запрос» примерно так:

request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name;

Особенно, если присутствует «ntp-серверы», удалите его. В некотором дистрибутиве (он же Fedora) он отправляется по умолчанию, поэтому вы должны явно указать эту строку, чтобы переопределить значение по умолчанию.

Проверьте man dhclient.confрасширенную информацию.


Это сработало отлично ... есть ли что-то, что можно сделать в Debian, которое больше похоже на / etc / default ...
Рикардо Маримон

15

Непосредственно не отвечая на вопрос, но это может пригодиться.

Поведение DHCP

В Debian (как минимум) клиент DHCP переопределяет существующую конфигурацию службы ntp.

Управляется скриптом /etc/dhcp/dhclient-exit-hooks.d/ntp:

[contents from: /etc/dhcp/dhclient-exit-hooks.d/ntp]
NTP_CONF=/etc/ntp.conf
NTP_DHCP_CONF=/var/lib/ntp/ntp.conf.dhcp
...
[hundreds of lines of scripts]

Клиент DHCP получает серверы ntp от сервера DHCP, он получает текущую конфигурацию службы ntp с пути NTP_CONF и изменяет ее, чтобы включить серверы ntp, полученные через dhcp, он генерирует новый файл конфигурации ntp в путь NTP_DHCP_CONF и, наконец, запускает службу ntp использовать этот новый файл конфигурации.

Это приводит к тому, что серверы ntp всегда объявляются через dhcp. Обход конфигурации системы.

Это трудно отладить, если не известно, потому что конфигурация службы в /etc/ntp.conf осталась нетронутой и корректна при визуальном осмотре. Однако это фактически игнорируется и игнорируется скрытно.

Вы можете использовать 'ntpq -pn' для отладки того, какие ntp-серверы фактически используются демоном.

Смешивание параметров DHCP ntp и конкретной конфигурации системы

Если в вашей сети есть сервер ntp, рекламируемый DHCP, и вы хотите его игнорировать :

Вам нужно будет перенастроить клиент dhcp, /etc/dhclient.confчтобы пропустить ntp-serversопцию dhcp. Обратитесь к ответу от @Oliver.

Затем вы можете настроить конфигурацию системы в /etc/ntp.conf

Если был сервер ntp, объявленный DHCP в какой-то момент, но не больше :

Системная конфигурация ntp все еще может быть переопределена клиентом dhcp, что вынуждает устаревшие ntp-серверы, анонсированные давно. Это переопределение dhcp может выжить в течение нескольких дней, через ntp service restartи reboot.

Чтобы положить этому конец, вам нужно будет удалить /var/lib/ntp/ntp.conf.dhcpи перезапустить службу ntp на всех ваших серверах.

Последнее слово

Это все недокументированное, неожиданное и трудно отлаживаемое поведение. Это вызвало у меня сильную головную боль сегодня, поэтому я здесь это документирую.


7

Вы также можете просто удалить этот файл: /etc/dhcp/dhclient-exit-hooks.d/ntpвместо редактирования ваших DHCP-запросов. Этот файл создает ntp.conf.dhcp.

Если он ntp.conf.dhcpбыл создан при предыдущей загрузке, обязательно удалите его.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.