NTP
Från Unix.se, den fria unixresursen.
NTP står för Network Time Protocol och är ett protokoll för att synkronisera tiden mellan två datorer över Internet eller annat nätverk. Klient- och servermjukvara finns till de flesta Unixvarianter. För att tiden ska bli korrekt krävs att NTP-servern man använder antingen är kopplad till en atomklocka eller synkroniserar med en annan server med korrekt tid.
Innehåll |
ntpd och ntpdate
I standardimplementationen av NTP-tjänster för Unix ingår två program med tidsynkroniseringsfunktionalitet: ntpd och ntpdate. Det senare programmet är väldigt enkelt att använda:
ntpdate <serveradress>
men ändrar tiden omedelbart, oavsett hur många sekunder som skiljer klient och server åt. Är skillnaden stor kan det innebära problem för program som förlitar sig på jämförelser mellan tidsstämplar av filer och den aktuella tiden. Lösningen är då att använda ntpd, som kan fungera dels som en avancerad NTP-klient, dels som en NTP-server som svarar på begäran om betjäning från andra NTP-klienter. Vid stor tidsskillnad klient-server kan ntpd långsamt anpassa tiden hos klienten och därmed bevara integriteten för tidsstämplar. För att få ntpd att anta klientrollen anger man växeln -q. Vanligtvis används cron för att automatisera synkroniseringsprocessen.
För att sätta upp en NTP-server kör man ntpd som en daemon (vilket är det förvalda beteendet om ntpd anropas utan växlar). Processen kommer då att efterfråga tiden av specificerade servrar med ett visst intervall, justera klockan, och vidarebefordra aktuell tid till eventuella klienter. Oavsett hur ntpd används sker all konfiguration genom filen /etc/ntp.conf. Serverns status kan undersökas med programmet ntpq.
Exempel på konfigurationsfiler för ntpd
Här följer två exempel på hur /etc/ntp.conf kan se ut. Det första exemplet är inriktat på ett scenario där ntpd anropas med -q som ett schemalagt cronjobb, dvs används enbart som klient. I det andra exemplet är det tänkt att ntpd körs kontinuerligt som en daemon och betjänar klienter.
# Konfiguration för klientscenario server 0.0.0.0 # IP-adressen till NTP-servern restrict default ignore # ignorera all trafik som förval restrict 127.0.0.1 # tillåt localhost att ändra konfigurationen restrict 0.0.0.0 nomodify nopeer noquery notrap notrust # ge NTP-servern access driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpd.log
# Konfiguration för serverscenario server 0.0.0.0 # IP-adress till första NTP-servern server 0.0.0.1 # IP-adress till andra NTP-servern server 0.0.0.2 # kan vara ännu fler restrict default ignore # ignorera all trafik som förval restrict 127.0.0.1 # tillåt localhost att ändra konfigurationen restrict 192.168.0.0 mask 255.255.255.0 notrap nomodify notrust # tillåt lokala klienter att synka
# Om du använder NTP 4.2 eller högre kanske du skall ta bort notrust, eftersom notrust bytt mening
restrict 0.0.0.0 nomodify nopeer noquery notrap notrust restrict 0.0.0.1 nomodify nopeer noquery notrap notrust restrict 0.0.0.2 nomodify nopeer noquery notrap notrust driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntpd.log
Lista på svenska NTP-servrar
ntp.lth.se ntp.uu.se ntp1.chalmers.se ntp2.chalmers.se ntp1.sp.se ntp2.sp.se ntp3.sp.se ntp4.sp.se ntp5.sp.se ntp6.sp.se ntp1.sth.netnod.se ntp2.sth.netnod.se ntp1.gbg.netnod.se ntp2.gbg.netnod.se ntp1.mmo.netnod.se ntp2.mmo.netnod.se ntp.kth.se ntp.gu.se ntp.su.se timer.sunet.se time.flygplats.net
Övriga NTP-servrar
Det finns en distribuerad server (RoundRobin) att tillgå på pool.ntp.org
.
Externa länkar
- Network Time Protocol (http://www.ntp.org)
- NTP Documentation Index (http://ntp.isc.org/bin/view/Main/DocumentationIndex)
- RFC 778, RFC 891, RFC 956, RFC 958, RFC 1305