NTP Nedir? Linux Sunucuda Zaman Senkronizasyonu Nasıl Ayarlanır?

NTP nedir ve ne işe yarar?
NTP (Network Time Protocol), bilgisayarların saatini ağ üzerinden güvenilir bir zaman kaynağıyla eşitleyen protokoldür. Güncel sürümü NTPv4, RFC 5905 belgesinde tanımlıdır. Sunucunuz doğru zamanı sorar, sapmayı hesaplar ve saati yavaşça düzeltir. Haberleşme UDP 123 portu üzerinden yürür.
Bu yazıda NTP nedir sorusunu web sitesi sahibi, e-ticaret yöneticisi ve yazılımcı gözüyle ele alıyoruz. Biz dijital pazarlama ve web ekibiyiz, hosting firması değiliz. Bu yüzden anlatımımız resmi dokümanlara ve standartlara dayanır. Komutları kendi sisteminizde denemeden önce dağıtımınızın belgesini mutlaka kontrol edin.
Önce zamanın neden bu kadar önemli olduğunu, ardından hosting seçimi ve altyapı kararlarınızla nasıl ilişkili olduğunu göreceksiniz.
Sunucu saati yanlış olursa neler bozulur?
Yanlış saat, görünürde ilgisiz birçok sorunun gizli sebebidir. Çünkü güvenlik, kayıt ve zamanlama mekanizmalarının hepsi aynı saate güvenir. Saat birkaç dakika bile kayarsa şu belirtileri görebilirsiniz:
- Sunucunuzdan dışarıya yapılan HTTPS bağlantıları, sertifikanın başlangıç ve bitiş tarihlerini (notBefore ve notAfter) sizin saatinize göre denetler. Saatiniz geri kalırsa geçerli sertifikaya "henüz geçerli değil" hatası verebilir.
- İki adımlı doğrulama kodları (TOTP) zamana dayanır. RFC 6238 varsayılan olarak 30 saniyelik adımları kullanır.
- Log kayıtları birbirini tutmaz. Birden fazla sunucunun kaydını karşılaştırmak neredeyse imkansız hale gelir.
- Zamanlanmış görevler (cron) beklenen anda tetiklenmez ya da iki kez tetiklenir.
- Zaman damgası kontrol eden API'ler, imzalı isteklerinizi geri çevirir.
Örneğin sunucunuzdan ödeme sağlayıcısına bağlanırken SSL sertifikası hatası alırsanız, önce sertifikaya değil sunucunun saatine bakın. Ziyaretçilerinizin gördüğü sertifika hataları ise çoğunlukla başka bir konudur.
Saat sorunu bir web sitesi sahibini neden ilgilendirir?
Sunucu saati teknik bir ayrıntı gibi görünür, oysa sitenizin iş sonuçlarına dokunur. NTP nedir sorusunu yalnızca sistem yöneticileri sormaz. E-ticaret sahibi, pazarlama yöneticisi ve yazılım ekibi de aynı cevaba ihtiyaç duyar.
Düşünün ki sitenizde saat bazlı bir indirim kampanyası var. Sunucu saati geride kalırsa kampanya geç başlar ya da geç biter. Siparişlerin zaman damgası da yanlış olur. Dolayısıyla sipariş raporlarını reklam raporlarıyla karşılaştırdığınızda tutarsızlık görürsünüz.
Benzer şekilde sunucu loglarını analitik verisiyle birlikte okuyorsanız, saat sapması olayların sırasını bozar. Bir hatanın ardından ziyaretçi kaybı mı yaşandı, yoksa tersi mi oldu, anlamak zorlaşır. Böylece teknik bir sapma, pazarlama kararlarınızı yanlış yöne çekebilir.
E-posta kampanyaları ve zamanlanmış yayınlar da aynı riske açıktır. Sunucu saati yanlışsa haber bülteni yanlış saatte çıkar, blog yazısı planlanandan önce ya da sonra yayına girer. Üstelik bu tür hatalar, kimse sorunu bildirene kadar fark edilmez. Düzenli bir zaman kontrolü, bu sürprizleri baştan engeller.
Bu yüzden zaman senkronizasyonunu altyapı kontrol listenize koymanızı öneriyoruz. Bunu hosting seçerken sağlayıcıya sormak da mümkündür.
Sunucu saati neden kayar ve NTP nedir bunu nasıl düzeltir?
Her bilgisayar saati, donanımdaki bir kristal osilatörün titreşimini sayarak tutar. Bu kristal sıcaklığa ve üretim farklarına göre biraz hızlı ya da yavaş çalışır. Küçük bir fark bile günler içinde gözle görünen bir sapma yaratır.
Sanal sunucularda durum daha belirsizdir. Sanal makine duraklatılabilir ya da başka bir fiziksel makineye taşınabilir. Bu durumda konuk sistemin saati bir anda sıçrayabilir.
NTP burada iki işi birlikte yapar. Önce uzak sunucuyla arasındaki farkı (offset) ölçer. Ardından yerel saatin hızını ince ayarla düzeltir. Küçük farklarda saati "yavaşlatıp hızlandırır", buna slew denir. Çok büyük farklarda ise saati bir kerede atlatır, buna step denir.
Böylece uygulamalar çoğu zaman geriye doğru sıçrayan bir saat görmez. Yine de ilk açılışta step gerekebilir.
Stratum nedir, NTP zaman kaynakları nasıl katmanlanır?
Stratum, bir zaman kaynağının hassas referans saatten kaç adım uzakta olduğunu gösteren sayıdır. Atom saati ya da GPS alıcısı gibi referans saatlere stratum 0 denir. Onlara doğrudan bağlı sunucu stratum 1 olur. Sonrasında her adımda sayı bir artar.
| Stratum | Anlamı | Örnek |
|---|---|---|
| 0 | Referans saat (ağ üzerinde sunucu değil) | GPS alıcısı, atom saati |
| 1 | Referans saate doğrudan bağlı sunucu | Kurumların ve kamu kuruluşlarının zaman sunucuları |
| 2 | Stratum 1 sunucudan zaman alan sunucu | Üst katmandaki sunuculardan zaman alan ağ sunucuları |
| 3 ve üstü | Bir üst katmandan zaman alan istemciler | Sizin sunucunuz |
| 16 | Senkronize değil | Henüz zaman alamamış sistem |
Yani düşük stratum her zaman daha doğru demek değildir. Ağ gecikmesi ve kaynağın kalitesi de sonucu etkiler. Web siteniz için stratum 2 ya da 3 bir kaynak genellikle fazlasıyla yeterlidir.
NTP nedir, chrony ve systemd-timesyncd arasındaki fark nedir?
NTP bir protokoldür, onu uygulayan farklı yazılımlar vardır. Linux sunucularda en sık karşılaştığınız üçü ntpd, chrony ve systemd-timesyncd'dir. Hangisinin varsayılan olduğu dağıtıma göre değişir. Bu yüzden önce sisteminizde ne çalıştığına bakmanız gerekir.
| Yazılım | Ne yapar? | Ne zaman uygundur? |
|---|---|---|
| ntpd | NTP'nin klasik referans uygulaması | Eski kurulumlarda ve mevcut yapılandırmaya uyum gerektiğinde |
| chrony | Tam özellikli NTP istemcisi ve sunucusu | Sanal sunucular, kesintili bağlantılar ve ayrıntılı ölçüm isteyen sistemler |
| systemd-timesyncd | Saati eşitleyen basit istemci | Yalnızca saati doğru tutmak isteyen sade sunucular |
Aynı anda birden fazla zaman istemcisi çalıştırmayın. İkisi saati birbirinden bağımsız ayarlamaya çalışırsa tutarsızlık doğar. Dağıtımlar genellikle birini kurunca ötekini devre dışı bırakır. Yine de timedatectl çıktısıyla doğrulamanızı öneririz.
Sunucunuzun saati şu an senkron mu, nasıl kontrol edersiniz?
Hiçbir şeyi değiştirmeden önce mevcut durumu okuyun. Çoğu modern Linux dağıtımında timedatectl komutu bunun için yeterlidir. Komut sistem saatini, saat dilimini ve senkronizasyon durumunu birlikte gösterir.
timedatectl status
date -u
systemctl status systemd-timesyncd
systemctl status chrony
Çıktıda iki satıra bakın. "System clock synchronized: yes" saatin ağ zaman servisiyle eşitlendiğini gösterir. "NTP service: active" ise zaman servisinin çalıştığını belirtir. Eski sürümlerde ilk satırın etiketi farklı olabilir.
RHEL ailesinde servis adı chronyd, Debian ve Ubuntu ailesinde chrony olur. Hangisi yoksa komut "unit not found" benzeri bir hata verir. Bu hata bozulma anlamına gelmez, yalnızca o servisin kurulu olmadığını söyler.
pool.ntp.org nedir, hangi adresleri yazmalısınız?
pool.ntp.org, gönüllülerin işlettiği çok sayıda NTP sunucusunu tek bir alan adı altında toplayan genel bir havuzdur. Resmi kullanım sayfasına göre 0, 1, 2 ve 3 önekli adresler, saatte bir değişen rastgele sunucu kümelerine işaret eder.
- Genel adresler: 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org ve 3.pool.ntp.org.
- Bölgesel adreslerde kıta ya da ülke kodunu kullanırsınız. Resmi sayfa örnek olarak İsviçre için ch.pool.ntp.org adresini gösteriyor.
- IPv6 adresi yalnızca 2 önekli bölge adlarında gelir. Örneğin 2.pool.ntp.org hem IPv4 hem IPv6 döndürür.
- Resmi sayfa, yapılandırmanızda dörtten fazla zaman sunucusu kullanmamanızı tavsiye ediyor.
Ayrıca pool sahipleri, burst ya da çok kısa minpoll gibi hileleri yük bindirdiği için açıkça istemez. Hayati önem taşıyan sistemlerde ise zamanı doğrudan internetten almayın, yerel bir zaman sunucusu kurun. Ayrıntılar için resmi kullanım sayfasını okuyun.
Ayar dosyasını değiştirmeden önce nelere dikkat edersiniz?
Zaman servisine dokunmak basit görünür ama canlı sunucuda dikkat ister. Önce var olan ayarın bir kopyasını alın, sonra değişikliği küçük adımlarla yapın. Böylece bir sorun çıkarsa eski haline hızla dönebilirsiniz.
- Ana yapılandırma dosyasının yanına tarihli bir kopya bırakın.
- Mümkünse ana dosyayı değil, ek yapılandırma dosyasını kullanın.
- Her seferinde yalnızca bir ayarı değiştirin, sonra servisi yeniden başlatın.
- Değişiklikten sonra durumu doğrulamadan oturumu kapatmayın.
Ayrıca bakım saatini önceden planlayın. Sunucuda yoğun sipariş trafiği varken saat ayarıyla uğraşmak gereksiz risk yaratır. NTP nedir diye araştırıp kurulumu aceleyle yapan ekipler, çoğu zaman ilk denemede yalnızca servisi kapatmayı unutuyor.
Kalıcılığı da doğrulayın. Servisi yalnızca başlatmak yetmez, açılışta çalışacak şekilde etkinleştirmeniz gerekir. Önceki bölümlerdeki enable --now komutu bunu tek adımda yapıyor.
systemctl is-enabled chrony
timedatectl status
Komut, etkin servis için enabled yazar. RHEL ailesinde servis adı chronyd olur. Planlı bakım sırasında sunucuyu yeniden başlatıp senkron durumuna tekrar bakmanız, ayarın gerçekten kalıcı olduğunu gösterir.
Elinizde yedek yoksa önce yedekleme stratejisini oluşturun. Sonra altyapı ayarlarına geçin.
systemd-timesyncd ile NTP nasıl ayarlanır?
systemd-timesyncd, birçok dağıtımda hazır gelen sade bir zaman istemcisidir. Yapılandırma dosyası /etc/systemd/timesyncd.conf yolundadır. Resmi belgeye göre /etc/systemd/timesyncd.conf.d/ altındaki ek dosyalar ana dosyadan önceliklidir. Bu nedenle ana dosyaya dokunmak yerine ek dosya yazmak daha temiz bir yoldur.
sudo mkdir -p /etc/systemd/timesyncd.conf.d
sudo nano /etc/systemd/timesyncd.conf.d/60-ntp.conf
[Time]
NTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org
FallbackNTP=3.pool.ntp.org
sudo systemctl restart systemd-timesyncd
timedatectl timesync-status
NTP satırı birincil sunucuları, FallbackNTP satırı yedekleri tanımlar. Yedekler yalnızca başka sunucu bilgisi yoksa devreye girer. Ardından timedatectl set-ntp true komutuyla ağ saat eşitlemesinin açık olduğundan emin olun.
Kısacası timesyncd kurulumu iki dosya ve bir yeniden başlatmadan ibarettir. Ayrıntılı ölçüm istiyorsanız chrony'ye geçmeniz daha mantıklı.
chrony nasıl kurulur ve yapılandırılır?
chrony, sanal sunucularda ve ağı zaman zaman kesilen sistemlerde sık tercih edilen bir NTP uygulamasıdır. Kurulum komutu dağıtım ailesine göre değişir. Servis adı ve yapılandırma dosyası yolu da farklıdır.
# Debian ve Ubuntu
sudo apt install chrony
sudo systemctl enable --now chrony
# RHEL ailesi
sudo dnf install chrony
sudo systemctl enable --now chronyd
Yapılandırma dosyasının yolu dağıtıma bağlıdır. chrony belgesinde derleme sırasındaki varsayılan yol /etc/chrony.conf olarak geçer. Debian ailesi ise genellikle /etc/chrony/chrony.conf kullanır. Kendi sisteminizde dosyanın yerini paket belgesinden doğrulayın.
Dosyada üç satır işinizi görür:
pool 2.pool.ntp.org iburst
makestep 1.0 3
rtcsync
Pool satırı kaynakları bulur. Resmi belgeye göre iburst, ilk senkronizasyonu hızlandırmak için başlangıçta kısa bir istek dizisi gönderir. Makestep, ilk üç güncellemede fark 1 saniyeyi aşarsa saatin atlatılmasına izin verir. Rtcsync ise donanım saatini senkron durumda düzenli olarak ayarlar.
chronyc ile senkronizasyonu nasıl doğrularsınız?
Kurulum bitince çalıştığını görmeden bırakmayın. chrony iki temel komut sunar. İlki, chronyc tracking, sistem saatinin durumunu özetler. İkincisi, chronyc sources -v, kaynakların tek tek durumunu gösterir.
chronyc tracking
chronyc sources -v
chronyc sourcestats
Resmi belgeye göre tracking çıktısındaki alanlar şu anlama gelir:
| Alan | Ne gösterir? |
|---|---|
| System time | NTP saatiyle sistem saati arasındaki fark |
| Last offset | Son güncellemedeki tahmini yerel sapma |
| RMS offset | Sapma değerinin uzun vadeli ortalaması |
| Stratum | Referans saatten kaç adım uzakta olduğunuz |
| Leap status | Normal, saniye ekleme, saniye silme ya da senkronize değil |
Leap status satırında "Not synchronised" görüyorsanız saat henüz eşitlenmemiştir. Birkaç dakika bekleyip komutu tekrar çalıştırın.
chronyc sources çıktısındaki işaretler ne anlama gelir?
Sources çıktısında her satırın başında iki karakter durur. İlki kaynağın türünü, ikincisi seçim durumunu gösterir. Bu işaretleri okumak, sorunun ağda mı yoksa kaynakta mı olduğunu anlamanızı sağlar.
- Yıldız (*), chrony'nin şu anda en iyi saydığı kaynağı gösterir.
- Artı (+), senkronizasyonda kullanılan diğer kaynakları gösterir.
- Eksi (-), uygun olan ama şu an kullanmadığı kaynağı gösterir.
- x işareti, çoğunluğa ters düşen, yani yanlış zaman veren kaynağı gösterir.
- Tilde (~), fazla değişkenlik gösteren kaynağı belirtir.
- Soru işareti (?), başka bir nedenle kullanamadığı kaynağı belirtir.
İlk satırlarda soru işareti görmeniz normaldir. Birkaç dakika sonra en az bir yıldız ve birkaç artı görmelisiniz. Reach sütunu 0 kalıyorsa son denemelere yanıt gelmiyor demektir. Bu durumda önce güvenlik duvarını kontrol edin.
Saat çok sapmışsa ne yaparsınız, atlatmak güvenli mi?
Saat çok geride ya da ileride ise normal düzeltme günler alabilir. chrony'de bu durumu hızlandıran komut chronyc makestep olarak belgelenmiştir. Komut, bekleyen düzeltmeyi iptal eder ve saati hemen doğru değere atlatır.
sudo chronyc makestep
chronyc tracking
Ancak saati geriye atlatmak her zaman zararsız değildir. Bazı uygulamalar zamanın hep ileri aktığını varsayar. Geriye atlayan bir saat şu riskleri doğurur:
- Log kayıtlarında aynı dakika iki kez görünebilir.
- Zamanlanmış görevler yeniden tetiklenebilir.
- Zaman damgasına göre sıralanan veritabanı kayıtları karışabilir.
Bu nedenle canlı bir e-ticaret ya da ödeme sistemi çalıştıran sunucuda saati elle atlatmayın. Önce bakım penceresi belirleyin, yedeğinizi alın ve sorumluluğu barındırma sağlayıcınızla paylaşın.
Kaç saniyelik sapma sorun yaratır?
Tek bir sihirli eşik yoktur, çünkü her sistem zamana farklı toleransla yaklaşır. Bazı kontroller dakikalar tolere eder, bazıları saniyeler içinde hata verir. Bu yüzden amacınız sapmayı mümkün olduğunca küçük tutmaktır.
Örnek hesapla düşünelim. Sunucu saatiniz 90 saniye geride olsun. TOTP kodları 30 saniyelik adımlarla üretildiği için bu fark üç adıma denk gelir. RFC 6238, ağ gecikmesi için en fazla bir adımlık toleransı önerir. Dolayısıyla bu sunucuda iki adımlı doğrulama kodları reddedilebilir.
Sertifikalarda durum farklıdır. Geçerlilik tarihleri günler ya da aylar sürer, bu yüzden küçük sapmalar sorun çıkarmaz. Sorun, saat saatlerce ya da günlerce kaydığında ortaya çıkıyor. Log analizinde ise saniyelik sapmalar bile olay sırasını bozabilir.
Kısacası günlük sorunları engellemek için senkron durumunu izleyin. Log dosyalarınızı analiz ediyorsanız log analiz aracımızı kullanabilirsiniz.
Sertifika ve iki adımlı doğrulama hatalarında saati nasıl ayıklarsınız?
Hata mesajı saatten söz etmez, bu yüzden sorunu çoğu zaman başka yerde ararsınız. Oysa sebebi saat olan bir hata, şu sırayla kolayca ayıklanır:
- Sunucuda UTC saati okuyun ve güvenilir bir kaynakla karşılaştırın.
- Farkın saniye mi, dakika mı, saat mi olduğuna bakın.
- Senkron durumunu
timedatectlile kontrol edin. - Zaman servisinin son kayıtlarını okuyun.
- Sorun sürüyorsa sertifikayı ayrıca test edin.
date -u
timedatectl
journalctl -u chrony --since "30 min ago"
Debian ve Ubuntu ailesinde servis adı chrony, RHEL ailesinde chronyd olur. systemd-timesyncd kullanıyorsanız birim adını ona göre değiştirin. Bu kayıtlar, servisin kaynağa ulaşıp ulaşmadığını anlatır.
Sertifikanın kendisinden şüphe ederseniz SSL sorgulama aracımızla geçerlilik tarihlerine bakabilirsiniz. Tarihler doğruysa ve sunucu saati yanlışsa, sorun NTP tarafındadır.
Zaman dilimi ile NTP aynı şey midir?
Hayır, ikisi farklı işlerdir. NTP, saatin doğru olmasını sağlar. Zaman dilimi ise aynı anın hangi yerel saat olarak gösterileceğini belirler. Sunucu doğru bir şekilde senkron olsa da yanlış saat diliminde olabilir.
timedatectl list-timezones
sudo timedatectl set-timezone Europe/Istanbul
timedatectl status
Komutlar resmi timedatectl belgesinde tanımlıdır. list-timezones kullanılabilir dilimleri her satıra bir tane yazar. set-timezone ise sistem dilimini değiştirir.
Sunucu saatini UTC'de tutmak yaygın bir uygulamadır. Çünkü farklı ülkelerdeki sistemlerin loglarını birleştirirken yaz saati karmaşası yaşamazsınız. Yerel saati yalnızca raporlarda ve arayüzde göstermeniz daha güvenlidir. Ancak mevcut bir uygulamanın saat dilimine bağlı çalıştığını biliyorsanız ayarı değiştirmeden önce test edin.
Sanal sunucuda ve Docker konteynerinde saat nasıl çalışır?
Docker konteynerleri, ana makinenin çekirdeğini ve dolayısıyla saatini paylaşır. Bu nedenle her konteynerin içinde ayrı bir NTP istemcisi çalıştırmanız gerekmez. Doğru saati konteynerin çalıştığı ana makinede aramanız gerekir. Docker rehberimizde konteyner mantığını ayrıca anlattık.
Sanal sunucularda tablo daha karışıktır. Sağlayıcı bazen konuk saatini kendi mekanizmasıyla eşitler. Bu durumda sizin kurduğunuz NTP istemcisiyle çakışma ihtimali doğabilir. Bu yüzden sağlayıcınızın belgesinde zaman senkronizasyonu için önerilen yolu arayın.
- Konteyner: Ana makinenin saatini izler, içeride NTP kurmayın.
- Sanal sunucu: Sağlayıcının önerisine ve belgesine uyun.
- Paylaşımlı hosting: Saat tamamen sağlayıcının sorumluluğundadır.
Yönetilen bulut hizmetlerinin çoğu kendi zaman kaynağını sunar. Yine de resmi belgeyi okumadan varsayım yapmayın.
Güvenlik duvarında NTP için hangi port açık olmalı?
NTP, UDP 123 portunu kullanır. İstemci olarak çalışan bir sunucunun dışarıya doğru UDP 123 trafiğine izin vermesi gerekir. Gelen trafiği açmanız gerekmez, çünkü yanıtlar açılan oturumun devamı olarak döner.
Güvenlik duvarınız dışarı giden trafiği kısıtlıyorsa NTP sessizce başarısız olabilir. Belirtisi şu: chronyc sources çıktısında kaynaklar var ama Reach sütunu 0 duruyor. Üstelik sistem saati yavaş yavaş kaymaya devam eder.
DNS çözümlemesinden şüpheleniyorsanız DNS sorgulama aracını kullanarak pool adreslerinin çözüldüğünü doğrulayabilirsiniz. Ağ tarafında bir IP adresini incelemeniz gerekirse IP sorgulama aracımız işinize yarar.
Gelen UDP 123 trafiğini herkese açmayın. Saldırganlar, açık bırakılmış NTP sunucularını geçmişte DDoS yansıtma saldırılarında kötüye kullandı. Kendi sunucunuza ihtiyaç yoksa yalnızca istemci olarak kalın.
Kendi NTP sunucunuzu ne zaman kurmalısınız?
Çoğu web sitesi ve e-ticaret projesi için cevap, kurmamanızdır. Tek bir VPS ya da küçük bir sunucu filosu pool adreslerinden ya da sağlayıcının zaman kaynağından yeterince doğru zaman alır. Kendi sunucunuz, bakım yükü ve güvenlik sorumluluğu getirir.
Yine de bazı durumlarda yerel zaman sunucusu mantıklıdır:
- İnternete çıkışı olmayan kapalı ağlarda.
- Çok sayıda sunucunun aynı kaynağı kullanması istendiğinde.
- Düzenleyici gereklilikler, zaman kaynağını belirli bir yapıya bağladığında.
chrony bir sunucu gibi davranabilir, ancak bunun için ayrıca ayar gerekir. Hangi istemcilerin erişebileceğini sınırlamayı unutmayın. Ayrıntılar için chrony yapılandırma belgesine bakın. Kritik bir ortam kuruyorsanız bir sistem yöneticisiyle çalışmanız daha güvenlidir.
NTP nedir diye araştıranlar hangi yaygın hataları yapıyor?
Sahada tekrar eden hatalar belli bir düzende görünür. Aşağıdaki liste resmi belgelerdeki uyarılardan ve bu yazıdaki mantıktan çıkıyor. Kendi sunucunuzda bunlardan birini fark ederseniz önce onu düzeltin.
- Aynı anda iki zaman istemcisi çalıştırmak.
- Pool için dörtten fazla sunucu yazmak.
- Burst ya da çok kısa minpoll ile havuza gereksiz yük bindirmek.
- Güvenlik duvarında UDP 123 çıkışını kapatıp sebebi aramamak.
- Canlı sistemde saati geriye atlatmak.
- Her Docker konteynerine ayrı bir NTP istemcisi kurmaya çalışmak.
- Saat dilimiyle senkronizasyonu aynı şey sanmak.
Bu hataların çoğu, komutları anlamadan kopyalamaktan doğar. Bu yüzden her komutun ne yaptığını resmi belgeden okumanızı öneriyoruz. Örneğin chronyc makestep komutu, belgede saati hemen atlatan komut olarak tarif ediliyor.
NTP sorunlarında hangi belirti neye işaret eder?
Sorun giderirken belirtiden olası nedene gitmek zaman kazandırır. Aşağıdaki tablo, bu yazıdaki bilgilerden çıkardığımız bir başlangıç noktasıdır. Her sistem farklı olduğundan, bunları kesin teşhis değil ipucu olarak okuyun.
| Belirti | Olası neden | İlk adım |
|---|---|---|
| Synchronized: no | Zaman servisi kapalı ya da kaynağa ulaşamıyor | Servis durumunu ve timedatectl çıktısını kontrol edin |
| Sources listesinde yalnızca ? | Henüz örnek toplanmadı ya da kaynaklar uygun değil | Birkaç dakika bekleyin, tekrar bakın |
| Reach sütunu 0 | UDP 123 çıkışı kapalı ya da DNS çözümlenmiyor | Güvenlik duvarını ve DNS'i kontrol edin |
| Leap status: Not synchronised | Saat henüz eşitlenmedi | Bekleyin, gerekirse makestep düşünün |
| Saat tekrar tekrar kayıyor | Başka bir mekanizma saati değiştiriyor olabilir | Aynı anda tek zaman istemcisi çalıştığından emin olun |
Güvenlik açısından zaman servisi de bir saldırı yüzeyidir. Genel web güvenliği için OWASP Top 10 yazımıza göz atabilirsiniz.
Ne zaman kendiniz yapmamalı, hosting sağlayıcınıza bırakmalısınız?
Her zaman kendiniz müdahale etmek zorunda değilsiniz. Aşağıdaki durumlarda işi sağlayıcınıza bırakmak daha güvenlidir. Üstelik çoğu sağlayıcı bu desteği hizmetin içinde sunar.
- Paylaşımlı hosting ve cPanel hesaplarında sunucu saatine zaten müdahale edemezsiniz. Saati sağlayıcı yönetir.
- Yönetilen VPS ya da bulut hizmetinde sağlayıcı zaman senkronizasyonunu kendi yönteminden yürütür.
- Canlı ödeme, stok ya da rezervasyon sistemi çalışan sunucuda saati elle atlatmak risklidir.
- Veritabanı kümesi kullanıyorsanız saat farkı çoğaltma sorunlarına yol açabilir.
- Komutun ne yaptığından emin değilseniz önce test ortamında deneyin.
Bu noktada ne istediğinizi net anlatmak önemlidir. Sağlayıcınıza şunu yazın: "Saat senkronizasyonunu hangi servis yürütüyor, son durumu nedir?" İyi bir destek ekibi bunu kısa sürede yanıtlar.
Altyapı kararlarını web sitenizin hedefleriyle birlikte düşünmek isterseniz web tasarım ve geliştirme hizmetimizi inceleyebilirsiniz. Verilerin korunması için veri güvenliği rehberimiz da faydalı olur.
NTP kurulumunda son kontrol listesi nedir?
Kurulumu bitirmeden önce aşağıdaki adımları sırayla uygulayın. Her adım bir önceki adımın doğrulamasıdır, bu yüzden sırayı bozmamak iyi olur.
- Mevcut durumu
timedatectl statusile okuyun ve not alın. - Hangi zaman istemcisinin çalıştığını belirleyin. Aynı anda yalnızca biri çalışmalıdır.
- Pool adreslerini yazın, dörtten fazla sunucu eklemeyin.
- Servisi yeniden başlatın ve birkaç dakika bekleyin.
timedatectlvechronyc trackingçıktısında senkron durumunu doğrulayın.- Güvenlik duvarında UDP 123 çıkışının açık olduğunu kontrol edin.
- Saat dilimini bilinçli seçin, mümkünse UTC kullanın.
- Sertifika, 2FA ve log kayıtlarını bir kez kontrol edin.
Sonuç olarak NTP nedir sorusunun pratik cevabı şudur: doğru kurulduğunda neredeyse fark etmediğiniz bir altyapı parçasıdır. Ancak bozulduğunda sessizce birçok şeyi bozar. NTP nedir sorusunu bu şekilde öğrenmek, kurulumu bir kez yapmaktan daha değerlidir. Düzenli bir kontrol alışkanlığı geri kalanını halleder. Kendi sunucunuzu yönetmiyorsanız, bu listeyi sağlayıcınıza soru listesi olarak verebilirsiniz.



