як налаштувати клієнт Linux для використання інформації ntp, наданої через dhcp?


18

там так багато підручників, які пояснюють, як налаштувати dhcpdсервер, стосовно надання ntp пропозицій клієнтам dhcp, що я завжди думав, що ntpконфігурація проводиться автоматично. Нещодавно я почав бачити зрушення годин в моїй локальній мережі, тому припускаю, що це було неправильним припущенням. Тож я вирішив побачити, як можна мінімізувати конфігурацію клієнта ntp, за умови, що він доклав зусиль для налаштування ntp-serverпропозицій dhcpd.

Мені не вдалося знайти багато окрім цього підручника довідки про специфічний Ubuntu https://help.ubuntu.com/community/UbuntuTime . Навіть тут (див. Параграф у розділі "Виправлення неполадок -> Який файл конфігурації він використовує?") Інформації мало, але вона говорить про те, що якщо /etc/ntp.conf.dhcpфайл знайдеться, він буде використаний замість цього. Перш за все, фактичне розташування, яке тут мав на увазі автор /var/lib/ntp/ntp.conf.dhcp, спостерігається так, як це спостерігається в /etc/init.d/ntp, але незалежно від того, наявність цього файлу не гарантує, що ntp запитає сервери від dhclient. Як результат, я повинен явно додати serverпункт ntp.conf.dhcpдля свого локального ntp-сервера. Але в такому випадку, чому я навіть встановлюю налаштування ntp на dhcpdсервері?

Це, здається, суперечить інтуїції, тобто встановити параметри ntp один раз (тобто на сервері) і дозволить dhcpdсерверу делегувати інформацію клієнтам. Як я можу мінімізувати (якщо взагалі не уникнути) налаштування клієнта для ntp. Як варіант я можу отримати ntpінформацію dhclient.

Чи є рішення cli, яке відповідає всім дистрибутивам Linux?

Я припускаю, що кожен клієнт повинен мати виконавчі файли ntpd, але я не знаю, як звідти діяти.

Дякую

EDIT: багатослівний вихід клієнта ubuntu при запуску вручну dhclient:

sudo dhclient -1 -d -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/20:cf:30:0e:6c:12
Sending on   LPF/eth0/20:cf:30:0e:6c:12
Sending on   Socket/fallback
DHCPREQUEST of 192.168.112.150 on eth0 to 255.255.255.255 port 67 (xid=0x2e844b8f)
DHCPACK of 192.168.112.150 from 192.168.112.112
reload: Unknown instance: 
invoke-rc.d: initscript smbd, action "reload" failed.
RTNETLINK answers: File exists
 * Stopping NTP server ntpd
   ...done.
 * Starting NTP server ntpd
   ...done.
bound to 192.168.112.150 -- renewal in 41963 seconds.

Служба ntpd перезапускається, але ntpq -cpe -casпісля цього працює, я все ще не бачу свого локального сервера ntp у списку серверів ntp.

Звичайно, у мене є dhcpdсерверoption ntp-servers

subnet 192.168.112.0 netmask 255.255.255.0 {
        max-lease-time 604800;
        default-lease-time 86400;
        authoritative;
        ignore client-updates;

        option ntp-servers 192.168.112.112; #self

        ... (many other options)
}

1
На моєму сервері DHCPD я передаю клієнтам сервер NTP, з яким можна користуватисяoption ntp-servers x.x.x.x
Rui F Ribeiro

@RuiFRibeiro Привіт, так, так, ця опція дійсно є частиною мого dhcpdсервера.
nass

2
serverfault.com/questions/329596/… може дати вам декілька підказок. Напевно, ви хочете подивитися /etc/dhcp/dhclient-exit-hooks.d/ntp, щоб знайти фактичне ім'я файлу, яке використовується. Переконайтеся, що ваш файл dhclient.conf налаштований і для запиту ntp-серверів.
ікар

Ви використовуєте Ubuntu як клієнт? Яка версія?
roaima

Клієнт @roaima може бути ubuntu, але допоможе більш загальне рішення. Якщо це полегшить ситуацію, скажімо, клієнт у цьому випадку ubuntu 14.04 LTS.
nass

Відповіді:


10

Якщо сервер dhcp, який ви використовуєте, налаштований для надання ntp-serversможливості, ви можете налаштувати свій dhclient на запит ntp-серверів, додавши ntp-serversдо рядка запиту за замовчуванням у dhclient.conf, як показано в кінці цього прикладу від Ubuntu Linux (станом на 19.04, але присутній щонайменше з 12.04):

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;

/etc/ntp.confі інформація від DHCP буде використовуватися для створення /etc/ntp.conf.dhcp.

Вашому ntpd потрібно сказати використовувати /etc/ntp.conf.dhcp, якщо він існує. У версії Ubuntu, яку я використовую, це робиться через /etc/dhcp/dhclient-exit-hooks.d/ntp. <- це файл, який повідомляє NTPd використовувати, /etc/ntp.conf.dhcpякщо він існує, і просто використовувати, /etc/ntp.confякщо він ні.


2
В Ubuntu 18.04 цей файл є /run/ntp.conf.dhcp, ви можете знайти його місце в будь-якому випадку в/etc/dhcp/dhclient-exit-hooks.d/ntp
DustWolf

Схоже, остання версія Ubuntu 16.04 xenial більше не підтримує ntp-опції; це нормально працювало. Роблячи це: /usr/sbin/dhcpd -tдає це: /etc/dhcp/dhcpd.conf line 20: unknown option dhcp.ntp-server option ntp-server 10.... влітку добре працювало.
Лінас

0

chronydвикористовується щодня, так, він все ще використовує протокол NTP. Ви можете піти перевірити пару джерел:

https://docs.oracle.com/cd/E52668_01/E54669/html/section_zy2_rrf_pp.html

https://wiki.archlinux.org/index.php/Chrony

http://chrony.tuxfamily.org/faq.html#_i_have_several_computers_on_a_lan_should_be_all_clients_of_an_external_server

https://docs.fedoraproject.org/en-US/Fedora/18/html/System_Administrators_Guide/chap-Configuring_NTP_Using_the_chrony_Suite.html

Я рекомендую останні 2.


1
Привіт Абдулла, Хроні є корисною альтернативою, про яку слід знати, але у вашій відповіді не вказано, яким чином можна використовувати клієнтів DHCP для використання інформації NTP, наданої сервером DHCP.
Ентоні Г - справедливість для Моніки

@AnthonyGeoghegan Привіт! Якщо ви додасте це як коментар, я би видалив свою відповідь,
Абдулла

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