Как переопределить информацию 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 на всех ваших серверах.

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

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

user5994461
источник
7

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

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

Tuinslak
источник