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.
Eline sağlık recep abi.Güzel olmuş
Hocam cok faydali bir makale olmus. Eline emegine saglik.
Değerli yorumunuz için ben teşekkür ederim Okan bey.
Merhaba,
Elinize sağlık çok net anlaşılır makale olmuş.
Değerli yorumlarınız için çok Teşekkür ederim Hüseyin bey. Yorumlar yeni paylaşımlar için ek yakıt oluyor bizim için.
bu adam çok iyi ya