Ana içeriğe atla

Chrony ve ntp

Artik ntp paketinin yerini chrony aldığını  kabul ettiğimiz için, eski notları aşağıya doğru kaydırıp, biraz chrony üzerine not ekleyelim dedim.

 

 Sistemimiz bir ntp server ile senkronize ederken chrony.conf ayarlarında dikkat etmemiz gerekenler;

Her şeyden önce en az iki tane kullanılabilir durumda ntp server olmalı.

Şayet işimizde saat çok önemli ve hayati bir durumda ise tavsiyem, donanımsal zaman sunucusu almanız. Bu konuda yerli ürünlerde varmış, fakat yerli ürünler hakkında tecrübem yok. Tecrübesi olanlar paylaşabilir.

Donanımsal ntp sunucularını merak ediyorsanız;

https://www.google.com/search?client=firefox-b-d&q=hardware+ntp+server

Yahu bu ürünler pahalı, okadarda  para veremiyoruz diyorsanız üç tane raspberry pi 4 ve gerekli aksesuarlarını alarak kendiniz yapabilirsiniz. 

https://www.satsignal.eu/ntp/Raspberry-Pi-quickstart.html

rpi4 leri rct ve ups hat olmadan ntp server olarak kullanmanızı önermem.

Detaylı bilgi için google/yandex yardımcı olacaktır.


Genelde bir ntp server kurulduğunda ilk 10-15 dakika kullanılabilir durumda olmaz. ntp serverımızı kendimiz kurduysak 10-15 dakika beklemeyi unutmayalım.


1. server ve/veya pool ayarlarında iburst olmalı

# server 192.168.0.11 iburst
# server 192.168.0.1   iburst

2. Donanım saatini senkronize etmeyi unutmamak gerekli, bunun içinde 

# rtcsync
paramatresinin aktif olduğundan emin olalım.

3. En az kullanılabilir kaynak sayısını bire eşitleyelim.

Özellikle yapımızda iki tane sağlam ve esas görevi ntp sunuculuğu olan bir sistem veya donanım yoksa.

# minsources 1

 

4. Eğer kendimizi senkronize edecek, kullanılabilir ntp sunucusuna ulaşamadıysak, kendimizi taban alarak ntp servisini çalışmaya devam etsin.

# local stratum 10


 

 Bunlara dikkat ederek yapılandırma yaptıkdan sonra chrony servisini başlattıkdan sonra yapmamız gereken temel kontroller;

Zaman kaynaklarıyla aramızın nasıl olduğunu kontrol etmekle başlayabiliriz.



Yukarıda gördüğünüz gibi chrony en iyi  ve kullanılabilir durumdaki ntp sunucusu olan _gateway ile kendisini senkronize etmiş durumdadır.

Şayet ciddi bir zaman farkı oluşmuş ve  bu farklılıktan dolayı senkronize yapılamadığı durumlarda, elle "burst 4/4 ve makestep" komutları yardımıyla senkronize yapabiliriz;

chronyc>
chronyc> burst 4/4
200 OK
chronyc> makestep
200 OK

 Şimdi sistem saatini elle değiştirerek ntp servisini şaşırtalım;

Bunun için  saati yaklaşık 1 saat geriye alıyoruz.

Yukarıda gördüğünüz gibi artık senkronize bozulmuş ve otomatik senkronize olmamaktadır.

 

Durumu kurtarmak için chronyc'ye makestep işlemini yap diyoruz ve saatimiz düzeliyor.

 

Biz bu işlemleri yaparken chrony günlük kayıtlarında neler olmuş bakalım;


 

 Feb 23 11:30:52 fedora.example.lan chronyd[623542]: System clock was stepped by 4109.747761 seconds
Feb 23 10:20:26 fedora.example.lan chronyd[623542]: Selected source 192.168.0.1
Feb 23 10:20:25 fedora.example.lan chronyd[623542]: System clock wrong by 4118.746416 seconds
Feb 23 10:20:25 fedora.example.lan chronyd[623542]: Selected source 194.27.156.207 (2.fedora.pool.ntp.org)
Feb 23 10:20:22 fedora.example.lan chronyd[623542]: System clock was stepped by -0.000000 seconds
Feb 23 10:20:14 fedora.example.lan chronyd[623542]: Can't synchronise: no selectable sources
Feb 23 10:20:14 fedora.example.lan chronyd[623542]: Backward time jump detected!
Feb 23 11:28:14 fedora.example.lan chronyd[623542]: Selected source 192.168.0.1
Feb 23 11:28:13 fedora.example.lan chronyd[623542]: System clock was stepped by 4028.910894 seconds
Feb 23 10:21:03 fedora.example.lan chronyd[623542]: System clock wrong by 4028.962868 seconds
Feb 23 10:21:03 fedora.example.lan chronyd[623542]: Selected source 192.168.168.223
Feb 23 10:20:26 fedora.example.lan chronyd[623542]: Can't synchronise: no selectable sources
Feb 23 10:20:26 fedora.example.lan chronyd[623542]: Backward time jump detected!
Feb 23 11:22:40 fedora.example.lan chronyd[623542]: System clock was stepped by 0.000037 seconds
Feb 23 11:21:14 fedora.example.lan chronyd[623542]: System clock was stepped by -0.000000 seconds
Feb 23 10:44:19 fedora.example.lan chronyd[623542]: System clock TAI offset set to 37 seconds


Yukarıda görüldüğü gibi zamanda geriye sıçrama olduğu görülmüş, fakat senkronize yapılamamıştır. makestep yapınca zaman ayarlanmıştır.



 

 

######################NTP######################
ntp sunucumuz günün birinde, her hangi bir değişiklik nedeniyle, master ntp sunucularından zamanı alamayarak senkronize olamazlarsa, kullanılamaz duruma düşerler.
Bu durumda ntp servisini kullanılabilir hale getirmenin yolu, ntp çalışan sistemin yerel saatini almasını sağlayarak, ntp servisini kullanılabilir hale getirebiliriz. Şayet mevcut sunucudan başka kullanılabilecek ntp sunucusu olmadığında, sistemin kendi saatini alabiliriz.

Yerel saati kullanabilmemiz için ntp.conf'a ilave etmemiz gereken satırlar;
server 127.127.1.0
fudge 127.127.1.0 stratum 10


yapılandırmayı düzenleyip, ntp servisini yeniden başlattıktan sonra ntpq ile servisi kontrol edebiliriz.


root@node13 ~ # ntpq -c as

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 36159  961a   yes   yes  none  sys.peer    sys_peer  1

root@node13 ~ # ntpq -c lpeer
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l   33   64  377    0.000    0.000   0.000
root@node13 ~ # systemctl restart ntp
root@node13 ~ #


# ntpdate -u 192.168.80.254
11 Apr 19:06:23 ntpdate[1231]: adjust time server 192.168.80.254 offset -0.058454 sec



Güncel linux dağıtımlarında ntpd yerine chrony kullanılmaya başlamıştır. Bundan dolayı, chrony için
/etc/chrony.conf içerisine
server 127.127.1.0
local stratum 10
allow 192.168.253.0/24

satırlarını ekleyerek ntpd servisi çalıştırılabilir. allow satırı ihtiyaca göre değiştirilir.

Yorumlar

Bu blogdaki popüler yayınlar

ttnet tilgin hg1332 modem(router) kablosuz özelliğini güçlendirmek

Bu gün ttnetin hediyesi olan tilgin yönlendiriciyle biraz oynayayım dedim Matkap, ve rg316-rp-sma kablo alıp cihazın kapağını tekrar açtım. Matkapla usb çıkışın yanına bir delik açarak kaployu taktım. Sonra elimdeki antenlerden ikiti tanesini takıp test ettim. . Bu iki antenin, gözle farkedilir derecede sinyalleri kuvvetlendirdiğini fark ettim.. Normalde bu cihaz ile evin iki en uc noktaları arasında haberleşme olmaz iken şimdi en kör iki uç arasında sorun olmadan kablosuz kullanılabildiğini gördüm. Arada 4 tane kuvvetli beton duvar mevcut. Deneme bitti, tilgin rafa kalktı yine. Her nekadar ben bu cihazı kaldırsamda, kullanmak zorunda olan arkadaşlar, bir kablo ve ikitane anten takarak her herde kullanabilirler. İyi eğlenceler.

yerel ssl ca sertifikasını güvenli sertifika olarak kabul etmek. (özet tekrar)

  openssl s_client  -connect akyuz.tech:443 -showcerts > /tmp/akyuz.tech.cacrt keytool -import -alias akyuz.tech  -keystore  /etc/pki/ca-trust/extracted/java/cacerts -file /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/extracted/java/cacerts dosyası varsayılan java için varsayılan ca cert dosyasıdır.   cp -iv /tmp/akyuz.tech.cacrt /etc/pki/ca-trust/source/anchors/ update-ca-trust     DOMAIN=akyuz.tech openssl s_client -showcerts -connect ${DOMAIN}:443 </dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > ${DOMAIN}.cert