Birkaç sunucu için uygun NTP yapılandırması


9

Küçük bir ağda yaklaşık 20 Linux sunucum var ve saatlerini birbirine yakın (örneğin 20msn içinde) ihtiyacım var. Her birinin europe.pool.ntp.org ile senkronize edilmesiyle başladım ve iş bitti.

Şimdi iki sorum var:

  1. Havuza gözle görülür bir yük mü? Yani herhangi yapar farkedilir ben 20 sunucularından veya 2'den isabet ediyorsam havuza farkı?
  2. Bir fark yaratırsa, alt ağımı senkronize edecek ve havuzu hafif yük altında tutacak kurulum / yapılandırma nedir? Büyük ağlar için yönergeler vardır ( http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101 ) ancak küçük ağlar için hiçbir şey bulamadım.

1
Genellikle dahili ağınızı senkronize ettiğiniz bir veya iki dahili zaman sunucunuz olmalıdır. İki dahili sunucunuzun bir peerilişkisi olabilir. Örneğin bkz. Ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101
Marki

Yorumlar ve bağlantı Marki için teşekkürler. Bağlantı ile ilgili olarak bu benim durumum değil "büyük bir ağ" için olduğunu belirtiyor. Önerinizle ilgili olarak: Bir dahili zaman sunucusunun iyi bir fikir (tek hata noktası) olduğunu düşünmüyorum, ancak 2 iyi bir fikir gibi görünüyor. Akran ilişkisinin ne olduğunu açıklayabilir (veya bir bağlantı sağlayabilir misiniz)?
ndemou

Ayrıca kesinlikle bir NTP uzmanı olmadığımı da not etmeliyim - ondan uzak :-)
ndemou

Eğer bir akran ne olduğunu biraz google incitmez. İnsanlar hiçbir araştırma yapmadıklarında bu sitenin gümüş bir tabakta hiçbir şeye hizmet etmediğini unutmayın.
Marki

Beni yanlış anlamayın, ödevimi yaptım ama NTP, çoğu belgenin çok yutulması (bu ntp.conf - sadece kullan) veya çok derin (50 sayfalık işlem teorisi sizden önce okumak için bu konulardan biridir. temel gerçekleri kavramaya başlayabilir).
ndemou

Yanıtlar:


8
  1. Havuza gözle görülür bir yük mü? Yani 20 sunucudan veya 2'den vurursam havuzda fark edilir mi?

Havuzun yıllarca sunuculara sürekli ihtiyacı olduğu göz önüne alındığında (bkz. [1]) 2 veya 20 sunucu gerçekten bir fark yaratmasa da, her zaman yalnız olmadığınızı hatırlamanız gerekir. Daha iyi biz 2000 veya 20000 sunucularını bahsediyoruz 1000 yöneticiler bu durumda söz hakkından hakkında düşünme olacak ve bu yüzden yaptığı bir fark yaratır.

  1. Bir fark yaratırsa, alt ağımı senkronize edecek ve havuzu hafif yük altında tutacak kurulum / yapılandırma nedir?

Ağınızdaki iki [2] sunucuyu havuzla senkronize etmelisiniz (onlara Birincil NTP Sunucuları diyelim ) ve sonra diğer tüm sunucuları bu ikiyle senkronize etmelisiniz . Bu yöntem ayrıca tüm sunucularınız arasındaki sürenin daha yakından eşleştirilmesi avantajına sahiptir (1msn'den daha kısa sürede). Bu, IETF en iyi uygulamalarına uygundur .

1) Birincil NTP Sunucuları için yapılandırma

Değiştir serverve restrictaşağıdaki ile ntp [d] .conf hatlarını ve dağıtım varsayılan [3] gerisini tutmak:

server 10.11.12.1  iburst peer
#      ^^^^^^^^^^^
#      The LAN IP of the _other_ Primary NTP server 
server 0.europe.pool.ntp.org 
server 1.europe.pool.ntp.org 
server 2.europe.pool.ntp.org 
server 3.europe.pool.ntp.org 
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

Bu yapılandırmanın, İnternet'in her yerinden gelen ana makinelerin NTP sorguları aracılığıyla ana makine saatinizi sorgulamasına izin verdiğini lütfen unutmayın. İstemiyorsanız güvenlik duvarınızı kullanın . Örneğimde 10.11.12.1 ve 10.11.12.2, Birincil NTP Sunucularının IP'leri (biri genel internete ve biri yerel 10.11.12.x alt ağına bakan iki ağ kartı var). Her Birincil NTP Sunucusu diğerini eş olarak bildirmiştir (eş temelde hem sunucu hem de istemci anlamına gelir - diğer ana bilgisayarı zaman kaynağı olarak kullanırsınız ve diğer ana bilgisayar da sizi zaman kaynağı olarak kullanır). Bu nedenle, her Birincil NTP Sunucusunun yapılandırması diğerini eş olarak gösterecek şekilde 1. satırdaki IP'yi ayarlayın . 4 sunucu kullanma seçimimle ilgili olarak [4] 'e bakın.

2) Diğer tüm sunucular için yapılandırma

2A) İki ağ arabiriminiz varsa

Yerel bir alt ağ (ör. 10.11.12.0/24) Oluşturmak için 2. arabirimi ve NTP sorguları için bunu kullanın. Bu durumda sınırlama çizgileri daha sıkı olabilir. Bu yüzden ntp [d] .conf dosyanızın serverve restrictsatırlarını tekrar aşağıdaki ile değiştirin ve geri kalanını dağıtım varsayılanlarınızda [3] tutun:

restrict -4 default ignore
restrict -6 default ignore
restrict 10.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
#      ^^^^^^^^^^
#      The IPs of your 2 Primary NTP Servers

2B) İki ağ arabiriminiz yoksa

Aşağıdaki kısıtlama satırlarını kullanmalısınız (ve yukarıdaki NTP sunucularınıza erişimi engellemek için güvenlik duvarınızı kullanma hakkındaki notu okumalısınız). Bu yüzden ntp [d] .conf dosyanızın serverve restrictsatırlarını tekrar aşağıdakilerle değiştirin ve geri kalanını dağıtım varsayılanlarınızda [3] tutun:

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
#      ^^^^^^^^^^
#      The IPs of your 2 Primary NTP Servers

notlar

[1] 2006'dan 2012'ye kadar sürekli olarak daha fazla sunucuya katılmalarını istiyorlar: 2006 isteği, 2009 ve 2012 istekleri . Mevcut durumla ilgili güncellemeler için www.pool.ntp.org adresini ziyaret edin .

[2] İki Birincil NTP Sunucusu, karmaşık Yüksek Kullanılabilirlik düzenlemeleri olmadan artıklığa sahip olmanın basit bir yolu olarak önerilmektedir. Başka nedenlerle 3 veya 4 tercih edebilirsiniz (tekrar IETF en iyi uygulamalarını okuyun )

[3] Uygulamada ve dağıtımınız ne olursa olsun, ntpd yapılandırmanıza eklemeniz gereken tek şey, bir sürüklenme dosyası ve bunun için bir ad koymak için bir dizini tanımlayan bir satırdır - ör driftfile /var/lib/ntp/ntp.drift. Çözümümü CentOS, Debian ve Ubuntu'da test ettim. Sanırım diğer birçok dağıtımda çalışıyor.

[4] En iyi uygulamaları izleyerek 4 havuz sunucusu yapılandırdım . 4'ten fazla sunucunun yapılandırılması teknik olarak kabul edilir, ancak kullanılabilirlik konusunda şüpheli bir kazanç için NTP havuzuna yükü artıracaksınız, bunu yapmayın. En iyi uygulamalarda "ntp-4.2.6 ile başlayarak," pool "yönergesinin" sağlam "hizmet sağlamak için yeterli" çağrışımları " açacağını görüyorum. burada yaptığım gibi adresler ve ntp> = 4.2.6 sunucu satırlarının kesin sayısı muhtemelen önemli değil.

Rant Oh! NTP'den nefret ediyorum (bunun işe yaramasını seviyorum). Resmi belgeler eski bilgilerle doludur ve "nasıl kullanırım?" İçsel bilgilerle ilgili bilimsel ayrıntılarla karıştırılmış bilgiler. Ayrıca restrict 127.0.0.1gerçekten ne anlama geldiğinden de nefret ediyorumallow everything for 127.0.0.1


Güncellemelerin geçmişi

iburstYerel NTP Sunucularının yapılandırmasından seçeneği kaldırdım, çünkü havuza dostu olmaları tartışmalı. (Yorumlara bakınız). Bunları kaldırdığınızda, ilk senkronizasyona yalnızca birkaç dakika bekleme süresi eklenir .


Kredi

SF kullanıcılarının Marki ve Sven'in yorumları ve cevapları bu cevap için iyi bir başlangıç ​​noktası sağladı. İkisine de teşekkürler.


1
Benden +1. Bir havuz sunucusu çalıştırıyorum ve bu yazıların doğruluğunu gereğinden fazla vurgulayamıyorum, ancak bu iburstgenel sunucularda kullanmak için can sıkıcı bir parametredir, bu yüzden lütfen (bu kadar can sıkıcı bir şey olmamasına rağmen) yapmayınburst . Havuz sunucusu yöneticileri, kim olduğunuzu bilmeden ve kendilerine herhangi bir karşılık vermeden, sadece internetin daha iyi çalışması için size bir iyilik yapıyorlar. Daha fazla çalışarak hayatlarını kolaylaştırabilirsen, bunu onlara borçlusun.
MadHatter

Teşekkürler MadHatter. Iburst ile ilgili olarak, tipik "her zaman" sunucular için Tamam olduğunu düşündüm. Bu seçeneği kullanmama tavsiyenizi destekleyen herhangi bir bağlantınız var mı? (
Www.pool.ntp.org/tr/use.html adresini

Trafik istatistiklerimi memnuniyetle paylaşacağım; hızlı bir örnek, yanlış yapılandırılmış ana makinelerin, yani dakikada bir kereden daha sık iletim yapan ana makinelerin, müşterilerimin yaklaşık% 45'ini oluşturduğunu ancak trafiğin yaklaşık% 75'inden sorumlu olduğunu gösterir. Bu çoğunlukla kullanılan sunuculardan olacaktır burst, ancak iburst( ntpdman sayfasından) " bu seçenekle verileri düzeltmek ve saati yaklaşık 10 saniyede ayarlamak için bir mesaj voleybolu değiş tokuş edilir " der . Kullanılması iburst"diyor kısa zamanda sunucu düşük yükünü tutmak daha önemlidir benim saatini ayarlama " ve 's kabalık olduğunu.
MadHatter

"Mesaj voleybolu" hakkında haklısın ama anlayabildiğim kadarıyla bu patlama sadece NTP arka plan programı başlatma sırasında ve (belki) havuz sunucusuna anlık ulaşılamıyorsa (i başından beri). İşte Arch wiki NTPd sayfasından bir özet: "Iburst seçeneği önerilir ve yalnızca ilk denemeyle bağlantı kuramazsa bir paket patlaması gönderir. Burst seçeneği bunu ilk denemede bile yapar ve hiçbir zaman açık izin olmadan kullanılmamalıdır ve kara listeye neden olabilir ".
ndemou

Haklısın, bu iburstçok daha az sakıncalı burst. Demek istediğim, bir başkasının kaynağını ücretsiz kullandığınızda, düşünceli olmak için geriye doğru eğilmeniz gerektiğine dair bir argüman var; sadece aktif olarak düşüncesiz olmamanın yeterli olduğu düşünülmeyebilir. En iyi uygulama olduğu söyleniyor, ancak bu belgeler, senkronize ettiğiniz yukarı akış sunucularının kuruluşunuzun bir parçası olup olmadığına ilişkin hiçbir dikkate almaz; sosyal en iyi uygulamadan ziyade teknik en iyi uygulamayı (bunu kabul ediyorum) dikte ederler . iburst
MadHatter

6

Bunun olağan yaklaşımı katmanlı bir kurulum kullanmaktır - ağınızdaki bir veya iki sunucuyu havuzla senkronize edersiniz ve ardından bunları yerel saat kaynağınız olarak kullanırsınız. Bu seviyelere NTP lingo'da tabakalar denir .

Ayrıca, düşünün: Bunu açıkladığınız gibi yaparsanız, gerçekten fark edilmeyecektir, ancak 1000 sitenin boyutu bunu başlatırsa, 20k çoğunlukla gereksiz isteklerle sonuçlanırsınız ve bir noktada fark edilir hale gelir.

Http://en.wikipedia.org/wiki/Network_Time_Protocol sayfasını okuyun


Ancak alternatif bakış açısını düşünün - mevcut milyonlarca müşterinin üstünde yirmi daha fazla müşteri neredeyse hiç bir şey değildir.
200_success

2
Dediği gibi, eğer herkes böyle düşünmeye başlarsa ...
Marki

Ama hangi noktada duruyorsun? Kullanmak için önceden yapılandırılmış olarak gönderilen tüm Linksys sınıfı cihazları düşünün pool.ntp.org. Elbette DNS trafiği NTP trafiğini aşıyor. Ayrıca DNS'yi yerel olarak önbelleğe almanız mı gerekiyor? DNS trafiğinin bile bant genişliği tüketiminizin geri kalanına kıyasla küçük olması muhtemeldir.
200_success

@ 200_success: Bu tartışmaya değmez, ancak bu "Linksys sınıfı" cihazların çoğu gerçekten DNS trafiğini yerel olarak önbelleğe alır ve önbellekleri de içeren ISS DNS'lerini sorgularlar ...
Sven

1
Linksys, senkronize edilen cihazları havuz koşullarınıntp.pool.org ihlal ediyorsa ; bir satıcı bölgesine başvurarak doğru bir şekilde yapmışlarsa (bağlantıya bakın), aynı zamanda havuz projesine yükleriyle orantılı olarak katkıda bulunmaları beklenir (yine bağlantıya bakın).
MadHatter
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.