NTP anket oranını nasıl özelleştirebilirim?


17

Ubuntu'yu, bayt başına ödeme yaptığımız bir hücresel bağlantı üzerinden çalışan gömülü bir makineye kuruyorum. Makinede ayrıca RTC pili yoktur, bu nedenle her önyüklemede rastgele bir zamandan başlar.

Hücresel bağlantı kullanılabilir olduğunda zamanın senkronize edilmesini sağlamak istiyorum, böylece günlük mesajları vb. Gerçek zamanlara sahip olur, ancak aynı zamanda NTP trafiği için bir kol ve bir bacak ödemek istemiyorum.

NTP'nin zamanı güncelleme hızını özelleştirebilir miyim? Şu anda openntpd kullanıyorum, ama buna inanmıyorum.

İnternetin önyükleme yapması gerekmez, bu nedenle ntupdate ve başlangıçta ilgili çalışmaz. Ve cron üzerinden zamanlama, zamanlanmış görevin devreye girmesini beklemek anlamına gelirken, bir zaman daemonunun ASAP zaman senkronizasyonu almasını istiyorum.

Yanıtlar:


5

Bu cevaplardan bazıları gizlenmiş ntp yapılandırma yarışmasını kazanabilir.

Ntp başvuru uygulamasını kullanın ve önyükleme sırasında zamanı hızlı bir şekilde ayarlamak için iburst'u kullanın. Bundan sonra ntpd'nin uzak zaman sunucularını sorgulama sıklığını sınırlamak için minpoll yönergesini kullanabilirsiniz. Bu, ntpd'nin saat disiplininden yararlanmanıza ve bant genişliğini düşük tutmanıza olanak tanır.

minpoll minpoll
maxpoll maxpoll
    These options specify the minimum and maximum poll intervals for NTP 
    messages, in seconds as a power of two. The maximum poll interval 
    defaults to 10 (1024 s), but can be increased by the maxpoll option to 
    an upper limit of 17 (36 h). The minimum poll interval defaults to 6 (64 s), 
    but can be decreased by the minpoll option to a lower limit of 3 (8 s).

Chrony , ntp başvuru uygulamasına iyi bir alternatiftir. Openntpd değil.


8

Benim deneyim openntpd yerine ntp ile.

NTP protokolünün genellikle her dakika (64 saniye) paket göndermeyle başladığını, ancak genellikle /etc/ntp.conf dosyanızdaki her sunucu için her 17 dakikada bir paket gönderip alarak yerleştiğini bilmelisiniz. Bununla birlikte, şebeke kesintileri veya cihazınızdaki dengesiz bir saat bunu artırabilir. Her paketin yükü yaklaşık 68 bayttır, bu nedenle her ankette 100 bayttan biraz daha fazladır.

Ağ kurma zamanında rdate ve ntpdate, zamanı ayarlamak için iyi fikirlerdir. Ve eğer tek ihtiyacınız varsa, sizin için iyi çalışmalıdır.

Bununla birlikte, zamanın uzun süre senkronize tutulması gerekiyorsa, ntp protokolü bunu yapmak için tasarlanmıştır. Cihazınızdaki saat, muhtemelen kristal kontrollü bir saate sahip olmasına rağmen, ne kadar ısındığı veya soğuduğuna bağlı olarak biraz hızlı veya yavaş çalışacaktır - ve devam eden zaman işleyişi bunun için ayarlanmalıdır.

Devam eden zaman işleyişine ihtiyacınız varsa ve kullanılan bant genişliğini azaltmak istiyorsanız, bazı öneriler aşağıda verilmiştir. Ntp.conf içindeki öğelere atıfta bulunurlar.

Iburst kullanmayın. (Ancak başlangıçta zamanı ayarlamak daha fazla zaman alacaktır).

Minpoll'u 6'dan yukarı doğru artırın (2 ^ 6 saniye 64 saniyedir). Bu, ağ açıldıktan sonra protokol başlatıldığında trafiği azaltır.

Maxpoll'u 10'dan (2 ^ 10 saniye 1024 saniye veya yaklaşık 17 dakikada bir) artırın. 36 saatte bir anket yapmak için 17'ye kadar gidebilirsiniz. Bunu kendim denemedim.

Katıştırılmış cihazlarınızdan güvenilir bir şekilde erişilebilecek bir sunucunuz varsa, bu çok az sayıda sunucu kullanın. Daha fazla sunucu zaman işleyişi daha güvenilir olabilir, ancak trafik ölçeklenir, bu yüzden bir işlemdir.



3

Ubuntu'nun varsayılan yüklemesinde, NTP arka plan programı çalışmaz. Bunun yerine, zaman bir ağ arabirimi /etc/network/if-up.d/ntpdateçağanoz tarafından her açıldığında ayarlanır .

Sabit senkronizasyon yerine bir defalık zaman senkronizasyonundan sonraysanız, bu sizin için yeterli olabilir.

Saati ayarlamak için hangi sunucuların sorgulanacağını standart /etc/ntp.confdosyadan veya içindeki NTPSERVERSdeğişkenle denetleyebilirsiniz /etc/default/ntpdate.


2

Ntp'nin sağladığı tam ve kesin senkronizasyona mı ihtiyacınız var? Değilse, kullanarak rdateveya ntpdateönyükleme yaparak ve daha sonra periyodik olarak cron ile uzaklaşabilirsiniz .


2

Muhtemelen openntpd man sayfasını zaten okudunuz.

http://www.openbsd.org/cgi-bin/man.cgi?query=ntpd.conf

Muhtemelen zaten bir seçim seçeneğinin olmadığını fark ettiniz.

Ben önermek için bu olası kesmek var:

  1. Herhangi bir ntpd kullanmayın, ntpdate'i cron üzerinden arayın.
  2. İzin vermek istediğinizde iptables kurallarının düşmesine veya 123 trafiğine izin vermesine geçiş yapmak için cron ve / veya hücresel bağlantı komut dosyalarınızı kullanın. Bu kadar basit olabilir

    0 12 * * * iptables -D OUTPUT -j DROP -p udp --dport 123 # at noon start allowing ntp

    0 13 * * * iptables -A OUTPUT -j DROP -p udp --dport 123 # at 1pm stop allowing ntp

  3. Gömülü makinenize bir radyo saati alıcısı yerleştirin. Bunun hakkında neredeyse hiçbir şey bilmiyorum ama bunun gibi ürünler:

bana radyo sinyalini alabilmenin zor olmadığını düşündürüyor.


1
Donanım ekleyecekseniz neden radyo saati tavsiye etmeli ve PPS'li bir GPS eklemiyorsunuz?
dfc

@dfc iyi bir nokta. OP, Zaman kazanmak için GPS donanımını düşünün.
Jay _silly_evarlast_ Wren

1
50 $ (Tabii ki GPS bir çok şey) ve bazı lehim yedek yatak odasında bir stratum 1 zaman sunucusu var. Sure GPS anteni dev bir akçaağaç ve başka bir ev tarafından engellenen bir pencerede oturuyor ve iyi çalışıyor.
dfc

@dfc donanıma ve donanıma kullandığınız yazılımı bağlayabilir misiniz?
Jay _silly_evarlast_ Wren

1
@Jay_silly_everlast_Wren Yazılım: ntp başvuru uygulaması www.ntp.org Yönetim Kurulu: sureelectronics.net/goods.php?id=99 Birkaç tartışma: satsignal.eu/ntp/Sure-GPS.htm ve lists.ntp.org/pipermail/questions /2011-March/028854.html Çok daha fazlası var. Lehimden korkmayın. Bu benim ilk kez lehimlememdi ve kolaydı. Ntp sorular posta listesi emin kurulu kullanan ve onunla çok mutlu insanlarla dolu.
dfc

1

Doğru hatırlarsam, ntp anket aralığı en fazla 1024 saniyeye ayarlanabilir. Belki de en basit çözüm ntpdate'i her önyüklemede ve daha sonra şimdi ve sonra crontab'dan çalıştırmak olacaktır.

Saatiniz her önyüklemede rastgele bir zamanla başlıyorsa, muhtemelen ntpd'yi yine de çalıştıramazsınız ve önce ntpdate'yi kullanmanız gerekir. Ntpd, saatiniz ile sunucu saatiniz arasındaki fark çok büyükse saati senkronize etmeyi reddeder.


Sürüklenme çok büyükse ntp ile ilgili senkronizasyonu reddeden bilgi için +1
David Pfeffer

ntpdate seçeneklerin lehine önerilmiyor ntpddaha iyi bu kullanım senaryosunu idare edecek olan cronteneke eecis.udel.edu/~mills/ntp/html/ntpdate.html
msw

1

TCP gibi NTP de protokolde yerleşik olan Derin Teori ve Pratik Deneyime sahiptir; temel parametrelerini değiştirirseniz, tasarlandığı senkronizasyon özelliklerine sahip olmayı bırakır.

Cihazınız düzensiz olarak bağlıysa, belki de iyi eski RDATE size en iyi hizmeti verecektir. Saat çevirme, akran ortalamaları ve ortadaki bir adamın zamanına değerse oynayabileceği çeşitli ince saldırılara karşı güvence altına alınamaz. Uzak bir sunucudan bir referans tarihi alır ve yerel saati çekiçle vurur. Ancak, bunu istediğiniz zaman yapar ve davranışı deterministiktir.

RDATE doğruluğu, NTP'nin sağladığı veriden çok daha kötüdür, ± 1 saniyeden daha iyi bir süre için güvenmezdim, ancak yalnızca ara sıra bağlıysanız, daha doğru zamanlama önemli değildir; aslında, göreliliğe göre anlamlı bile olmayabilir.


0

Yapmak için minpool/ maxpooldikkate alınacak, daha sonra eklemek zorunda sunucu başına Gözlerinde farklı ntp.conf.

NTP deamon ile uğraşmanız tavsiye edilmez (frekansı optimize etmek için yerleşik bir mathod vardır) ancak bu seçeneği şu şekilde eklemeniz gerekir:

server time.google.com iburst minpoll 12 maxppol 17
server ntp.ubuntu.com iburst minpoll 12 maxppol 17
server europe.pool.ntp.org iburst minpoll 12 maxppol 17

Burada, min frekansını 2 ^ 12 saniyeye ve maks. 2 ^ 17 saniyeye ayarlarsanız.

Varsayılan olarak, NTP'nin her dakika bir istekte bulunacağını öğrendim. Bu çok fazla. Burada frekansı günde bir kezden günde bir kez (kabaca) azalttım.

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.