Post

Centos 8 NTP Server + Clients Best Configuration (All Network Clients)

Centos 8 NTP Server + Clients Best Configuration (All Network Clients)

Bu makalede Domain ortamınızda çalışan tüm cihazların Tarih & Saat senkronizasyonunu standart bir duruma getirebilmeniz için gerekli olan merkezi yönetebildiginiz bir Centos 8 NTP server kurulumunu yapacağız.
"2" adet "Windows Domain Controller ve Ubuntu 20.04" zaman senkronizasyonu sağlamak için kullanılan araçlardan "NTP Chrony" servisine yönlendireceğiz.
Centos 8 üzerine özellikle Chrony servisi kurulacaktır. bu servis 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. *** "NTP servisi default UDP/123 olarak çalışır"

Bazı popüler zaman senkronizasyonu araçları:

  1. NTP (Network Time Protocol): Chrony'nin en yaygın muadili, geleneksel NTP istemcisidir. Ubuntu'da genellikle "ntp" veya "ntpdate" paketleriyle temsil edilir.
  2. Chrony: Chrony, Network Time Protocol (NTP) için modern ve hassas bir zaman senkronizasyonu istemcisidir. Chrony, geleneksel NTP istemcilerine göre daha hassas zaman senkronizasyonu sağlama yeteneği ve düşük kaynak tüketimi ile öne çıkar. Ubuntu ve diğer birçok Linux dağıtımında yaygın olarak kullanılır. Aynı zamanda Raspberry Pi gibi küçük cihazlarda da tercih edilir.
  3. systemd-timesyncd: Ubuntu gibi bazı Linux dağıtımlarında varsayılan olarak gelen "systemd-timesyncd," zaman senkronizasyonunu sağlamak için kullanılan daha modern bir NTP istemcisidir. Chrony'ye göre daha hafif ve basittir.
  4. ntpd: "ntpd" veya "ntpd" paketi, geleneksel NTP protokolünü kullanan bir diğer NTP istemcisidir. "ntpd" genellikle CentOS veya RHEL gibi dağıtımlarda kullanılır.
  5. w32time: Windows işletim sistemi için zaman senkronizasyonunu sağlayan bir servistir. Windows sunucularında zamanın senkronize edilmesi gerektiğinde kullanılır.
  6. Vetinari: Vetinari, yüksek hassasiyetli ve güvenilir zaman senkronizasyonu sağlayan bir NTP istemcisidir. Özellikle bilimsel ve araştırma uygulamaları için kullanılır.
  7. OpenNTPD: OpenNTPD, OpenBSD projesi tarafından geliştirilen basit ve güvenilir bir NTP istemcisidir. OpenBSD ve bazı diğer BSD tabanlı işletim sistemlerinde kullanılır
  8. .vs

***Server Yapılandırması:

Chrony saat senkronizasyon servisini Centos8 üzerine yükleyelim.

dnf check-update
dnf update
dnf install chrony -y

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

systemctl start chronyd
systemctl status chronyd

#Chronyd servisi aktif et
systemctl enable chronyd

Chrony kurulumunu sonunda NTP Server 'in kurum dışındaki hangi zaman sunucularından saat senkronizasyonunu yapacağını ve ortamımızdaki hangi networklere NTP hizmeti vereceğini ayarlayacağız.

#ilk olarak Chrony servisi config dosyasını editleyelim
nano /etc/chrony.conf

#Ülkemizin NTP hizmeti veren bazı sunucularının güncel 
listesini aşağıdaki linkten görelim.

#link 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

Global
time.google.com
time.cloudflare.com
time.windows.com
time.facebook.com
time.apple.com
time.nist.gov

Chrony servisi config dosyasını editlemeye devam ediyoruz. toplamda 2 satırı değiştirmemiz gerekiyor.

#bu 1. alanda Ülkemizin NTP hizmeti veren sunucularını ekleyelim!

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).

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
#bu alanda NTP hizmeti alacak Network ve WLAN yapınızı eklemeniz gerekir!

#Allow NTP client access from local network.
allow 10.5.10.0/24
allow 10.4.10.0/24
allow 192.168.1.0/24
allow 10.5.20.0/24
Chrony servisini RESTART edelim.
systemctl restart chronyd

#gerekli Firewal kurallarına izin verelim.
sudo firewall-cmd --permanent --add-service=ntp

#firewall servisini yeniden başlatalım.
sudo firewall-cmd --reload

#Chrony servis durumumu kontol edelim.
systemctl status chronyd

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

#Size en yakın NTP  kaynağını görmek için
chronyc sources

#tracking komut ile bu bağlantıların ayrıntılarını gözlemleyebilirsiniz.
chronyc tracking

#bağlı olduğu NTP serverlar ile arasındaki sapma oranı ve offset bilgisi için
chronyc sourcestats

#kullanılan NTP sunucuları için bildirilen zaman damgası modlarını görmek için
chronyc ntpdata

#Centos8 NTP sunucumuzun güncel tarih ve saatini görmek için
date

#NTP sunucumuza bağlanıp tarih saat çeken sunucu ve cihazları görmek için()
chronyc clients

***Client Yapılandırması:

Aşama 1: Bu aşamada bir Ubuntu 20.04 sunucumuzu hazırlamış olduğumuz NTP server'e yönlendirip Tarih & Saat ayarlarını çekmesini sağlayacağız. Ubuntu Sunucularda genellikle varsayılan olarak "systemd-timesyncd" yüklü gelir. Ancak, yapılandırma dosyasını düzenlemek gerekebilir.

# "systemd-timesyncd" Servis Durumunu Kontrol Et:
sudo systemctl status systemd-timesyncd

#Varsayılan Ubuntu NTP Yapılandırma dosyasını aç:
sudo nano /etc/systemd/timesyncd.conf

#Dosyaya satırı ekleyin, Default:"ntp.ubuntu.com" "185.125.190.56"
NTP=centos-ntp.guler.com

#Bölgeleri Listele ve Seç
timedatectl list-timezones
sudo timedatectl set-timezone Turkey

#Configure to Firewall
sudo ufw allow from any to any port 123 proto udp

#systemd-timesyncd servisini yeniden başlat:
sudo systemctl restart systemd-timesyncd

#Sistem başlangıcında otomatik olarak başlaması için:
sudo systemctl enable systemd-timesyncd

#NTP senkronizasyon durumunu kontrol et:
timedatectl timesync-status & timedatectl status

#NTP servisini Enable\Disable et
#timedatectl set-ntp true
#timedatectl set-ntp off
  • "Server: 40.119.148.38 (centos-ntp.guler.com)": Bu, NTP sunucusunun IP adresini ve adını gösterir. Bu durumda, NTP sunucusu "centos-ntp.guler.com" olarak belirlenmiştir.
  • "Local time: Sat 2023-09-09 00:40:45 +03": Bu, yerel zamanı ve saat dilimini gösterir.
  • "Time zone: Turkey (+03, +0300)": Bu, sistem saat dilimini ve saat dilimi ofsetini gösterir. Türkiye saat diliminde (+03) bulunur.
  • "NTP service: active": Bu, NTP hizmetinin etkin olduğunu gösterir. Sistem zamanı NTP sunucusu ile senkronize ediliyor.
  • "RTC in local TZ: no": Bu, sisteminizdeki RTC (Real-Time Clock) yongasının yerel saat dilimine göre ayarlanmadığını gösterir. RTC, genellikle anakartta bulunan bir saat yongasıdır ve sistem güç kapalıyken bile zamanı tutar.

Aşama 2: Bu aşamada ise bir Windows Server 2019 DC sunucumuzu hazırlamış olduğumuz NTP server'e yönlendirip Tarih & Saat ayarlarını çekmesini, dolayısıyla tüm domain ortamının NTP Senkronizasyonunu sağlayacağız.

Öncelikle DNS üzerinde NTP sunucunuz için bir Host (A) kaydı oluşturalım. Amacımız ise eğer NTP sunumuzun ip adresi değişirse bunun uygulanan tüm client 'lerde düzenlemenin önüne geçmiş olmaktır.

Ben centos-ntp.guler.com isimli bir kayıt oluşturup NTP sunucumun IP adresine yönlendirdim. >> centos-ntp.guler.com 10.5.10.50

Şimdi Powershell ile DC sunucumuzu CentOS8 centos-ntp.guler.com 10.5.10.50 NTP servere yönlendirme işlemini yapalım.

PS:
w32tm /config /manualpeerlist:centos-ntp.guler.com /syncfromflags:MANUAL /reliable:YES /update

The command completed successfully.
PS C:\Windows\system32>

PS:

#yeni girilen ayarların güncellenmesini sağlayalım.
w32tm /config /update

#Windows time servisini yeniden başlatalım.
Restart-Service w32time

#Veya servisi durdurup yeniden başlatabilirsiniz.

Stop-Service w32time
Start-Service w32time

#zaman bilgisinin anlık olarak güncellemesi için aşağıdaki komutu kullanalım.
w32tm /resync /nowait

#Yeni tanımladığımız(centos-ntp.guler.com) NTP serveri kontrol edelim.
w32tm /query /configuration

#Sadece Tarih & Saat kaynağını görüntülemek için
w32tm /query /source
w32tm /query /status

#Eğer birden çok NTP server adresi girdi iseniz.
w32tm /query /peers

Görsel:

Son olarak ise Centos8 üzerinde NTP sunucunuza bağlı Windows Server 2019 DC ve Ubuntu 20.04 sunucunuzun IP adresini görüyor olduğumuzu teyit edelim.

sudo chronyc clients

#Hostname NTP Drop Int IntL Last Cmd Drop Int Last
=============================================================================
10.5.10.10 12 0 7 - 11 0 0 - -


[root@localhost ~]# nslookup anatolia

################################
Name: anatolia.guler.com
Address: 10.5.10.10

Son olarak güncel saatimizi doğrulayalım.

>>>> https://time.is

Faydalı olması dileğiyle. – Hope it will be useful.

This post is licensed under CC BY 4.0 by the author.