dhcp aracılığıyla sağlanan ntp bilgilerini kullanacak bir linux istemcisini nasıl kurarsınız?


18

dhcpddhcp istemcilerine ntp önerileri sağlama ile ilgili olarak sunucunun nasıl kurulacağını açıklayan çok fazla öğretici var , her zaman ntpyapılandırmanın otomatik olarak gerçekleştirildiğini düşündüm . Son zamanlarda yerel ağımda saat kaymaları görmeye başladım, bu yüzden bunun yanlış bir varsayım olduğunu varsayıyorum. Bu yüzden, biri ntp-serveröneri ayarlama çabası göstermişse, ntp istemci yapılandırmasını nasıl en aza indirgeyeceğini görmek için yola çıktım dhcpd.

Ben bu Ubuntu özel yardım öğretici https://help.ubuntu.com/community/UbuntuTime dışında çok bulamadım . Burada bile ("Sorun Giderme -> Hangi yapılandırma dosyası kullanılıyor?" Başlığı altındaki paragrafa bakın) bilgiler azdır, ancak bir /etc/ntp.conf.dhcpdosya bulunursa bunun yerine kullanılacağını söyler . Her şeyden önce, yazarın burada kastettiği gerçek konum /var/lib/ntp/ntp.conf.dhcpgözlemlendiği gibidir /etc/init.d/ntp, ancak bu dosyanın varlığı ntp'nin sunucuları isteyeceğini garanti etmez dhclient. Sonuç olarak, yerel ntp sunucum için servermaddeyi açıkça eklemek zorundayım ntp.conf.dhcp. Ancak bu durumda, ntp ayarlarını dhcpdsunucuda neden ayarlıyorum ?

Bu, sezgiye aykırı görünüyor, yani ntp ayarlarını bir kez (sunucuda) kur ve dhcpdsunucunun bilgileri istemcilere devretmesine izin ver . Nasıl ntp için istemci yapılandırması (tamamen önlemek değilse), en aza indirebilirsiniz. Alternatif olarak, ntpbilgiyi nasıl alabilirim dhclient.

Tüm linux dağıtımlarına uyan bir cli çözümü var mı?

Her müşterinin yürütülebilir dosyaları olması gerektiğini varsayıyorum ntpd, ancak oradan nasıl ilerleyeceğimi bilmiyorum.

teşekkür ederim

EDIT: el ile çalışırken ubuntu istemci ayrıntılı çıktı 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 hizmeti yeniden başlatıldı, ancak ntpq -cpe -casdaha sonra çalışan hala ntp sunucuları listesinde yerel ntp sunucumu görmüyorum.

Tabii ki dhcpdsunucumdaoption 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 sunucumda NTP sunucusunun kullanacağı müşterilere geçiyorumoption ntp-servers x.x.x.x
Rui F Ribeiro

@RuiFRibeiro Merhaba, evet bu seçenek gerçekten dhcpdsunucumun bir parçası .
nass

2
serverfault.com/questions/329596/… size bazı ipuçları verebilir. Kullanılan gerçek dosya adını bulmak için /etc/dhcp/dhclient-exit-hooks.d/ntp adresine bakmak isteyebilirsiniz. Dhclient.conf dosyanızın ntp sunucuları da isteyecek şekilde ayarlandığından emin olun.
icarus

İstemci olarak Ubuntu mu kullanıyorsunuz? Hangi versiyon?
roaima

@roaima istemcisi ubuntu olabilir, ancak daha genel bir çözüm yardımcı olacaktır. İşleri kolaylaştırırsa, ubuntu 14.04 LTS'nin bu durumda istemci olduğunu varsayalım.
nass

Yanıtlar:


10

Kullandığınız dhcp sunucusu ntp-serversseçeneği sağlamak üzere yapılandırılmışsa, dhclient'inizi , Ubuntu Linux'tan (19.04 itibariyle) bu örneğin sonunda gösterildiği gibi ntp-servers, varsayılan istek satırına ekleyerek ntp-sunucuları isteyecek şekilde yapılandırabilirsiniz. dhclient.confen az 12.04'ten beri mevcut):

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.confve DHCP'den bilgi oluşturmak için kullanılacaktır /etc/ntp.conf.dhcp.

Ntpd'niz varsa /etc/ntp.conf.dhcp dosyasını kullanması söylenmelidir. Kullandığım Ubuntu sürümünde bu yapılır /etc/dhcp/dhclient-exit-hooks.d/ntp. <- Bu, NTPd'ye /etc/ntp.conf.dhcpvarsa kullanmasını ve yoksa kullanmamasını söyleyen dosyadır /etc/ntp.conf.


2
Ubuntu 18.04'te bu dosya /run/ntp.conf.dhcpvar, herhangi bir olayda yerini görebilirsiniz/etc/dhcp/dhclient-exit-hooks.d/ntp
DustWolf

En yeni Ubuntu 16.04 xenial artık ntp seçeneklerini desteklemiyor gibi görünüyor; iyi çalışırdı. Bunu yapmak: bunu /usr/sbin/dhcpd -tverir: /etc/dhcp/dhcpd.conf line 20: unknown option dhcp.ntp-server option ntp-server 10.... yaz aylarında iyi çalışıyordu.
Linas

0

1
Merhaba Abdullah, Chrony farkında olmak için yararlı bir alternatiftir, ancak cevabınız DHCP istemcilerinin bir DHCP sunucusu tarafından sağlanan NTP bilgilerini kullanmaları için nasıl kullanılabileceğini göstermez.
Anthony G - Monica için adalet

@AnthonyGeoghegan Merhaba, Yorum olarak eklerseniz cevabımı silebilirdim,
Abdullah

Sadece bazı bağlantılar göndermeyin (bunlar çürümeye eğilimlidir), ancak cevabınıza gerekli bilgileri ekleyin.
Monica'yı eski
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.