CentOS8 Üzerine NTP Server Kurulumu

By | 06/10/2019

Merhaba,

Bu makalemizde sizlere ortamınızda çalışan tüm cihazların Tarih&Saat senkronizasyonunu standart bir duruma getirebilmeniz için gerekli olan merkezi yönetebildiginiz bir NTP server kurulumunu nasıl yapabileceğinizi anlatacağım.

Kurumsal ortamlardaki en sıkıntılı süreçlerden birisidiz farklı saatler ile çalışan cihazların aynı tarih saat ile çalışabilmesini sağlamak. Bu sorunun sebebi bazen her cihazın internete çıkmadığı ortamlarda daha da büyük bir sorun haline gelebilmektedir. Bu sebeple kapalı ortamlara bir NTP sunucusu kurulup tüm cihazların bu NTP sunucusunu kullanarak tarih saat ayarlarını çekmesi bir çok sorunun önüne geçecektir.

CentOS8 işletim sistemi üzerine NTP Server kurup Windows bir DC sunucusunu bu sunucuya nasıl bağlarız onu anlatacağım bu malemde.

CentOS8 üzerinde NTP’inin yerine Chrony servisi kullanılmaya başlandı.

Chrony bir önceki servislere göre daha az memory kullanır ve gerektiği zaman CPU kullanıp güç tasarrufu sağlar.

Yerel ağınızda son derece hassas saat senkronizasyonu sağlayan donanımsal zaman damgasını destekler.  

İki servisten oluşur;

Chdonyc : Chrony komut satırı aracı.

Chronyd : Chrony servisi.

Chrony saat senkronixasyon servisini CentOS8 sunucunuza yüklemek için kullanacağımız komut aşağıdaki gibidir.

# dnf install chrony

Yükleme sonrasında servisi start etmek ve durumunu görüntülemek için aşağıdaki komutları kullanabilirsiniz.

# systemctl start chronyd

# systemctl status chronyd

Chronyd servisin sunucu yeniden başlatmalarında otomatik açılması için aşağıdaki komut ile servisi enable edelim.

# systemctl enable chronyd

Chrony kurulumunu tamamladık ve servisi çalışır duruma getirdik. Şimdi servisimizin kurum dışında hangi Time sunucuları ile konuşup saat senkronizasonunu yapacağını ve ortamımızdaki hangi networklere NTP hizmeti vereceğini ayarlayacağız.

Chrony servisinin konfigurasyon dosyası /etc/chrony.conf dosyasıdır. Bu dosyayı açıp gerekli ayarları yapalım.

Ben vi servisini kullanarak edit ediyorum dosyayı.

# vi /etc/chrony.conf

Servisin config dosyası orjinal hali aşağıdaki resimdeki gibidir. Ben önce

# Allow NTP client access from local network  tabının altındaki IP adresinin başındaki “#” kaldırıyorum.

Daha sonra bu IP adresi bloğunu ortamıma göre ayarlıyorum. Buna göre benim 192.168.0.0/16 grubundaki IP adresini kullanan sunucularım sorunsuz olarak bu sunucudan saat ayarı çekebileceklerdir.

Şimdi ise Chrony sunucumun iletişim kurmasını istediğim kurum dışındaki NTP sunucuların bilgilerini # Use public servers from the pool.ntp.org. project. Satırı altına ekliyorum.

Türkiye’de hizmet veren NTP sunucularının güncel listesini aşağıdaki adresten öğrenebilirsiniz. 

https://www.pool.ntp.org/zone/tr

server 0.tr.pool.ntp.org iburst
server 1.tr.pool.ntp.org iburst
server 2.tr.pool.ntp.org iburst
server 3.tr.pool.ntp.org iburst

Config dosyamın son hali aşağıdaki gibi olacaktır. Resimde Sari renk ile renklendirdiğim bölümler dosya üzerinde değişiklik yaptığım yerlerdir.

Dosyayı kaydetip çıkıyorum. (Vi editörü dosyayı saklayıp çıkma :wq)

Servisin tanım dosyasında yaptığımız düzenlemerin etkin olması için servisi aşağıdaki komut ile yeniden başlatabilirsiniz.

# systemctl restart chronyd

Sunucumuzun üzerinde akif çalışan Firewall servisini tamamen kapatmadı iseniz, aşağıdaki komutlar yardımı ile Firewal üzerinde ilgili servise kullanıcıların erişebilmesi için izin verelim, ve firewall servisini yeniden başlatalım.

# firewall-cmd –permanent –add-service=ntp

# firewall-cmd –reload

Tüm ayarlarımız tamam servisiminin durumunu aşağıdaki komut ile kontrol edelim ve testlerimize başlayalım.

# systemctl status chronyd

Chrony servisinin, birlikte ayarladığımız dış dünyadaki NTP sunucuları ile iletişim kurup kurmadığını ve aralarındaki saat senkronizssyon ayarlarının durumunu aşağıdaki sources ve tracking komutları ile görebilirsiniz.

# chronyc sources 

Aşağıdaki tracking komut ile’de bu bağlantıların ayrıntılarını gözlemleyebilirsiniz.

# chronyc tracking

Aşağıdaki sourcestats komutu ise tüm iletişim halind eolduğu NTP serverlar ile arasındaki sapma oranı ve offset tahmin süreci Hakkında Bilgiler verir.

# chronyc sourcestats

Aşağıdaki ntpdata komutu yardımı ile kaynak olarak kullanılan tüm NTP sunucuları için bildirilen zaman damgası modlarını tek seferde görebilirsiniz. 

# chronyc ntpdata

CentOS8 sunucumuzun güncel tarih ve satini görmek için date komutunu kullanabilirsiniz.

# date

Chrony servisi için kullanabileceğiniz son komutumuz clients komutu. Bu komut ile bu NTP sunucusuna bağlanıp tarih saat bilgisini çeken sunucu ve cihazları görebilirsiniz. 

Biz bu komutu ilk çalıştırdığımızda herhangi bir sunucu veya cihazı buraya bağlamamıştık ve listede herhangi bir bağlantı görülmediğini görebilirsiniz.

# chronyc clients

Makalemizin ikinci bölümünde bir Windows Server 2012 DC sunucumuzu hazırlamış olduğumuz NTP sunucumuza yönendirip Tarih&Saat ayarlarını bu yeni NTP sunucumuzdan almasını sağlayacağız.

Yönlendirme sonrasında sonra clients komutunu tekrar çalıştırdığımızda CentOS8 Chrony NTP sunucumuza yapılmış olan bağlantıları aşağıdaki gibi gözlemleyebilirsiniz.

# chronyc clients

Windows Server 2012 R2 DC (PDC) Time Server adresi değiştirme

Ortamınızdaki Primary Domain Controller sunucusunu bulun ve aşağıdaki komutu çalıştırın. Eğer sizdeki çıktıda buradaki gibi ise (source name: “LOCL”) buradaki yönergeleri izleyerek bu sunucunucuzu ortamınızda hazırlamış olduğunuz Time server’a yönlendirebilirsiniz.

w32tm /query /status

IP kullanmak istemiyors iseniz DNS üzerinde NTP sunucunuz için bir Host (A) kayrı oluşturabilirsiniz. Ben ntp isimli bir kayıt oluşturup NTP sunucumun IP adresine yönlendirdim.

Şimdi Power Shell’I açıp aşağıdaki komutu girerek bu sunucunuzun NTP Server olarak CentOS8 Chrony NTP sunucusuna yönendirmesini yapabilirsiniz.

w32tm /config /manualpeerlist:ntp.recepyuksel.local /syncfromflags:MANUAL /reliable:YES /update

Yeni time server bilgilerini girdikten sonra, aşağıdaki komut ile yeni ayarların güncellenmesini sağlayalım.

w32tm.exe /config /update

Windows time servisi aşağıdaki komut ile yeniden başlatalım.

Restart-Service w32time

Veya aşağıdaki komutlar ile servisi durdurup yeniden başlatabilirsiniz.

Stop-Service w32time
Start-Service w32time

Şimdi zaman bilgisinin anlık olarak güncellemesi için aşağıdaki komutu kullanalım.

w32tm /resync /nowait

Yeni NTP server ayarlarını kontrol etmek için aşağıdaki komutu kullanabilirsiniz, çıktısı aşağıdaki resimdeki gibi olacaktır.

w32tm /query /configuration

Komutun devamı aşağıdaki resimdeki gibi olacaktır.
Type: NTP
NtpServer: ntp.recepyuksel.local

Sadece Tarih & Saat kaynağını görüntüleme için aşağıdaki komut yardımcı olacaktır.

w32tm /query /source

Eğer birden çok NTP server adresi girdi iseniz, tüm bu NTP sunucularının durumunu görmek için aşağıdaki komutu kullanabilirsiniz.

w32tm /query /peers

Bu ayarlardan sonra NTP sunucunuzda chronyc clients komutunu tekrar çalıştırdığınızda Windows Server 2012 R2 DC sunucunuzun IP adresini listede görüyor olmalısınız.

# chronyc clients

Faydası olması dileklerimle.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.