У меня есть сервер в сети, получающий всю свою сетевую информацию от DHCP
. Проблема в том, что ntp-server
для отправки не установлено время в формате UTC. Я хочу использовать конфигурацию для ntp
нашел в /etc/ntp.conf
но DHCP
информация имеет приоритет. Как я могу заставить ntpd
использовать конфигурацию в /etc/ntp.conf
в отличие от отправленного DHCP
? Что Debian
способ сделать это?
Не отвечу прямо на вопрос, но это может пригодиться.
В 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 фактически используются демоном.
Если в вашей сети есть ntp-сервер, который объявляется DHCP, и вы хотите его игнорировать:
Вам нужно будет перенастроить dhcp-клиент в /etc/dhclient.conf
пропустить ntp-servers
вариант dhcp. Обратитесь к ответу @Oliver.
Затем вы можете настроить конфигурацию системы в /etc/ntp.conf
Если в какой-то момент DHCP-сервер БЫЛ, но уже не объявлен DHCP:
Системная конфигурация ntp все еще может быть переопределена клиентом dhcp, заставляя устаревшие серверы ntp, объявленные давно. Это переопределение DHCP может сохраняться в течение нескольких дней ntp service restart
и reboot
.
Чтобы положить этому конец, вам нужно будет удалить /var/lib/ntp/ntp.conf.dhcp
и перезапустите службу ntp на всех ваших серверах.
Все это недокументированное, неожиданное и трудно поддающееся отладке поведение. Это вызвало у меня головную боль сегодня, поэтому я фиксирую это здесь.
Я предлагаю вам отредактировать / создать /etc/dhclient.conf и раскомментировать строку «запрос» примерно так:
request subnet-mask, broadcast-address, routers, domain-name, domain-name-servers, host-name;
Особенно, если присутствует "ntp-server", удалите его. В некоторых дистрибутивах (также известных как Fedora) они отправляются по умолчанию, поэтому вы должны указать эту строку явно, чтобы значение по умолчанию было отменено.
Проверьте man dhclient.conf
для расширенной информации.
Вы также можете просто удалить этот файл: /etc/dhcp/dhclient-exit-hooks.d/ntp
вместо редактирования ваших DHCP-запросов. Этот файл создает ntp.conf.dhcp
.
В случае ntp.conf.dhcp
был создан при предыдущей загрузке, обязательно удалите его.