Zaman Dilimi ve NTP Ayarları: Sunucu Saati Senkronizasyonu
timedatectl ile zaman dilimi ayarlama, chrony ve systemd-timesyncd ile NTP yapılandırması, sunucu saati senkronizasyonu ve doğrulama adımları. Linux sunucu saat yönetimi rehberi.
İçindekiler
Zaman Dilimi ve NTP Ayarları: Sunucu Saati Senkronizasyonu
Sunucu saatinin doğru ayarlanması, log dosyalarının tutarlılığı, SSL sertifika doğrulaması, veritabanı işlemleri ve zamanlanmış görevlerin düzgün çalışması için kritik öneme sahiptir. Yanlış saat ayarları, güvenlik açıklarına ve uygulama hatalarına yol açabilir. Bu rehberde Linux sunucularda zaman dilimi ve NTP yapılandırmasını öğreneceksiniz.
Mevcut Saat Durumunu Kontrol Etme
# Sistem saati, donanım saati ve NTP durumunu görüntüle
timedatectl
# Örnek çıktı:
# Local time: Tue 2024-01-15 14:30:00 TRT
# Universal time: Tue 2024-01-15 11:30:00 UTC
# RTC time: Tue 2024-01-15 11:30:00
# Time zone: Europe/Istanbul (TRT, +0300)
# System clock synchronized: yes
# NTP service: active
# Sadece tarih ve saati görüntüle
date
# UTC saatini görüntüle
date -u
# Donanım saatini görüntüle
sudo hwclock --show
Zaman Dilimi Ayarlama
timedatectl ile Zaman Dilimi Değiştirme
# Mevcut zaman dilimini görüntüle
timedatectl | grep "Time zone"
# Tüm kullanılabilir zaman dilimlerini listele
timedatectl list-timezones
# Belirli bir bölgeyi filtrele
timedatectl list-timezones | grep Europe
timedatectl list-timezones | grep Turkey
timedatectl list-timezones | grep Istanbul
# Zaman dilimini ayarla
sudo timedatectl set-timezone Europe/Istanbul
# Diğer yaygın zaman dilimleri
sudo timedatectl set-timezone UTC
sudo timedatectl set-timezone Europe/Berlin
sudo timedatectl set-timezone America/New_York
sudo timedatectl set-timezone Asia/Dubai
Sembolik Link ile Manuel Ayarlama
# Alternatif yöntem (eski sistemler için)
sudo ln -sf /usr/share/zoneinfo/Europe/Istanbul /etc/localtime
# /etc/timezone dosyasını güncelle
echo "Europe/Istanbul" | sudo tee /etc/timezone
# Değişikliği doğrula
date
REXE sunucuları varsayılan olarak UTC zaman diliminde gelir. Türkiye için Europe/Istanbul (UTC+3) kullanın. Log analizi için UTC'de bırakmak da iyi bir pratiktir.
NTP ile Saat Senkronizasyonu
NTP (Network Time Protocol), sunucu saatini internet üzerindeki zaman sunucularıyla senkronize eder.
systemd-timesyncd (Hafif Çözüm)
Ubuntu ve Debian'da varsayılan olarak gelen hafif NTP istemcisidir.
# Durumu kontrol et
sudo systemctl status systemd-timesyncd
# NTP senkronizasyon durumunu görüntüle
timedatectl show-timesync --all
# NTP'yi etkinleştir
sudo timedatectl set-ntp true
# NTP'yi devre dışı bırak
sudo timedatectl set-ntp false
timesyncd Yapılandırması
# Yapılandırma dosyasını düzenle
sudo nano /etc/systemd/timesyncd.conf
[Time]
# Birincil NTP sunucuları
NTP=0.tr.pool.ntp.org 1.tr.pool.ntp.org 2.tr.pool.ntp.org
# Yedek NTP sunucuları
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org time.cloudflare.com
# Maksimum saat farkı (saniye)
RootDistanceMaxSec=5
# Anket aralığı
PollIntervalMinSec=32
PollIntervalMaxSec=2048
# Servisi yeniden başlat
sudo systemctl restart systemd-timesyncd
# Senkronizasyon durumunu kontrol et
timedatectl
Chrony (Gelişmiş Çözüm)
Chrony, özellikle aralıklı bağlantılı veya sanallaştırılmış ortamlar için daha iyi performans sunar.
# Chrony kurulumu (Ubuntu/Debian)
sudo apt install chrony -y
# Chrony kurulumu (RHEL/CentOS/AlmaLinux)
sudo dnf install chrony -y
# Servisi başlat ve etkinleştir
sudo systemctl enable --now chronyd
Chrony Yapılandırması
# Yapılandırma dosyasını düzenle
sudo nano /etc/chrony/chrony.conf # Ubuntu/Debian
# veya
sudo nano /etc/chrony.conf # RHEL/CentOS
# Türkiye NTP havuzu
pool 0.tr.pool.ntp.org iburst
pool 1.tr.pool.ntp.org iburst
pool 2.tr.pool.ntp.org iburst
pool 3.tr.pool.ntp.org iburst
# Cloudflare NTP (yüksek hassasiyet)
server time.cloudflare.com iburst
# Google NTP
server time.google.com iburst
# Drift dosyası
driftfile /var/lib/chrony/drift
# Güvenli log
logdir /var/log/chrony
# Makefile senkronizasyonu
makestep 1.0 3
# RTC senkronizasyonu
rtcsync
# Servisi yeniden başlat
sudo systemctl restart chronyd
# Chrony durumunu kontrol et
chronyc tracking
# NTP kaynaklarını listele
chronyc sources -v
# Kaynak istatistiklerini görüntüle
chronyc sourcestats
Chrony Çıktısını Anlamak
# chronyc tracking çıktısı örneği:
# Reference ID : CF400064 (time.cloudflare.com)
# Stratum : 4
# Ref time (UTC) : Tue Jan 15 11:30:00 2024
# System time : 0.000012345 seconds fast of NTP time
# Last offset : +0.000012345 seconds
# RMS offset : 0.000023456 seconds
# Frequency : 12.345 ppm fast
# Residual freq : +0.001 ppm
# Skew : 0.123 ppm
# Root delay : 0.012345678 seconds
# Root dispersion : 0.000234567 seconds
# Update interval : 64.2 seconds
# Leap status : Normal
NTP Sunucuları
Önerilen NTP Sunucuları
| Sunucu | Açıklama | Kullanım |
|---|---|---|
pool.ntp.org | Küresel NTP havuzu | Genel kullanım |
tr.pool.ntp.org | Türkiye NTP havuzu | Türkiye sunucuları |
time.cloudflare.com | Cloudflare NTP | Yüksek hassasiyet |
time.google.com | Google NTP | Yüksek güvenilirlik |
time.windows.com | Microsoft NTP | Windows uyumlu |
Stratum Seviyeleri
- Stratum 0: Atom saatleri, GPS (doğrudan bağlantı yok)
- Stratum 1: Stratum 0'a doğrudan bağlı sunucular
- Stratum 2: Stratum 1'e senkronize sunucular (pool.ntp.org)
- Stratum 3+: Daha düşük hassasiyet
Donanım Saati (RTC) Senkronizasyonu
# Sistem saatini donanım saatine yaz
sudo hwclock --systohc
# Donanım saatini sistem saatine oku
sudo hwclock --hctosys
# Donanım saatini UTC olarak ayarla
sudo hwclock --systohc --utc
# Donanım saatini görüntüle
sudo hwclock --show
Senkronizasyon Doğrulama
# NTP senkronizasyon durumunu kontrol et
timedatectl | grep synchronized
# Chrony ile senkronizasyon kontrolü
chronyc tracking | grep "System time"
# ntpdate ile anlık kontrol (kurulu ise)
ntpdate -q pool.ntp.org
# Saat farkını ölç
ntpdate -d time.cloudflare.com
Chrony ve systemd-timesyncd'yi aynı anda çalıştırmayın. Chrony kurduğunuzda timesyncd'yi devre dışı bırakın:
sudo systemctl disable --now systemd-timesyncd
Sorun Giderme
Saat Senkronize Olmuyor
# NTP portunu kontrol et (UDP 123)
sudo ufw allow 123/udp
# Chrony log dosyasını incele
sudo tail -f /var/log/chrony/tracking.log
# Bağlantıyı test et
ntpdate -q pool.ntp.org
# Chrony'yi zorla senkronize et
sudo chronyc makestep
Büyük Saat Farkı
# Saati manuel olarak ayarla (NTP devre dışıyken)
sudo timedatectl set-ntp false
sudo timedatectl set-time "2024-01-15 14:30:00"
sudo timedatectl set-ntp true
# Chrony ile hızlı düzeltme
sudo chronyc makestep
Sonuç
Doğru zaman dilimi ve NTP yapılandırması, güvenilir bir sunucu altyapısının temel gereksinimlerinden biridir. REXE sunucularında chrony veya systemd-timesyncd kullanarak saatinizi her zaman senkronize tutabilir, log tutarlılığını ve uygulama güvenilirliğini sağlayabilirsiniz.
İlgili Makaleler
VDS Sunucuya SSH ile Bağlanma Rehberi (PuTTY & Terminal)
Linux VDS sunucunuza SSH ile bağlanma adımları: PuTTY, Terminal, anahtar tabanlı kimlik doğrulama, Path Panel firewall kuralı ve güvenlik ipuçları.
Windows VDS'e RDP ile Bağlanma ve Güvenlik Rehberi
Windows Server VDS sunucunuza Uzak Masaüstü (RDP) ile bağlanma adımları, NLA güvenlik ayarları, Path Panel firewall kuralı ve sorun giderme rehberi.
VDS Sunucu İşletim Sistemi Değiştirme Rehberi (Reinstall)
REXE panel üzerinden VDS sunucunuzun işletim sistemini değiştirme adımları, yedekleme önerileri, desteklenen Linux ve Windows Server sürümleri.