NTP – Ağ Zaman Protokolü (Network Time Protocol) bir bilgisayarın uzaktaki bir sunucu ile yerel zaman ve tarihin eşleşmesi için kullanılan protokoldür. Böylece yerel bilgisayar saati LAN üzerinde milisaniye, WAN üzerinde birkaç ondalık milisaniyeler doğruluğunda çalışır. Bu sunucular UTC (Universal Coordinated Time) ile senkronize edilmektedir.
NTP sunucusu konfigürasyon dosyası - /etc/ntp.conf dosyasıdır. Sunucu süreci olan ntpd tarafından bu dosya aranır ve gerekli ayarlamalar bu dosyadan alınan bilgilere göre yapılmaktadır.
En basit konfigürasyon dosyası şu şekilde olabilir:
# peer configuration for host whimsy
# (expected to operate at stratum 2)
server rackety.udel.edu
server umd1.umd.edu
server lilben.tn.cornell.edu
driftfile /etc/ntp/drift
Burada server olarak tanımlanan adresler saatin hangi sunuculara göre senkronize edileceği belirtmektedir. Ve server ile ilgili tanımlanabilen parametreler:
server adres [key anahtar | autokey] [version sürüm] [prefer]
Buradaki tanımlanbilen seçenekleri incelenecek olur ise:
* adres – uzaktaki NTP sunucusun adresi
* key anahtar – verilen anahtar ile şifrelenerek haberleşme kurulmaktadır. Varsayılan şifreleme kullanılmamaktadır.
* autokey – otomatik anahtarlama ile şifrelenerek haberleşme kurulmaktadır. Varsayılan kullanılmamaktadır.
* version sürüm – burada karşıdaki NTP sunucusunun NTP sürümü belirtilir. Varsayılan sürüm 4’tür.
* prefer – sunucuyu tercih edilen olarak işaretler.
Senkronize için başka bir tanımlama yapılabilmektedir:
peer adres [key anahtar | autokey] [version sürüm] [prefer]
bu tanımlama adresi verilen bilgisayar ile karşılıklı eşzamanlama gerçekleşir. Diğer özellikler server tanımlamalar ile aynı anlamdadır.
Her istemci aynı zaman bir sunucu olabilmektedir, yani bir LAN üzerinde bir NTP istemcisi Internet üzerinden saatini senkronize ediyor ise aynı bilgisayar LAN üzerindeki makinalar için bir sunucu olabilir. Ve bu sunucu üzerinde kısıtlamalar tanımlanabilinmektedir.
restrict sayısal_adres [mask sayısal_mask] [bayraklar][...]
burada sayısal_adres bir bilgisayar veya ağ IP adresidir, sayısal_mask bir ağ maskesidir, varsayılan değeri 255.255.255.255. Ayrıca sayısal_adres tüm ağ ve bilgisayarlar için tanımlanmak isteniyor ise “default” değerini alır. Tanımlanabilen bayrak listesi:
* ignore – tüm istekler dikkate alınmaz.
* noquery – bilgi kuyrukları ve konfigürasyon istekleri dikkate alınmaz, zaman servisi etkilenmez
* nomodify – istemciden sunucu durumu değiştirebiln istekler kabul edilmez
* version – sürümleri farklı olduğu zaman istekler rededilir.
Hiç bayrak tanımlanmaz ise bu konak tüm yetkilere sahiptir.
Birkaç kural tanımlanabilir, kurallar yukardan aşağıya doğro uygulanır, bundan dolayı bu kısıtlama kurallar yazılırken dikkat edilmeli. Örnek kısıtlamalar listesi:
restrict default ignore
restrict 192.93.2.20
restrict 160.75.0.0 mask 255.255.0.0 nomodify
Buradaki kısıtlamaları inceleyelim. İlk kural Internet üzerindeki tüm bilgisayarlar için yasak getirdi. İkinci kural ile 192.93.2.20 IP’sine sahip bilgisayara izin verilmiştir. Üçüncü satırda 160.75.0.0 ağındaki tüm bilgisayarlara saat eşzamanlama izni verilmiştir.
Eşzamanlama için tanımlanan sunucuların hepsi /etc/ntp/step-tickers dosyasına yazılmalılar. Her satırda bir sunucu yazılır.