NTP zaman senkronizasyon protokolünün SNTP'den farkı nedir? NTP – her tablodaki atom saati Ntp protokolü

NTP, çalışmak için UDP protokolünü kullanır. NTP sistemi medya gecikmesindeki değişikliklere karşı son derece dayanıklıdır.

NTP, iletim zamanlaması özelliği de dahil olmak üzere Marzullo algoritmasını (San Diego'daki Kaliforniya Üniversitesi'nden Keith Marzullo tarafından önerilen) kullanır. Versiyon 4'te, İnternet üzerinden çalışırken 10 ms'lik (1/100 sn) ve yerel ağlarda 0,2 ms'ye (1/5000 sn) kadar ve daha iyi bir doğruluk elde etme kapasitesine sahiptir.

NTP, kullanılan en eski protokollerden biridir. NTP, 1985 yılında Delaware Üniversitesi'nden David L. Mills tarafından geliştirildi ve şu anda geliştirilmeye devam ediliyor. Güncel sürüm NTP 4'tür.

NTP, hiyerarşik bir "saat seviyeleri" (tabaka) sistemi kullanır. Seviye 1, yüksek hassasiyetli bir saatle, örneğin bir GPS sistemi, GLONASS (Rusya Federasyonu Birleşik Devlet Zaman Ölçeği) veya atom zaman standardı ile senkronize edilir. Seviye 2, Seviye 1'deki makinelerden biriyle senkronize olur ve bu şekilde devam eder.

NTP sisteminde zaman, 32 bitlik ikinci sayaç ve 32 bitlik kesirli ikinci sayaçtan oluşan 64 bitlik bir sayı (8 bayt) olarak temsil edilir ve zamanın 2-32 saniye aralığında iletilmesine izin verir. 2-32 saniyelik teorik doğruluk. NTP'deki zaman ölçeği her 2 32 saniyede bir (136 yıl) tekrarlandığından, alıcının mevcut saati en azından yaklaşık olarak (50 yıllık bir doğrulukla) bilmesi gerekir. Ayrıca, zamanın 1970 değil, 1 Ocak 1900 gece yarısından itibaren ölçüldüğünü unutmayın; bu nedenle, zamanı Windows veya Unix sistemleriyle doğru şekilde eşleştirmek için neredeyse 70 yılın (artık yıllar dahil) NTP zamanından çıkarılması gerekir.

NTP protokolü en yaygın olarak kesin zaman sunucularını uygulamak için kullanılır. Maksimum doğruluğa ulaşmak için sürekli çalışma tercih edilir yazılım Sistem hizmeti modunda NTP. Microsoft Windows işletim sistemi ailesinde bu, W32Time hizmetidir (svchost.exe'de çalışan w32time.dll modülü), Linux - Ntpd hizmetidir.

Bu algoritmanın daha basit bir uygulaması SNTP olarak bilinir - basit senkronizasyon ağ protokolü. Yüksek hassasiyet gerektirmeyen gömülü sistem ve cihazlarda kullanıldığı gibi özel zaman programlarında da kullanılır.

Protokolün ve sistemin bir bütün olarak ayrıntılı uygulaması şu şekilde açıklanmaktadır:

NTP, gündüz protokolü RFC 867 veya zaman protokolü RFC 868 (kazanma programı FG Time Sync) ile karıştırılmamalıdır.

Saat katmanları

NTP, hiyerarşik, çok düzeyli bir zaman kaynakları sistemi kullanır. Bu hiyerarşinin her düzeyine katman denir, her katmana en üstte 0 (sıfır) ile başlayan bir numara atanır. Katman düzeyi, referans saatine olan mesafeyi tanımlar ve hiyerarşideki döngüsel bağımlılıkları önlemek için mevcuttur. Katmanın kalite ve güvenilirliğin bir göstergesi olmadığını, kaynağın katman 3 daha fazla sinyal verebilir Yüksek kalite bazı kaynaklardan daha katmanlar 2. Temel olarak katmanlar yükü dağıtmaya ve daha geniş bir kapsama alanı sağlamaya yarar. Katmanın bu tanımı, telekomünikasyon sistemlerinde kullanılan saat katmanları kavramından da farklıdır.

Katman 0

Katman 0, atomik (moleküler, kuantum) saatler, radyo saatleri veya bunların analogları gibi zaman standardı görevi gören yüksek hassasiyetli bir cihazdır. Tipik olarak bu cihazlar bir ağa bağlı değildir; bunun yerine yerel bilgisayara bağlanırlar (örneğin bir RS-232 arayüzü aracılığıyla) ve senkronizasyon için PPS sinyallerini iletirler.

Katman 1

Bu, referans saatinin doğrudan bağlı olduğu bir bilgisayardır. Ağ zaman sunucusu görevi görür ve katman 2 bilgisayarlar tarafından gönderilen NTP isteklerine yanıt verir.

Katman 2

Bunlar, NTP protokolünü kullanarak birinci katman sunucularından zaman alan bilgisayarlardır. Tipik olarak, ikinci katmandaki bilgisayarlar, ilk katmandaki birkaç sunucuyla iletişim kurar ve NTP algoritmasını kullanarak en iyi veri örneğini alır ve açıkça yanlış zamanlara sahip sunucuları ortadan kaldırır. Bilgisayarlar, katmandaki tüm bilgisayarlarda kararlı ve tutarlı veriler elde etmek için verilerini katmanlarındaki diğer bilgisayarlarla karşılaştırabilir. İkinci katmandaki bilgisayarlar ise üçüncü katmandaki bilgisayarlar için sunucu görevi görür ve NTP isteklerine yanıt verir.

Katman 3

Üçüncü katmandaki bilgisayarlar, ikinci katmandaki bilgisayarlarla tamamen aynı şekilde çalışır; tek fark, bunların sunucularının üstteki ikinci katmanın bilgisayarları olmasıdır. Ayrıca alttaki katman için sunucu görevi de görebilirler. NTP (versiyona bağlı olarak) 256'ya kadar katmanı destekler.

Ayrıca bakınız

Bağlantılar

  • - Rusya Federasyonu Devlet Zaman ve Frekans Standardının (STSE) NTP sunucularının listesi
  • Ağ Zaman Protokolü projesi - NTP protokolünü ve hizmetlerini geliştirmeye yönelik halka açık bir proje
  • NTP Kamu Hizmetleri Projesi - NTP kamu sunucuları projesi ve IETF NTP Çalışma Grubu
  • Pool.ntp.org, milyonlarca kullanıcı için büyük bir sanal NTP sunucusu kümesini temsil eden bir kaynaktır. 29 Aralık 2010 tarihi itibariyle,pool.ntp.org'da 2078 sunucu kayıtlıdır. Bölgesel sunucuları seçmek mümkündür.
  • ntp.mobatime.ru - 2005'ten beri, ilk katmanın (Rusya, St. Petersburg) halka açık ücretsiz bir NTP sunucusu Mobatime.
  • time.bakulev.ru - ilk katmanın (Rusya, Moskova) halka açık ücretsiz NTP sunucusu.

Wikimedia Vakfı. 2010.

Diğer sözlüklerde "NTP"nin ne olduğunu görün:

    NTP- üç harfli bir başlangıçtır ve şu anlama gelebilir: İçindekiler 1 Bilgisayar 2 Politika 3 Bilim 3.1 Kimya 3.2 Tıp … Vikipedi

    NTP-kısaltma. normal sıcaklık ve hava basıncı: STP için kullanılan eski terim * * * NTP kısalt. normal sıcaklık ve basınç. * * * …Evrenselyum

    NTP- NTP, Abk. für Ağ Zaman Protokolü…Universal-Lexikon

    NTP- (Ağ Zaman Protokolü) Bilgisayarın dahili saatini internetteki atom saatleri veya radyo saatleri ile programlayan (İnternet) protokolü... İngilizce çağdaş sözlük

    NTP-kısaltma. normal sıcaklık ve hava basıncı: STP'nin eski terimi… İngilizce Dünya Sözlüğü

    NTP- Farklı konu başlıklarını ve aynı adı taşıyan makaleleri içeren eşsesli bir sayfa. Bir Seule Letter Sigles deux Letters > Sigles de Trois Letters Sigles de Qutre Letters … Wikipédia en Français

    NTP

    Ntp- Die Abkürzung NTP steht für: Ağ Zaman Protokolü, ein Protokoll zur Zeitsynchronization zwischen Computern Normal Sıcaklık ve Basınç, die türkische Bezeichnung für diephysikalischen Normalbedingungen Nukleosidtriphobia in der… … Deutsch Wikipedia

    NTP- Nükleozid 5′ trifosfatın kısaltması. * * * narkotik tedavi programı; Ulusal Toksikoloji Programı; nitroprussid; trombopenik olmayan purpura; normal sıcaklık ve basınç; 5'nükleotidaz; sodyum nitroprussid * * * NTP kısaltılmış normal… … Tıp sözlüğü


Zaman senkronizasyonu önemli bir iştir, ancak pek çok kişi bunun hakkında düşünmemiştir. Peki, bir sunucuda zamanın kaçmasının nesi yanlış? Birçok saat probleminin kriptografiyle ilgili protokolleri etkilediğini biliyor muydunuz? Bu nedenle içinde Aktif Dizin 5 dakikadan fazla saat farkı Kerberos kimlik doğrulama sorunlarına neden olur.

Saatlik seviyeler. Strata.

NTP cihazını anlamak için konsept hakkında bilmeniz gerekenler Strata veya tabaka. GPS uyduları, sezyum atom saatleri, WWVB radyo dalgaları gibi güvenilir zaman kaynakları - tüm bunlar katman 0. Oldukça doğru zaman işleyişini sürdürmenin bir yoluna sahip oldukları için otoriterdirler. Elbette sıradan bir kuvars saat kullanabilirsiniz, ancak onlarla bir ayda 15 saniye kaybetmenin kolay olduğunu bilerek, onları zaman ölçüsü olarak kullanmamak daha iyidir. Katman 0İşte o zaman 300.000 yılda bir saniye bile kaybolmaz!

Doğrudan (ağ üzerinden değil!) zaman alan bilgisayarlar katman 0- Bu katman 1. Sinyal iletimi ve zaman ayarlama maliyetleri nedeniyle her zaman gecikmeler olduğundan, bilgisayarlar katman 1 kadar doğru değil katman 0, ama içinde gerçek hayat fark birkaç mikrosaniyeye ulaşır (1 μs = 10 -6 s), bu tamamen kabul edilebilir bir sapmadır.

Ağ üzerinden zaman alan bilgisayarların bir sonraki seviyesi katman 1- bu... davul sesi... entrika... katman 2! Yine çeşitli gecikmeler nedeniyle (kesinlikle ağ gecikmeleri), katman 2 biraz geride katman 1 ve kesinlikle katman 0. Uygulamada bu, birkaç mikrosaniyeden (1 μs = 10 -6 s) birkaç milisaniyeye (1 ms = 10 -3 s) kadar bir farktır. Birçok kişi artık katmanla senkronizasyon yapmak istemiyor katman 2.

Diyagramdan açıkça anlaşılacağı gibi, katman 4 bir amirden zaman alır katman 3. katman 5 en katman 4 ve benzeri. katman 16 en alt katman olarak kabul edilir ve zaman burada sayılır senkronize edilmemiş.

NTP kullanarak saati senkronize etmek için öncelikle saatinizi manuel olarak ayarlamanız gerekir. Tam saatiniz ile saatiniz arasında 1000 saniyeden fazla fark olmamalıdır. Kullandığınız zaman sunucusu 1000 milisaniyeden (1 saniye) fazla yatıyorsa listeden çıkarılacak ve onun yerine diğerleri kullanılacaktır. Bu mekanizma, kötü zaman kaynaklarını filtrelemenize olanak tanır.

Zaman istemcisi.

/etc/ntp.conf dosyasında Sunucu satırları istemci için önemlidir. Bunlardan birkaçı olabilir - 10 parçaya kadar!

Ne kadar eklenmeli? Lütfen aklında bulundur:

  • Yalnızca bir sunucunuz varsa (tek hatlı sunucu), o zaman bu sunucu yalan söylemeye başlarsa, körü körüne onu takip edeceksiniz. Süresi 5 saniye dolduğunda peşinden koşarsanız.
  • 2 sunucu eklenirse (2 sunucu hattı), NTP her ikisini de şu şekilde işaretler: yanlış işaretleyiciler. Eğer içlerinden biri yalan söylerse, yeterli çoğunluk olmadığı için NTP kimin yalan söylediğini anlayamaz.
  • 3 veya daha fazla zaman sunucusu eklenirse bir yalancı belirlenebilir yanlış işaretleyiciler. 5 veya 6 zaman sunucusu varsa 2 yalancı bulabilirsiniz yanlış işaretleyiciler. 7 veya 8 sunucu varsa 3 yanlış işaretleyiciler. 9 ve 10 sunucu varsa, o zaman 4 yanlış işaretleyiciler.

NTP Havuz Projesi.

Rus kullanıcılar için önerilen zaman sunucularını bulabileceğiniz,pool.ntp.org/zone/ru/ adresinde NTP Havuzu adında bir proje var.

sunucu 0.ru.pool.ntp.org
sunucu 1.ru.pool.ntp.org
sunucu 2.ru.pool.ntp.org
sunucu 3.ru.pool.ntp.org

Debian ve Ubuntu gibi işletim sistemleri kullanıcılara kendi zaman sunucularını sunmaktadır.

sunucu 0.debian.pool.ntp.org
sunucu 1.debian.pool.ntp.org
sunucu 2.debian.pool.ntp.org
sunucu3.debian.pool.ntp.org

sunucu 0.ubuntu.pool.ntp.org
sunucu 1.ubuntu.pool.ntp.org
sunucu 2.ubuntu.pool.ntp.org
sunucu 3.ubuntu.pool.ntp.org

NTP kullanan Linux bilgisayarınızda ntpq -pn komutunu çalıştırırsanız

Yoklama erişimi gecikmesi ofset titreşimi olduğunda uzaktan yeniden doldurma st =========================================== +93.180.6.3 77.37.134.150 2 u 62 1024 377 53.658 -0.877 1.174 +85.21.78.23 193.190.230.65 2 u 1027 1024 377 54.651 0.167 1.531 *62.173.138.130 89.109.251. 24 2 u 940 1024 377 52.796 -0.143 1.001 +91.206.16.3 194.190.168.1 2 u 258 1024 377 93.882 -0.680 2.196 -91.189.94.4 193.79.237.14 2 u 596 1024 377 100.219 1.562 1.482

Sütun adları ne diyor:

  • uzak- zamanı senkronize ettiğiniz uzak sunucular.
  • yeniden ödeme- bu sunucu için üstün bir katman.
  • st- tabaka seviyesi. 0'dan (bizim için mevcut değil) 16'ya (bizim için arzu edilmez) kadar. İdeal - 2.
  • T- bağlantı türü. " sen" - tek noktaya yayın veya çok noktaya yayın, " B" - yayın veya çoklu yayın, " ben"yerel referans saati" S" - simetrik düğüm, " A" - manycast sunucusu, " B" - yayın sunucusu, " M" - çok noktaya yayın sunucusu.
  • Ne zaman- sunucunun bize en son yanıt verdiği zaman. Parametre sayıyı saniye cinsinden görüntüler, ancak sayı şu şekildeyse dakika cinsinden görüntülenebilir: M veya saatler içinde H.
  • anket- yoklama sıklığı. Minimum 16 saniye, maksimum 32 saat. Sayı 2n olmalıdır. Tipik olarak bu parametre 64 saniyeyi veya 1024'ü görüntüler.
  • ulaşmak- Uzak zaman sunucusuyla iletişimin durumunu gösteren sekizlinin 8 biti: başarılı veya başarısız. Bitler ayarlanmışsa başarılıdır, aksi takdirde başarısızdır. 377 değeri ikili 0000 0000 1111 1111'dir.
  • gecikme- milisaniye cinsinden değer, yanıt gönderme ve alma arasındaki süreyi gösterir (gidiş-dönüş süresi - RTT).
  • telafi etmek- sizinle zaman sunucuları arasındaki milisaniye cinsinden fark. Pozitif veya negatif bir sayı olabilir.
  • titreme- ofsetinizin standart sapmasını gösteren milisaniye cinsinden mutlak değer.

NTP sunucusunun IP adresinin önünde bir sembol vardır - bu çetele kodu. çeşitler çetele kodu:

  • " " - geçersiz olarak iptal edildi. Mesela onunla hiçbir bağlantısı yok ya da çevrimdışı, çok yüksek rütbeli ve sizin gibi insanlara hizmet etmiyor.
  • "X"- kesişim algoritması tarafından reddedildi. Kesişme algoritması, senkronizasyon kaynağı olabilecek aday ortakların bir listesini hazırlar ve her biri için bir güven aralığı hesaplar.
  • "." - tablo taşması nedeniyle atıldı.
  • "-" - küme algoritması tarafından atılır. Kümeleme algoritması adayların listesini katman ve senkronizasyon mesafe kodlarına göre sıralar.
  • "+" - sunucu "birleştirme algoritması" ile açılır. Bu sunucu, mevcut zaman sunucunuz sizi başarısızlığa uğratmaya başlarsa mükemmel bir adaydır.
  • "#" - sunucu mükemmel bir alternatif zaman sunucusudur. # ile gösterilen sunucu yalnızca /etc/ntp.conf dosyasında 10'dan fazla sunucu girişiniz varsa görülebilir
  • "*" - geçerli zaman sunucusu. Okumaları saatinizi senkronize etmek için kullanılır.
  • "Ö"- Saniye başına darbe (PPS) sunucusu. Bu genellikle söz konusu zaman sunucusunun aşağıdaki gibi zaman kaynaklarını kullandığı anlamına gelir: GPS uyduları ve diğer hassas zaman sinyalleri. Çizilirse Ö, bu durumda diğer uyarı sinyali kodu türleri artık görüntülenmeyecektir.

Tarlada yeniden ödeme aşağıdaki değerlere sahip olabilir:

  • IP adresi - uzak zaman sunucusunun adresi.
  • .ACST.- NTP çok noktaya yayın sunucusu.
  • .ACTS.- Amerikan Ulusal Standartlar ve Teknoloji Enstitüsü'nden Otomatik Bilgisayar Saati Hizmeti.
  • .AUTH. - kimlik doğrulama hatası.
  • .AUTO. - Otomatik anahtar dizilerinde hata.
  • .BCST.- NTP yayın sunucusu.
  • .CHU.- Ottawa, Ontario, Kanada'daki CHU istasyonundan kısa dalga radyo alıcısı.
  • .CRYPT.- Otomatik anahtar protokolü hatası.
  • .DCFx.- Almanya, Mainflingen'deki DCF77 istasyonundan LF radyo alıcısı.
  • .DENY.- Erişim reddedildi.
  • .GAL.- Avrupa Galileo uydu alıcısı.
  • .GOES.- Amerikan Sabit Operasyonel Çevresel Uydu alıcısı.
  • .GPS.- Amerikan Küresel Konumlandırma Sistemi alıcısı.
  • .HBG.- Prangins, İsviçre'deki HBG istasyonundan LF radyo alıcısı.
  • .INIT.- Eş ilişkisi başlatıldı.
  • .IRIG.- Aralıklar Arası Enstrümantasyon Grubu zaman kodu.
  • .JJY.- Japonya'nın Kyushu Adası'ndaki Hagane Dağı veya Fukushima yakınlarındaki Otakadoya Dağı'ndaki JJY istasyonundan LF radyo alıcısı.
  • .LFx.- Normal LF radyo alıcısı.
  • .LOCL. - yerel ana bilgisayar saati.
  • .LORC.- Uzun Menzilli Navigasyondan (LORAN-C) LF radyo alıcısı.
  • .MCST.- NTP çok noktaya yayın sunucusu.
  • .MSF.- Anthorn, Cumbria yakınlarındaki Anthorn Radyo İstasyonu.
  • .NIST.- Amerikan Ulusal Standartlar ve Teknoloji Enstitüsü.
  • .PPS.- Saniye başına darbe.
  • .PTB.- Brunswick ve Berlin, Almanya'dan Physikalisch-Technische Bundesanstalt.
  • .RATE. - NTP yoklama eşiği aşıldı.
  • .STEP. - NTP adımını değiştirin. Ön yargı telafi etmek 1000 milisaniyeden az fakat 125 milisaniyeden fazla.
  • .TDF.- Allouis, Fransa'daki TéléDiffusion de France istasyonundan LF radyo alıcısı.
  • .TIME.- NTP ilişkilendirmesi zaman aşımı.
  • .USNO.- Amerika Birleşik Devletleri Deniz Gözlemevi.
  • .WWV.- Fort Collins, Colorado, Amerika Birleşik Devletleri'ndeki WWV istasyonundan HF radyo alıcısı.
  • .WWVB.- Fort Collins, Colorado, Amerika Birleşik Devletleri'ndeki WWVB istasyonundan LF radyo alıcısı.
  • .WWVH.- Hawaii, Amerika Birleşik Devletleri'ndeki Kauai adasındaki Kekaha'daki WWVH istasyonundan HF radyo alıcısı.

Öncelikle nasıl zaman kazanılır fikrinden kurtulun katman 1 kesin saate en yakın olduklarını söylüyorlar. Gezegendeki en doğru zamana daha yakındırlar, ancak kendileri aşırı yüklüdür ve normal sunucular için yüksek RTT gecikmelerine sahiptirler. Normal bir tane bulsan iyi olur katman 2 ve bu konuda endişelenme. Sıradan hayatta oldukça yeterli olan mikrosaniyelerden ve milisaniyelerden bahsettiğimizi unutmayın.

İkinci olarak, en yakın zaman sunucusuna bağlanmanın her zaman ideal olmadığını unutmayın. Daha önemli olan bölgesel yakınlık değil, tabaka düzeyidir. NTP Havuzu projesi yalnızca katman sunucularının bir listesini yayınlıyor katman 1 Ve katman 2 ve 10'a kadar zaman sunucusu almak daha iyidir bu liste, bu harika olacak.

Üçüncüsü, eğer basit bir ev kullanıcısı-istemci iseniz, o zaman işletim sisteminizde sizin için önerilen sunucular olacaktır. ideal seçenek gereksiz hareketler gerektirmez.

Büyük ofisler için en iyi seçenek, iş bilgisayarları için kendi zaman sunucularını kurmak olacaktır. Bu sunucuİnternet zaman sunucularından doğru zamanı alacak ve bunu sağlayacak yerel bilgisayarlar. Debian ve Ubuntu sunucularında satırın yorumunu kaldırmanız yeterli

192.168.0.0 maskesini kısıtla 255.255.0.0 nomodify notrap

ntpd arka plan programı yapılandırma dosyasında - /etc/ntp.conf

192.168/16 ağındaki kullanıcılar sunucunuzdan doğru saat okumalarını alabileceklerdir. Zaman sunucusu olmayan ve kendi görevleriyle meşgul olan dahili Linux tabanlı sunucular için, ntpd arka plan programını istemci modunda çalıştırmak yerine /etc/cron.daily/syncntpd dosyasında belirtmeniz yeterlidir. Ntpdate ve ntp arasındaki farkları okuyup kendiniz karar vermeniz önerilir.
#!/bin/sh
/usr/sbin/ntpdate Sunucunuzun.adresi.IP.adresi > /dev/null 2>&1
çıkış 0

ve günde bir kez ntpdate komutu sayesinde zaman senkronizasyonu yapılacaktır. Yanlış anlaşılmaları önlemek için, bir zaman sunucusu uygulamadan ve her şeyi NTP protokolü aracılığıyla senkronize etmeden önce tembel olmayın - kullanabileceğiniz tüm sunucularda ve iş istasyonlarında doğru zamanı manuel olarak ayarlayın. Senkronize olmayan zamanınız doğru olandan çok farklıysa başlangıçta birçok gereksiz sorun yaratabilirsiniz.

Dördüncüsü, NTP'nin hangi ülkede, hangi saat dilimlerinin kullanıldığıyla, yaz ve kış saatine geçişin nasıl gerçekleştiğiyle ve belirli bir ülkede böyle bir geçişin yapılıp yapılmayacağıyla hiçbir ilgisi yoktur. Bu sorumluluk, ülkede saatçilikte değişiklik olması durumunda güncellemeniz gereken işletim sistemine aittir. Debian ve Ubuntu sistemlerinde bundan tzdata paketi sorumludur ve güncel olması gerekir.

Beşinci olarak, NTP sunucunuzu yüksek yüklü bir sistemde çalıştırmamak daha iyidir.

MSK-IX NTP Sunucusu, MSK-IX tarafından desteklenen bir genel zaman sunucusudur. Tam zaman sunucusu bir referans kaynağıyla senkronize olacak şekilde tasarlanmıştır dahili saat NTP protokolünü kullanan bilgisayarlar ve ağ ekipmanları (sunucular, yönlendiriciler, akıllı telefonlar vb.).

MSK-IX NTP sunucusu, hiyerarşik zaman seviyeleri sisteminde en yüksek doğruluk seviyesine (Stratum Tek Zamanlı Sunucular) aittir. Küresel uydu navigasyon sistemleri GLONASS (öncelik) ve GPS'den gelen sinyal, referans zaman sinyali olarak kullanılır.

MSK-IX NTP Sunucusu, Moskova, St. Petersburg, Yekaterinburg ve Novosibirsk'te bulunan bir sunucu grubu olarak uygulanmaktadır. Başvuru internet teknolojisi Anycast, ülke çapında yüksek güvenilirlik ve hızlı sistem yanıtı sağlar.

MSK-IX sunucuları ayrıca işletim sistemi ayarlarında yaygın olarak kullanılan uluslararası NTP sunucuları POOL.NTP.ORG havuzuna da dahildir.

NTP Sunucu hizmetini kullanmaya nasıl başlanır?

Donanımınızı yapılandırırken aşağıdaki parametreleri kullanın:

Sunucu adı ntp.msk-ix.ru
IPv4 adresi 194.190.168.1
IPv6 adresi 2001:6d0:ffd4::1

MSK-IX NTP sunucu ağıyla eşleme nasıl kurulur?

MSK-IX NTP sunucusuna giden ağ yolunu kısaltmak için Yönlendirme Sunucusu hizmetini kullanın veya MSK-IX DNS Bulut ağıyla doğrudan eşleme kurun. Eşler arası etkileşim, MSK-IX'e bağlantı için sözleşme kapsamında ek bir ödeme yapılmadan ek başvuru yapılmasıyla kurulur.

İyi günler, konuklar ve düzenli okuyucular. Yavaş yavaş temellerden Linux'un daha derinlemesine incelenmesine geçiyorum. Bugün düşünmek istiyorum ntp protokolünün işleyişi ve aynı zamanda ayarlama Linux'ta zaman sunucusu(ntp sunucusu). Öyleyse teoriyle başlayalım.

NTP protokolü

Ağ Zaman Protokolü (NTP)- değişken gecikme süresine sahip ağları kullanarak bir bilgisayarın dahili saatini senkronize etmek için bir ağ protokolü ("kanal genişliği"/kalite olarak okuyun).

NTP işi için kullanılır UDP protokolü ve bağlantı noktası 123.

Mevcut protokol sürümü - NTP4. NTP hiyerarşik bir sistem kullanır "saatlik seviyeler"(onlara da denir Tabaka). Düzey 0 (veya Katman 0)- bunlar genellikle atom saatleri (moleküler, kuantum), GPS saatleri veya radyo saatleri olan cihazlardır. Cihaz verileri genellikle şu adreste yayınlanmaz: Dünya çapında ağ ve doğrudan bağlanın seviye 1 zaman sunucuları RS-232 protokolü aracılığıyla (çizimde sarı oklarla gösterilmiştir). Seviye 1 yüksek hassasiyetli saat ile senkronize seviye 0, genellikle sunucular için kaynak olarak çalışır Seviye 2. Seviye 2 makinelerden biriyle senkronize Seviye 1 ve sizin seviyenizdeki sunucularla senkronizasyon da mümkündür. 3. seviye ikincisine benzer şekilde çalışır. Tipik olarak, ikinci düzey ve altındaki sunucular ağda yayınlanır. NTP protokolü 256 seviyeye kadar destekler. Ayrıca 1. ve 2. seviyedeki, hatta bazen 3. seviyedeki sunucuların her zaman kamu erişimine açık olmadığını da belirtmek isterim. Bazen onlarla senkronizasyon yapmak için alan adı yöneticilerine posta yoluyla bir istek göndermeniz gerekir.

Sunuculara erişimde neden kısıtlama var? Her seviyeye geçişle birlikte birincil sunucuya göre hata biraz artar, ancak toplam sunucu sayısı artar ve bu nedenle .

Yerel ağda bir NTP sunucusu atama

Neden bir NTP sunucusuna ihtiyacımız olabilir?Örneğin işletim sistemlerinde senkronize zamana bağlı olabilecek servisler vardır. Bu tür hizmetlerin en belirgin örneği Kerberos kimlik doğrulama protokolüdür. Çalışması için bu protokol kullanılarak erişilen bilgisayarlarda sistem saatinin 5 dakikadan fazla farklı olmaması gerekir. Ayrıca tüm bilgisayarlardaki doğru saat, güvenlik olaylarını araştırırken güvenlik günlüklerinin analiz edilmesini çok daha kolay hale getirir. yerel ağ.

NTP sunucusu/istemci çalışma modları

Müşteri sunucusu

Bu mod şu ana kadar internette en yaygın kullanılan moddur. Çalışma şeması klasiktir. İstemci, sunucunun bir süre içinde yanıt gönderdiği bir istek gönderir. İstemci, zaman sunucusunun DNS adının belirtildiği yapılandırma dosyasındaki sunucu yönergesi kullanılarak yapılandırılır.

Simetrik aktif/pasif mod

Bu mod, çok sayıda eş makine arasında zaman senkronizasyonu gerçekleştiriliyorsa kullanılır. Her makinenin harici bir kaynakla senkronize olmasının yanı sıra, komşuları (eşleri) ile de senkronize olarak onlar için istemci ve zaman sunucusu görevi görür. Yani bir makine harici bir kaynağı "kaybetse" bile komşularından doğru zamanı elde edebilecektir. Komşular aktif ve pasif olmak üzere iki modda çalışabilir. Aktif modda çalışan makinenin kendisi, zamanını ntp.conf yapılandırma dosyasının eşler bölümünde listelenen tüm komşu makinelere iletir. Bu bölümde komşular belirtilmemişse makinenin pasif modda çalıştığı kabul edilir. Bir saldırganın aktif bir kaynak gibi davranarak diğer makinelerin güvenliğini tehlikeye atmasını önlemek için kimlik doğrulama kullanılmalıdır.

Yayın modu

Bu modun, az sayıda sunucunun çok sayıda istemciye hizmet verdiği durumlarda kullanılması önerilir. Bu modda çalışırken, sunucu periyodik olarak alt ağın yayın adresini kullanarak paketler gönderir. Bu şekilde senkronize edilmek üzere yapılandırılmış bir istemci, sunucunun yayın paketini alır ve sunucuyla senkronize olur. Bu modun bir özelliği, zamanın bir alt ağ içinde iletilmesidir (yayın paketlerini sınırlandırır). Ayrıca saldırganlara karşı korunmak için kimlik doğrulamanın kullanılması gerekir.

Çoklu yayın modu

Bu mod birçok yönden yayına benzer. Aradaki fark, paketleri dağıtmak için IP adres alanının D sınıfı ağlarının çok noktaya yayın adreslerinin kullanılmasıdır. İstemciler ve sunucular için, zaman senkronizasyonu için kullandıkları çok noktaya yayın grubunun adresi belirtilir. Bu, onları bağlayan yönlendiricilerin IGMP protokolünü desteklemesi ve çok noktaya yayın trafiğini iletecek şekilde yapılandırılması koşuluyla, farklı alt ağlarda bulunan makine gruplarının senkronize edilmesini mümkün kılar.

Çok noktaya yayın modu

Bu mod, NTP protokolünün dördüncü versiyonundaki bir yeniliktir. İstemcinin ağ komşuları arasında çok noktaya yayın sunucularını aramasını, bunların her birinden zaman örnekleri almasını (kriptografi kullanarak) ve bu verilere dayanarak istemcinin senkronize olacağı üç "en iyi" çok noktaya yayın sunucusunu seçmesini içerir. Sunuculardan biri arızalanırsa istemci, listesini otomatik olarak günceller.

Zaman örneklerini iletmek için, çok noktaya yayın modunda çalışan istemciler ve sunucular, çok noktaya yayın grup adreslerini (D sınıfı ağlar) kullanır. Aynı adresi kullanan istemciler ve sunucular aynı ilişkiyi oluşturur. İlişkilendirmelerin sayısı, kullanılan çok noktaya yayın adreslerinin sayısına göre belirlenir.

Linux'ta Zaman

Size kısaca Linux'ta saatin kaç olduğunu ve nasıl ayarlanacağını anlatacağım. Linux'ta diğer işletim sistemlerinde olduğu gibi 2 kez vardır. İlk - donanım bazen denir Gerçek Zamanlı Saat, kısaltılmış ( RTC) (BIOS saati olarak da bilinir), genellikle günde birkaç saniyeye kadar doğruluk sağlayan salınımlı bir kuvars kristali ile ilişkilendirilirler. Doğruluk, ortam sıcaklığı gibi çeşitli dalgalanmalara bağlıdır. İkinci saat dahilidir program saati Sistem işletimindeki kesintiler de dahil olmak üzere sürekli olarak meydana gelen. Ağır sistem yükü ve kesinti gecikmesi nedeniyle değişikliklere tabidirler. Ancak sistem genellikle önyükleme sırasında donanım saatini okur ve ardından sistem saatini kullanır.

tarih ve saat işletim sistemi değere göre önyükleme sırasında ayarla donanım saati, Ve saat dilimi ayarları. Saat dilimi ayarları dosyadan alınır /etc/localtime. Bu dosya, dizin yapısındaki dosyalardan birinin bağlantısıdır (ancak daha sıklıkla kopyasıdır) /usr/share/zoneinfo/.

Linux donanım saatleri zamanı şu biçimde saklayabilir: UTC(GMT'ye benzer) veya geçerli bölgesel saat. Hangi saatin (?) ayarlanacağına ilişkin genel öneri şudur: Bilgisayarda birden fazla işletim sistemi yüklüyse ve bunlardan biri Windows ise, o zaman geçerli saati kullanmanız gerekir (çünkü Windows saati BIOS/CMOS'tan alır) ve yerel olarak kabul edilir). Yalnızca çalışan olanlar kullanılıyorsa UNIX sistemleri ailesi için saatin BIOS'ta UTC formatında saklanması tavsiye edilir.

İşletim sistemi önyüklendiğinde işletim sistemi saati ve BIOS saati tamamen bağımsızdır. Sistem çekirdeği, sistem saatini her 11 saniyede bir donanım saatiyle senkronize eder.

Bir süre sonra donanım ve yazılım saatleri arasında birkaç saniyelik fark oluşabilir. Hangi saatler doğru zamanı gösteriyor? Biz ayarlayana kadar ne biri ne de diğeri zaman senkronizasyonu.

Not:

Linux çekirdeği zamanı her zaman gece yarısından bu yana geçen saniye sayısı olarak saklar ve hesaplar. 1 Ocak 1970 Yılın Saatinizin yerel veya evrensel saate ayarlanmış olmasına bakılmaksızın. Yerel saate dönüştürme, istek işlemi sırasında yapılır.

1 Ocak 1970 UTC'den bu yana geçen saniye sayısı imzalı 32 bitlik bir tam sayı olarak saklandığından (bu, Linux/Intel sistemlerinde geçerlidir), saatiniz 2038'de bir ara çalışmayı durduracaktır. Linux'un 2000 yılı sorunu yoktur ancak 2038 yılı sorunu vardır. Neyse ki o zamana kadar tüm Linux sistemleri 64 bitlik sistemlerde çalışacak. 64 bitlik bir tamsayı yaklaşık 292271 milyonuncu yıla kadar saatimizi içerecek.

NTP Sunucusu Linux

giriiş

Linux işletim sistemi için zaman senkronizasyonuna yönelik birçok uygulama vardır. En ünlüleri Xntpd (NTP sürüm 3), ntpd (NTP sürüm 4), Crony ve ClockSpeed'dir. Örneğimizde ntpd sunucusunu kullanacağız.

Ntpd arka plan programı, /etc/ntpd.conf (bazen /etc/ntp.conf) yapılandırma dosyasının ayarlarına bağlı olarak hem bir zaman sunucusu hem de bir istemcidir, arka plan programı uzak sunuculardan zamanı "alabilir" ve "dağıtabilir" diğer ev sahiplerine zaman.

Genel zaman senkronizasyon devresi yerel ağda şu şekildedir: İnternetten zaman alacak küresel ağa erişimi olan 1 veya 2 sunucunuz olması gerekir. Yerel ağdaki tüm bilgisayarlar, İnternet'ten zaman alan belirtilen sunucularla senkronize edilir.

Ntpd'yi yükleme

Aslında, daemon'u yükleme aşağıdaki paketleri kurmakla sınırlı: ntp(arka plan programının kendisini içeren paket), ntp tarihi(manuel zaman senkronizasyonu yardımcı programı güncelliğini kaybetmiştir), ntp-doc(paket belgeleri), bazı dağıtımlarda aynısını yüklemeniz gerekecektir. ntp-utils(tanılama yardımcı programları), bazılarında ntp paketine dahil edilmiştir. Linux'ta programların nasıl kurulacağını anlattım. Paketi yükledikten sonra çoğu dağıtımda arka plan programı zaten bir ntp istemcisi olarak yapılandırılmış olacaktır (örneğin, Debian'da durum böyleydi). Buna göre, ana yapılandırma dosyaları otomatik olarak oluşturuldu: /etc/ntp.conf ve /var/lib/ntp/ntp.drift ve arka plan programı otomatik olarak başlatıldı.

Arka plan programını dış dünyayla senkronize olacak şekilde ayarlamadan önce, mevcut sistem tarihini gerçek zamana mümkün olduğunca yakın bir değere ayarlamanızı tavsiye ederim. Linux'ta tarihi ayarlama komut tarafından üretilir: tarih MMDDhhmmCCYY.ss, burada MM - ay, DD - ayın günü, ss - saat, mm - dakika, CCYY - yılın 4 basamağı, ss - saniye. Aynı zamanda değerler CCYY.ss belirtmek gerekli değildir.

Gördüğünüz gibi belirtilen komut geçerli tarih ve saati 27 Aralık 2010 20:06:30 olarak ayarlayacaktır. tarih komutu parametre olmadan mevcut sistem saatini görüntüler. Bu komutun man date'te bulunabilecek bir dizi parametresi vardır.

Donanım saatini ve saat dilimini de doğru şekilde yapılandırmak gerekir. Yukarıda belirtildiği gibi, saat dilimi kopyalanarak ayarlanır gerekli dosya katalogdaki bölgeler /usr/share/zoneinfo/ dosyalamak /etc/localtime:

Ntp-sunucusu:~# cp /usr/share/zoneinfo/Avrupa/Moskova /etc/localtime

Donanım Saati UTC'ye ayarladım:

# kedi /etc/sysconfig/clock | grep UTC # UTC=true saatin UTC'ye ayarlandığını gösterir; UTC=true ntp2 sunucusu:~# cat /etc/default/rcS | grep UTC UTC=evet

İlk örnek, RH için UTC'nin, ikincisi ise Deb dağıtımları için UTC kullanımını tanımlayan bir yapılandırma dosyasını belirtir.

Ayarları UTC saatini kullanacak şekilde ayarlamanın yanı sıra, donanım zamanı. (çoğu durumda bu gerekli değildir, çünkü belirtilen sistem zamanı çekirdek tarafından kaçınılmaz olarak donanımla senkronize edilir). Ama yine de, eğer bunu yapma arzunuz varsa... hwclock komutu kendisine iletilen parametrelere göre donanım saatini okur ve ayarlar. Kullanılabilir seçenekler komutun kılavuz sayfasında açıklanmıştır. İşte hwclock kullanmanın bazı örnekleri:

Ntp-server# hwclock # donanım saatinden zamanı okur ntp-server# hwclock --systohc --utc # sistem saatine bağlı olarak donanım saat saatini # UTC'ye ayarlar ntp-server# hwclock --systohc # donanım saat saatini # yerel saate ayarlar sistem saatine dayalı zaman ntp-server# hwclock --set --date "22 Mart 2002 13:17" # donanım saatini # belirtilen dizeye ayarlar

Donanım saatindeki saati değiştirmek için başka bir seçenek de sistem önyüklendiğinde BIOS'a erişmektir. İşletim sistemi zamanı donanım saatinden bağımsız olduğundan, bir sonraki açılışta BIOS'ta yapılan herhangi bir değişiklik dikkate alınacaktır.

Artık her şeyi hazırladığımıza ve yüklediğimize göre devam edelim. bir inşaat sahasında.

Ntpd arka plan programını yönetme

Kontrol ntpd arka plan programı diğer şeytanları kontrol etmekten hiçbir farkı yok. Ntpd hizmetini başlatın veya yeniden başlatın:

#/etc/init.d/ntp start #/etc/init.d/ntp restart

Durmak:

#/etc/init.d/ntp stop

#/bin/kill 'cat /var/run/ntpd.pid'

Arka plan programı aşağıdaki başlatma parametrelerine sahiptir:

P - PID dosyası,
-g - büyük zaman sıçramasına geçişe izin ver
-c - yapılandırma dosyası
-q - manuel senkronizasyonu zorla

Ntpd sunucusunu kurma

Öncelikle aşağıdaki konfigürasyon dosyasındaki daemon başlatma parametrelerini değiştirmenizi tavsiye ederim:

Ntp sunucusu:~# cat /etc/default/ntp NTPD_OPTS = "-g"

# cat /etc/sysconfig/ntpd # NTP arka plan programının parametreleri. # Daha fazla ayrıntı için ntpd(8)'e bakın. .... # Ntpd için ek parametreleri belirtir. NTPD_ARGS = "-g"

Bu parametre, çok büyük bir zaman farkı olsa bile saati senkronize etmenize olanak sağlar.

Dediğim gibi konfigürasyon bilgileri ntpd arka plan programı dosyada var /etc/ntp.conf. Dosya sözdizimi diğer birçok yapılandırmada olduğu gibi standarttır: boş satırlar ve "#" karakteriyle başlayan satırlar dikkate alınmaz. İşte basit bir örnek:

Ntp-sunucusu:~# cat /etc/ntp.conf sunucusu ntplocal.example.com sunucuyu tercih eder timeserver.example.org sunucusu ntp2a.example.net driftfile /var/db/ntp.drift

Parametre sunucu senkronizasyon için hangi sunucuların kullanılacağını, her satırda bir tane olacak şekilde belirtir. Sunucu argümanla birlikte verilirse tercih etmek, Nasıl ntplocal.example.com, bu durumda bu sunucuya diğerlerine göre öncelik verilir. Tercih edilen sunucunun yanıtı, diğer sunucuların yanıtlarından önemli ölçüde farklıysa atılacak, aksi takdirde diğer yanıtlara bakılmaksızın kullanılacaktır. Argüman tercih etmek Tipik olarak, özel hassas zaman ekipmanı kullananlar gibi çok doğru olduğu bilinen NTP sunucuları için kullanılır.

Parametre sürüklenme dosyası sistem saat farkını depolamak için kullanılan dosyayı belirtir. Anladığım kadarıyla bu dosya geçmiş zaman ayarlamalarının analizine göre oluşan bir değeri kalıcı olarak saklıyor ve eğer harici zaman kaynakları kullanılamaz hale gelirse dosyadaki değere göre zaman ayarlaması yapılıyor. sürüklenme. Başka herhangi bir işlemle değiştirilmemelidir. Ve bu dosyayı konfigürasyonda belirtmeden önce dosyanın oluşturulması gerekir.

Varsayılan olarak NTP sunucusuna İnternet'teki tüm ana bilgisayarlar erişebilir. Parametre kısıtlamak dosyada /etc/ntp.conf sunucunuza hangi makinelerin erişebileceğini kontrol etmenizi sağlar. İsterseniz tüm makinelerin NTP sunucunuza erişmesini önleyin, aşağıdaki satırı dosyaya ekleyin /etc/ntp.conf:

varsayılanı kısıtla yoksay

İsterseniz izin vermek saatinizi yalnızca sunucunuzla senkronize edin ağınızdaki makineler, Ancak yasaklamak onlara sunucuyu yapılandırma veya zaman senkronizasyonunda eşit katılımcılar olun, ardından yukarıdakiler yerine şu satırı ekleyin:

kısıtlama 192.168.1.0 maske 255.255.255.0 nomodify notrap

burada 192.168.1.0 ağınızın IP adresidir ve 255.255.255.0 ağ maskesidir. /etc/ntp.confçeşitli kısıtlama direktifleri içerebilir.

Arka plan programının doğru ve daha doğru çalışması için, seviyedeki sunucuların seçilmesi tavsiye edilir - katman 2'den (tabii ki stratum1 yapabilirsiniz, ancak böyle bir sunucuyu aramak için zaman harcamanız gerekecektir) ve seçilen katmandan 2 minimum “mesafe” bulunanlar. Genellikle bu tür sunucular İSS'niz tarafından sağlanabilir. Seçilen sunucuların sayısı arzu edilir - 2 ila 3'ten fazla, ne kadar çoksa o kadar iyi, ancak makul sınırlar dahilinde. Seçemeyecek kadar tembelseniz en iyi sunucular, ardından açık ikinci düzey sunucuların listesini buradan alabilirsiniz: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers.

Referans NTP sunucularının listesini seçme

Belirtilen adrese (http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) gidiyoruz ve ilk sunucuların bir listesini seçiyoruz. Bu listeden komut çıktısını analiz ederek gereksinimlerimizi karşılayan sunucuları seçiyoruz. ntp tarihi. Komutu çalıştırırken aşağıdaki sözdizimi kullanılır:

ntpdate parametreleri sunucu_separated by_space

Sorgumuzun sistemde değişiklik yapmamasını sağlamak için sorgunun değişiklik yapmadan kullanımını belirten -q parametresini kullanmalıyız. Ayrıca, komutun hata ayıklama modunda yürütüleceğini belirten -d anahtarını, gerçek değişiklikler yapmadan ek bilgi çıkışıyla kullanmak da mümkündür (bu anahtarla, bir sürü başka çöp görüntülenir :), ki biz bunu yapıyoruz. ihtiyaç şu an gerekli değil). Diğer parametreler man 8 ntpdate'de bulunabilir. Belirtilen bağlantıdan, Rusya'da (RU) + sağlayıcı tarafından sağlanan tüm Açık Erişim sunucularını seçtim ve komutu çalıştırdım, şöyle bir şey ortaya çıktı:

Ntp-sunucusu:~# ntpdate -q ntp2.ntp-servers.net ntp1.vniiftri.ru ntp2.vniiftri.ru ntp4.vniiftri.ru ntp0.ntp-servers.net ntp1.ntp-servers.net ntp3.vniiftri.ru ntp.corbina.net sunucusu 88.147.255.85, stratum 1, ofset 0.006494, gecikme 0.09918 sunucu 62.117.76.142, stratum 1, ofset 0.002552, gecikme 0.06920 sunucusu 62.117.76.141, stratum 1, ofset 0.00314 7, gecikme 0.06918 sunucu 62.117.76.140, katman 1, ofset 0.004823, gecikme 0.07350 sunucu 88.147.254.228, stratum 1, ofset -0.002355, gecikme 0.12030 sunucu 88.147.254.229, stratum 1, ofset -0.000922, gecikme 0.10577 sunucu 62.117.76.138 , katman 1, ofset 0,005331, gecikme 0,07401 sunucusu 195.14 .40.141, katman 2, ofset 0.002846, gecikme 0.07188 13 Ocak 19:14:09 ntpdate: zaman sunucusunu ayarla 62.117.76.141 ofset 0.003147 sn

Örnekte, sunucularımız stratum1 seviyesini başarıyla yayınladı, bu iyi bir haber (sağlayıcının sunucusu hariç), ofset bu sunucuyla saniye cinsinden zaman farkı, gecikme saniye cinsinden senkronizasyon gecikmesidir. Genellikle b HAKKINDA Ağ üzerinden paket aktarımında düşük gecikme süresine sahip sunucular kullanıldığında daha fazla doğruluk elde edilir. Bunu tanımlamak için kullanabilirsiniz. Buna göre, öncelikle yanıt süresi daha kısa olanları ve bunlardan ulaşılması gereken durak sayısı daha az olanları seçin. Zaman kaybetmemek adına belirtilen tüm sunucuları kullanıp konfigürasyon dosyasına gireceğim. Toplamda, yukarıdakilerin hepsini bilerek, ortaya çıkan dosyamı anlatacağım. /etc/ntp.conf:

Ntp-server:~# cat /etc/ntp.conf # Yerel ağ sunucuları (açıklandı, kullanılmıyor - ağda bir sunucu var) #server 192.168.0.2 #server 192.168.0.5 # İnternet sunucuları sunucu ntp2.ntp- sunucular.net sunucu ntp1.vniiftri.ru sunucu ntp2.vniiftri.ru sunucu ntp4.vniiftri.ru sunucu ntp0.ntp-servers.net sunucu ntp1.ntp-servers.net sunucu ntp3.vniiftri.ru sunucu ntp.corbina.net # Sunucu dosyaları driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpstats # sunucuya erişimi kısıtlama: # varsayılan olarak her şeyi yok sayarız kısıtla varsayılan yoksay # parametresiz localhost - bu her şeye izin verildiği anlamına gelir. Parametreler yalnızca yasaklamalar için geçerlidir. kısıtlama 127.0.0.1 # Aşağıda yerel ağ üzerinde senkronize ettiğimiz sunucular açıklanmaktadır. # Onlara tuzaklar ve istekler dışında her şeye izin veriyoruz kısıtlama 192.168.0.2 noquery notrap kısıtlaması 192.168.0.5 noquery notrap # yerel için tuzaklar ve modifikasyonlar dışında her şeye de izin veriyoruz kısıtlama 192.168.0.1 maske 255.255.255.0 nomodify notrap nopeer # harici zaman kaynaklarına izin ver erişim: ntp2.ntp-servers.net'i kısıtla ntp1.vniiftri.ru'yu kısıtla ntp2.vniiftri.ru'yu kısıtla ntp4.vniiftri.ru'yu kısıtla ntp0.ntp-servers.net'i kısıtla ntp1.ntp-servers.net'i kısıtla ntp3.vniiftri.ru'yu kısıtla kısıtlama ntp.corbina.net # ve bu sunucunun (tabakaların) kendisine olan güven seviyesini kısaca 3#'a eşitleyen bir hacktir, seviye ne kadar yüksek olursa sayı o kadar düşük olur. 0 atom saatidir, #1 onunla senkronizedir, 2 ilkiyle senkronizedir, vb. sunucu 127.127.1.1 geçiştirme 127.127.1.1 katman 3

Sunucunun daha derinlemesine anlaşılması ve yapılandırılması için bahsetmediğim bazı ntpd yapılandırma parametrelerini anlatacağım::

  • Etkinleştirme / Devre dışı kimlik doğrulama/monitör/pll/pps/istatistikler - Aç, kapa çalışma modu:
    • yetki- adı geçmeyen komşularla yalnızca kimlik doğrulama modunda iletişim kurun;
    • monitör- isteklerin izlenmesine izin verin;
    • lütfen- yerel saat frekansının NTP aracılığıyla ayarlanmasına izin verin;
    • istatistikler- istatistik toplanmasına izin verin;
  • İstatistikdöngü istatistikleri- yerel saatin her değiştirilmesinde bir dosyaya bir satır yazar döngü istatistikleri;
  • İstatistikakran istatistikleri- bir komşuyla yapılan her iletişim, bir dosyada saklanan bir günlüğe kaydedilir akran istatistikleri;
  • İstatistiksaat istatistikleri- yerel saat sürücüsünden gelen her mesaj, bir dosyada saklanan bir günlüğe yazılır saat istatistikleri;
  • istatistik dizini(catalog_name_with_statistics)- sunucu istatistiklerine sahip dosyaların bulunacağı dizinin adını belirtir;
  • filegen - aşağıdakilerden oluşan dosya adlarını oluşturmak için bir algoritma tanımlar:
    • önek- derleme sırasında veya özel yapılandırma komutlarıyla ayarlanan dosya adının sabit kısmı;
    • dosya adı- öneke eğik çizgi olmadan eklenir, iki nokta yasaktır, dosya anahtarıyla değiştirilebilir;
    • son ek- tür adına bağlı olarak oluşturulur;
  • kısıtlamaksayısal adres- erişim kısıtlamalarını belirler: paketler sıralanır ve maskelenir, kaynak adresi alınır ve sırayla karşılaştırılır, son başarılı karşılaştırmadan bir bayrak alınır erişim:
    • bayrak yok- erişim izni verin;
    • görmezden gelmek- tüm paketleri yoksay;
    • sorgu yok- NTP 6 ve 7 paketlerini göz ardı edin (talep ve durum değişikliği);
    • değişiklik yapmama- NTP 6 ve 7 paketlerini göz ardı edin (durum değişikliği);
    • sınırlı- belirli bir ağdan yalnızca sınırlı sayıda müşteriye hizmet vermek;
    • hayır- ana bilgisayara hizmet verin, ancak onunla senkronize etmeyin;
  • müşteri limitisınır- bayrak için sınırlı hizmet verilen maksimum müşteri sayısını belirler (varsayılan olarak 3);

Yani, ntpd-server'ımız var Dış dünyayla senkronize olan 192.168.0.1 yerel ağındaki istemciler için 255.255.255.0 maskesiyle zaman almanıza olanak tanır ve ayrıca yerel sunucuyla da senkronize edilebilir (birkaç satırın açıklamasını kaldırırsanız). Tek yapmamız gereken istemcileri kurmak ve sunucumuzu nasıl izleyeceğimizi öğrenmek.

Ntpd sunucusunun izlenmesi ve senkronizasyon

Her şeyi ayarladıktan sonra. NTP zamanı senkronize tutacaktır. Bu işlem NTP Sorgu (ntpq) komutu kullanılarak gözlemlenebilir:

Ntp-sunucusu:~# ntpq -p yoklama ulaştığında uzaktan yeniden bildirim st t gecikme ofset titreşimi ============================== =================================================== ============ -n3.time1.d6.hsd.PPS. 1 u 34 64 177 70.162 2.375 8.618 +ntp1.vniiftri.r .PPS. 1 u 33 64 177 43.479 -0.020 10.198 *ntp2.vniiftri.r .PPS. 1 u 6 64 177 43,616 -0,192 0,688 +ntp4.vniiftri.r .PPS. 1 u 4 64 177 43.623 0.440 0.546 -n1.zaman1.d6.hsd .PPS. 1 u 53 64 77 92.865 -11.358 38.346 -ns1.hsdn.org .GPS. 1 u 40 64 177 78.057 -3.292 35.083 -ntp3.vniiftri.r .PPS. 1 u 44 64 77 47.667 2.292 2.611 -scylla-l0.msk.c 192.43.244.18 2 u 62 64 77 41.565 -1.564 28.914

-p anahtarına sahip bu komut, standart çıktıya, özellikleriyle birlikte zaman kaynaklarının bir listesini yazdırır (kalan komut parametreleri man ntpq cinsindendir). Her sütunun anlamı aşağıdaki gibidir:

Uzak NTP sunucusunun adı. -n anahtarını belirtirseniz adlar yerine sunucu IP adreslerini alırsınız.

Her sunucunun şu anda saatini nereden aldığını gösterir. Bu, kaynağı belirten bir ana bilgisayar adı veya .GPS gibi bir şey olabilir. küresel sistem konumlandırma (Küresel Konumlandırma Sistemi).

Katman (seviye), sunucunun doğruluğunu gösteren 1'den 16'ya kadar bir sayıdır. Biri maksimum doğruluk anlamına gelir, 16 ise sunucunun kullanılamadığı anlamına gelir. Seviyeniz, en az doğru olan uzak sunucunun seviyesi artı 1'e eşit olacaktır.

Anketler arasındaki aralık (saniye cinsinden). Değer minimum ve maksimum yoklama oranları arasında değişecektir. Senkronizasyonun hızlı gerçekleşmesi için başlangıçta aralık küçük olacaktır. Saatler senkronize edildikten sonra, popüler zaman sunucularındaki trafiği ve yükü azaltmak için aralık artmaya başlar.

Sunucuya bağlanmak için yapılan son sekiz denemenin sonuçlarını yansıtan 8 bitlik bir dizinin sekizlik gösterimi. Uzak sunucunun yanıt vermesi durumunda bit ayarlanır.

“Saat kaç?” sorusuna yanıt almak için gereken süre (saniye cinsinden).

En önemli alan. Yerel saat ile yerel saat arasındaki fark uzak sunucular. Senkronizasyon ilerledikçe bu değerin azalması (sıfıra yaklaşması) gerekir; bu da saatin yerel makine daha doğru hale geliyor.

Dağılım (Jitter), birkaç başarılı istek-yanıt çifti üzerinden ofset değerinden (offset alanı) istatistiksel sapmaların bir ölçüsüdür. Daha doğru zaman senkronizasyonuna izin verdiği için daha düşük bir dağılım değeri tercih edilir.

Sunucu adlarından önceki karakterlerin anlamları

x - kesişim algoritmasına göre sahte kaynak;
. - mesafe nedeniyle aday listesinden çıkarıldı;
- - kümeleme algoritması tarafından aday listesinden çıkarıldı;
+ - nihai aday listesine dahil edilmiştir;
# - senkronizasyon için seçildi, ancak en iyi 6 aday var;
* - senkronizasyon için seçildi;
o - senkronizasyon için seçildi, ancak PPS kullanıldı;
boşluk - çok büyük bir seviye, bir döngü veya bariz bir hata;

ntpd hizmeti“akıllı”dır ve mantığın sınırlarının çok dışında kalan zaman kaynaklarını ayıklar. Başladıktan bir süre sonra ntpd en güvenilir veri kaynaklarını seçecek ve onlarla senkronize olacaktır. Sunduğumuz referans NTP sunucularının listesi hizmet tarafından düzenli olarak incelenmektedir.

Sunucuda yerel olarak senkronizasyon olasılığını şu komutla kontrol edebilirsiniz:

Ntp-server:~# ntpdate -q localhost sunucusu 127.0.0.1, stratum 2, ofset -0.000053, gecikme 0.02573 sunucu::1, stratum 2, ofset -0.000048, gecikme 0.02571 14 Ocak 14:49:57 ntpdate: sunucu saatini ayarla ::1 ofset -0,000048 sn

Komut çıktısından sunucumuzun zaten katman 2 olduğu açıktır. bu seviye, biraz zaman alır. Belki ilk 10-15 dakikada sunucu seviyesi daha yüksek olacaktır.

Ntp sunucusunun doğru çalışması, ntpd arka plan programının günlüklerinden de değerlendirilebilir:

Ntp-server:~# cat /var/log/ntpstats/ntp 13 Ocak 20:13:16 ntpd: 5 numaralı arayüzde dinleniyor eth0, fe80::a00:27ff:fec1:8059#123 Etkinleştirildi 13 Ocak 20:13: 16 ntpd: 6 numaralı arayüzde dinleme eth0, 192.168.0.8#123 Etkin 14 Ocak 14:31:00 ntpd: 62.117.76.142 ile senkronize edildi, stratum 1 14 Ocak 14:31:10 ntpd: zaman sıfırlama +10.291312 sn 14 Ocak 14 :31:10 ntpd: çekirdek zamanı senkronizasyon durumu değişikliği 0001 14 Ocak 14:34:31 ntpd: 88.147.255.85 ile senkronize edildi, stratum 1 14 Ocak 14:36:04 ntpd: 62.117.76.141 ile senkronize edildi, stratum 1 14 Ocak 15: 04:36 ntpd: 62.117.76.142 ile senkronize edildi, stratum 1 14 Ocak 15:10:58 ntpd: 62.117.76.140 ile senkronize edildi, stratum 1 14 Ocak 15:17:54 ntpd: sunuculara erişilemiyor 14 Ocak 15:31:49 ntpd : 62.117.76.140 ile senkronize edildi, katman 1 14 Ocak 15:32:14 ntpd: zaman sıfırlama +13.139105 s

Bir NTP sunucusu için netfilter (iptables) kurulumu

Sunucuyu yapılandırdıktan sonra onu korumak iyi bir fikir olacaktır. Sunucunun 123/udp bağlantı noktasında çalıştığını ve isteklerin de 123/udp bağlantı noktasından gönderildiğini biliyoruz. Makaleyi okuduktan ve pratik olanlara alıştıktan sonra ağ trafiğini filtrelemek için kurallar oluşturabilirsiniz:

Ntp ~ # iptables-save # DNS için tipik iptables kuralları *filtre:INPUT DROP :FORWARD DROP :OUTPUT DROP -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate İLİŞKİLİ, KURULU -j ACCEPT -A INPUT -m bağlantı --ctstate GEÇERSİZ -j DAMLA # NTP sunucusuna yerel ağ erişimine izin ver: -A GİRİŞ -s 192.168.1.1/24 -d 192.168.1.1/32 -p udp -m udp --dport 123 -m bağlantı - -ctstate YENİ -j KABUL -A ÇIKIŞ -o lo -j KABUL -A ÇIKIŞ -p icmp -j KABUL -A ÇIKIŞ -p udp -m udp --sport 32768:61000 -j KABUL -A ÇIKIŞ -p tcp - m tcp --sport 32768:61000 -j KABUL -A ÇIKIŞ -m conntrack --ctstate İLGİLİ, KURULU -j KABUL # NTP sunucusunun giden isteklerde bulunmasına izin ver -A ÇIKIŞ -p udp -m udp --sport 123 -- dport 123 -m conntrack --ctstate YENİ -j KABUL ET

Bu tipik bir örnek! İptables kurallarını görevlerinize ve ağ yapılandırmanıza uyacak şekilde ayarlamak için yukarıdaki makaleleri okuyarak netfilter'ın Linux'ta nasıl çalıştığını anlamanız gerekir.

İstemci makinelerini ayarlama

UNIX makinelerinde zamanı senkronize etmek için Yerel ağda, ntpdate yardımcı programını günde birkaç kez, örneğin saat başı çalıştırarak kullanmanız önerilir. Bunu yapmak için aşağıdaki satırı eklemeniz gerekir:

0 * * * * /usr/sbin/ntpdate -s

-s anahtarı komutun çıktısını yönlendirir. İstemci makinelerde fazladan birkaç megabayt RAM varsa, ntpd arka plan programını tıpkı sunucuda olduğu gibi aşağıdaki yapılandırmayla çalıştırabilirsiniz:

Sunucu varsayılanı kısıtla yoksay kısıtla noquery notrap kısıtlaması 127.0.0.1 nomodify notrap

Bu yapılandırmada her şeyin açık olduğunu düşünüyorum: zaman kaynağı (sunucu) yerel bir ntpd sunucusudur, herkesin erişimini reddet, yalnızca yerel ntpd sunucusuna izin ver.

Ayrıca istemcilerde saatin hangi formatta saklanacağını doğru bir şekilde belirtmeniz ve doğru saat dilimini seçmeniz gerekir.

Windows NTP istemcisini yapılandırmak için, konsolda aşağıdaki komutları çalıştırmanız gerekir:

C:\>net zaman /setsntp: Komut başarıyla tamamlandı. C:\>net stop w32time Windows Saati hizmeti durduruluyor. Windows Saati hizmeti başarıyla durduruldu. C:\>net start w32time Windows Saati hizmeti başlatılıyor. Windows Saati hizmeti başarıyla başlatıldı. C:\>net time /querysntp Geçerli SNTP değeri: Komut başarıyla tamamlandı.

Çözüm

İşte bu kadar! Makalenin hacmi çok büyük çıktı... Bunu beklemiyordum bile. Yukarıdakileri özetleyeyim. Bu yazıda umarım NTP sunucusunun ne olduğu ve nasıl çalıştığı bizim için netleşmiştir. UNIX ve Windows makinelerde sunucu ve istemcilerin nasıl yapılandırılacağını öğrendik. Yerel ağda zaman senkronizasyonunun yapısı kısaca şu şekildedir: Yerel ağda 1.2 veya daha fazla zaman sunucusu vardır, bunlar zamanlarını harici kaynaklarla senkronize ederler. küresel ağ. Sunucu ve istemci ayarları, /etc/ntp.conf (ntpd arka plan programının ana yapılandırma dosyası), /etc/localtime (geçerli saat dilimi dosyası) ve ayrıca /etc/sysconfig/ntp (RH için) dosyalarına dayanır. ) ve /etc/default /ntp (Deb için) - daemon başlatma parametre dosyaları. Yerel bir ntp sunucusu için, yapılandırma dosyası, zaman elde etmek için harici sunucuları belirtir ve bu sunuculara, kısıtlama parametresini kullanarak erişime izin verir ve ayrıca yerel ağ bilgisayarları için, istemciler için zaman kaynağı belirtilir - yerel sunucular yerel ağdaki zaman kaynağı dışında herkesin erişimini yasaklar. Tüm. İlginiz için hepinize teşekkür ederim! Yorum yapmaktan memnuniyet duyacağım!

  • (makale arşivi), kendi Stratum1 seviyesinde tam zaman sunucunuzu düzenlemek için GPS'i sunucuya nasıl bağlayacağınızı açıklar.
  • bir ntp sunucusunda yetkilendirmenin nasıl yapılandırılacağını açıklar.

Öncelikle anahtarlar, yönlendiriciler, güvenlik duvarları vb. ekipmanlarda zamanı neden senkronize etmemiz gerektiğine karar verelim.

Bu öncelikle şu veya bu olayın ne zaman gerçekleştiğini günlükleri kullanarak izlemek için yapılır. Ve eğer zaman senkronize edilmezse kayıtların ne işe yarayacağını tahmin edebilirsiniz... bu doğru - hiçbiri.

Protokol NTP protokole dayalı çalışır UDP, başından sonuna kadar 123 bağlantı noktası.

Bu protokolün sistemleri senkronize etmek için belirli bir hiyerarşisi, yani seviyeleri vardır.

Seviye 1, GPS gibi yüksek hassasiyetli bir saatle senkronize edilen bir sisteme atanır.

Düzey 1'den eşitlenecek bir sistem Düzey 2'ye sahip olacaktır ve bu şekilde devam edecektir.

Böylece senkronize olduğumuz istasyonun saatinin ne kadar doğru olduğunu tespit edebiliyoruz.

Bizim durumumuzda, ağda kesin zamanı olan bir makinemiz var, onu FreeBSD'ye göre yapılandırdım, bu makineden ana ağ cihazı zaman alacak (senkronizasyon) ve böylece diğerleri için ana cihaz olacak ağ cihazları(ideolojide cisco ntp ustası olacaktır).

Zamanın NTP üzerinden yalnızca formatta iletildiğini belirtmek isterim. UTC (Greenwich), her saat dilimi doğrudan donanım üzerinde yapılandırılır.

Basit bir NTP kurulumu örneğine bakalım.

Öncelikle ana yönlendiricimizdeki (diğer ağ cihazlarına dağıtılacak olan) saati senkronize edelim.Bunu yapmak için genel yapılandırma moduna geçin:

ntp sunucusu 10.0.100.254

burada, bizim durumumuzda 10.0.100.254, kesin zamanı olan bir FreeBSD makinesidir.

Bu minimum kurulum için yeterlidir.

Şimdi zaman sunucusuna bağlanıp zaman alamadığımızı kontrol edelim, bunun için şu komutu kullanıyoruz:

şöyle bir şey görmelisiniz:

Ntp sunucumuzun ipinin karşısındaki yıldız işareti bize her şeyin yolunda olduğunu, bağlantının en azından kurulduğunu söylüyor.

Şimdi bakalım zaman senkronize edilmiş mi?

Her şey senkronize edilmişse aşağıdakileri görmeliyiz:

Saat alındı, şimdi orada ihtiyacınız olan saat dilimini ayarlamanız gerekiyor.Ayrıca global yapılandırma modunda aşağıdakileri de yapıyoruz:

saat saat dilimi MSK/MSD 3
Şimdi zamanı kontrol edelim:

Her şey harika.

Yönlendiricimizi ana modda ayarlamaya geçelim.

Bu kurulum için bu router'ı master yapıp seviyeyi belirtmemiz gerekiyor (Cisco'da buna tabaka numarası denir), başta bahsettiğim seviyenin aynısını, beşinci seviyeyi belirteceğim.

Şimdi başka bir ayarlayıcı cihazda ntp'yi ana yönlendiricimizle senkronize olacak şekilde yapılandırmayı deneyelim; bu, yukarıdaki FreeBSD sunucusuyla senkronizasyonu ayarladığımızla aynı şekilde yapılır.

ntp sunucusu 10.0.100.1 tercih

burada 10.0.100.1 baş yönlendiricimizdir.

tercih etmek bu, bu ntp sunucusunun öncelikli olduğunu belirten bir anahtar kelimedir (yani, bir sunucudan değil, birden fazla sunucudan senkronizasyon yapabileceğinizi belirtebilirsiniz, bu, eğer biri kullanılamıyorsa veya saat çok farklıysa) yapılır. diğerleri, hangi problemlerin yaşandığını belirtir, cihazın başka bir zaman sunucusuna geçebilmesi ve tercih edilmesi, bu sunucuyu diğerlerine göre daha tercih edilir hale getirir.)

Ayrıca ihtiyacımız olan saat dilimini de belirtiyoruz.

saat saat dilimi MSK/MSD 3

Kontrol ediyoruz:

Her şey harika, her şey çalışıyor.

Şimdi güvenlik konusuna bakalım.

Başlangıç ​​olarak, kimin senkronizasyon yapıp kimin yapamayacağına dair ACL kullanımının kısıtlanması konusuna bakalım.

Her şey oldukça standart ve şeffaf.

Zaman sunucusunda ilgili ACL'yi oluşturuyoruz:

erişim listesi 20 açıklama NTP Senkronizasyonuna ERİŞİMerişim listesi 20 izin 10.0.100.3

Şimdi bu erişim listesini ntp'ye bağlayalım.

ntp erişim grubu yalnızca hizmet 20

Her şey doğru yapılandırılırsa ntp sunucusuyla iletişim kurulacak ve senkronizasyon başarılı olacaktır.

Ayrıca istemcilere bir erişim listesi de kaydedebilirsiniz. Hangi zaman sunucularına erişilebileceği. Bu benzer şekilde yapılır:

erişim listesi 20 açıklama NTP Sunucusuna ACCESS SYNCerişim listesi 20 izin 10.0.100.1

Erişim listesini NTP'ye bağlayın

ntp erişim grubu eş 20

Şimdi kimlik doğrulama tabanlı güvenliğe bakalım.

Ayrıca her şey oldukça şeffaf.

NTP konfigürasyonuna aşağıdakileri eklemeniz yeterlidir:

ntp kimlik doğrulama anahtarı 1 md5 15060E1F10243F34 7ntp kimlik doğrulamasıntp güvenilir anahtar 1
İlk komutla kimlik doğrulama anahtarını belirliyoruz, ikinciyle kimlik doğrulamayı etkinleştiriyoruz ve üçüncüyle kimlik doğrulamanın ilk anahtar kullanılarak yapılması gerektiğini belirtiyoruz.Bunu her iki tarafta (sunucu - istemci) yapılandırıyoruz.Aslında hepsi bu. Sonuç, Cisco cihazlarında NTP kurulumuna ilişkin kısa bir giriş dersidir. Hata ayıklama için şunları kullanırız:
ASW-M#ntp'de hata ayıklama?NTP saat ayarlarını yapınkimlik doğrulama NTP kimlik doğrulamasıolaylar NTP olaylarıdöngü filtresi NTP döngü filtresipaketler NTP paketleriparametreler NTP saat parametreleriRefclock NTP referans saatiNTP saat seçimini seçinNTP saat senkronizasyonunu senkronize etgeçerlilik NTP eş saat geçerliliğiASW-M#hata ayıklama ntp
Olaylar, senkronizasyon, kimlik doğrulama gibi ilgimizi çeken her şeyi açıyoruz ve ne olduğunu görüyoruz. Cihaza ssh/telnet üzerinden giriş yaparsak ter mon'u unutmayın :)


Tepe