Certificat | LPIC-1 |
Examen: | 102 (torneu a la resta de temes) |
Fitxers: | LPI108.1_GestioUsuarisIGrups.pdf (LPI108.1_GestioUsuarisIGrups.odp) |
Objectius: | http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_102_detailed_objectives |
Dipòsit SVN: | https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_102/108.1 |
Usuari: | anonymous |
Paraula de pas: | qualsevol paraula de pas |
108.1. Mantenir el temps del sistema | |
---|---|
![]() |
|
![]() |
Àrees Clau de Coneixement:
|
![]() |
La següent és una llista parcial de fitxers, termes i utilitats utilitzades: |
![]() |
Apunts: LPI 108.1. Mantenir el temps del sistema |
El protocol NTP és un protocol client-servidor on els clients poden utilitzar una comanda per obtenir l'hora exacte d'un servidors remots (servidors NTP).
IMPORTANT: Cal tenir en compte que moltes estacions de treball o servidors que pot ser que no vulguin proporcionar servei d'hora a ningun client, si necessiten una configuració d'hora força exacte utilitzen el servidor instal·lat en localhost. Vegeu el típic error que succeïx al intentar utilitzar client i servidor al mateix temps LPI_108.1._Mantenir_el_temps_del_sistema#NTP_socket_is_in_use.2C_exiting
A sistemes operatius Debian antics cal instal·lar el paquet ntp-server
$ sudo apt-get install ntp ntpdate ntp-server
En canvi a Ubuntu el paquet que conté el servidor és ntp a seques.
$ sudo apt-get install ntp ... S'està desempaquetant ntp (de .../ntp_1%3a4.2.4p0+dfsg-1ubuntu2.1_i386.deb) ... S'està configurant ntp (1:4.2.4p0+dfsg-1ubuntu2.1) ... * Starting NTP server ntpd [ OK ]
IMPORTANT: A un servidor no us cal ntpdate ja que el servidor ja s'encarrega de configurar l'hora exacte de la màquina a la que està corrent
Els podeu consultar amb:
$ dpkg -L ntp
Fitxers de configuració:
$ dpkg -L ntp | grep etc /etc /etc/dhcp3 /etc/dhcp3/dhclient-enter-hooks.d /etc/dhcp3/dhclient-enter-hooks.d/ntp /etc/ntp.conf /etc/default /etc/default/ntp /etc/init.d /etc/init.d/ntp /etc/cron.daily /etc/cron.daily/ntp /etc/logcheck /etc/logcheck/ignore.d.server /etc/logcheck/ignore.d.server/ntp
Comandes:
$ dpkg -L ntp | grep bin /usr/sbin /usr/sbin/ntp-wait /usr/sbin/ntpd /usr/sbin/ntptime /usr/sbin/tickadj /usr/sbin/ntp-keygen /usr/bin /usr/bin/ntpsweep /usr/bin/ntptrace /usr/bin/ntpdc /usr/bin/ntpq
Com gairebé tots els dimonis del sistema, es control·len amb scripts System V:
$ sudo /etc/init.d/ntp Usage: /etc/init.d/ntp {start|stop|restart|try-restart|force-reload|status}
Podeu iniciar/aturar el servei amb:
$ sudo /etc/init.d/ntp stop $ sudo /etc/init.d/ntp start
O tornar a iniciar amb:
$ sudo /etc/init.d/ntp restart
o
$ sudo /etc/init.d/ntp reload
NOTA: Si vegeu el codi del fitxer, veureu que reload és un simple stop seguit d'un start
Podem comprovar que el servidor està en execució amb:
$ sudo /etc/init.d/ntp status * NTP server is running.
o
$ ps aux | grep ntp ntp 1133 0.0 0.0 4228 1256 ? Ss 06:25 0:34 /usr/sbin/ntpd -p /var/run/ntpd.pid -u 121:131 -g
Els ports que utilitza NTP els podeu consultar al fitxer /etc/services:
$ cat /etc/services | grep ntp ... ntp 123/tcp ntp 123/udp # Network Time Protocol ...
S'utilitza el port UDP tal i com podeu comprovar si executeu després d'instal·lar un servidor de NTP:
$ sudo nmap -p 123 localhost ... PORT STATE SERVICE 123/tcp closed ntp
En canvi si veu l'escanner amb UDP:
$ sudo nmap -sU -p 123 localhost ... PORT STATE SERVICE 123/udp open|filtered ntp
La instal·lació per defecte ja té una configuració mínima que funciona correctament.
Editeu el fitxer /etc/ntp.conf i busqueu la línia server
$ sudo joe /etc/ntp.conf ... server ntp.ubuntu.com
Podeu afegir altres servidors. Per exemple:
server pool.ntp.org
Ara reinicieu el servei:
$ sudo /etc/init.d/ntp restart
Podeu comprovar el funcionament amb ntpq.
L'ordre ntpq (NTP Query) serveix per fer peticions a servidors NTP. Per comprovar que el servidor que teniu en local funciona correctament, executeu:
$ sudo ntpq -pn remote refid st t when poll reach delay offset jitter ============================================================================== 91.189.94.4 193.79.237.14 2 u 12 64 1 69.890 12.851 0.001 84.88.69.10 130.206.3.166 2 u 11 64 1 64.542 9.647 0.001
El delay i l'offset han de ser diferents de 0 i el jitter menor a 100. El * a l'inici d'una línia indica que la sincronització es bona amb aquest servidor. Si no teniu la estrella atureu el servidor de NTP, executeu ntpdate i torneu a executar el servidor:
$ sudo service ntp stop // o sudo /etc/init.d/ntp start $ sudo ntpdate pool.ntp.org 6 Sep 12:52:00 ntpdate[7959]: adjust time server 138.100.11.74 offset -0.191149 sec $ sudo service ntp start // sudo /etc/init.d/ntp stop
Si tot va bé us ha de sortir quelcom similar a:
$ sudo ntpq -pn remote refid st t when poll reach delay offset jitter ============================================================================== *91.189.94.4 193.79.237.14 2 u 64 64 177 76.239 -23.828 54.168 +217.127.32.90 130.206.3.166 2 u 62 64 177 92.513 -76.779 86.915
Sinó s'indica cap host s'utilitza per defecte localhost. Podeu consultar altres servidors:
$ sudo ntpq -p pool.ntp.org remote refid st t when poll reach delay offset jitter ============================================================================== +ntp2.rrze.uni-e .PPS. 1 u 1892 2048 377 83.643 -1.414 0.677 *ntp1.nl.uu.net .PPS. 1 u 99 2048 377 56.225 -1.873 2.459 chronos.csr.net .GPS. 1 u 11d 64 0 81.497 0.605 0.000 +hora.roa.es .GPS. 1 u 1715 2048 377 57.878 5.070 4.404
També podeu executar:
$ watch -n 1 date
I consultar alguna pàgina com:
http://time.is/
Recursos:
A sistemes de la família Debian:
$ sudo apt-get install ntpdate
$ dpkg -L ntpdate /. /etc /etc/dhcp3 /etc/dhcp3/dhclient-exit-hooks.d /etc/dhcp3/dhclient-exit-hooks.d/ntpdate /etc/default /etc/default/ntpdate /etc/logcheck /etc/logcheck/ignore.d.server /etc/logcheck/ignore.d.server/ntpdate /etc/network /etc/network/if-up.d /etc/network/if-up.d/ntpdate /usr /usr/sbin /usr/sbin/ntpdate-debian /usr/sbin/ntpdate /usr/share /usr/share/doc /usr/share/doc/ntpdate /usr/share/doc/ntpdate/README.Debian /usr/share/doc/ntpdate/copyright /usr/share/doc/ntpdate/NEWS.Debian.gz /usr/share/doc/ntpdate/changelog.Debian.gz /usr/share/man /usr/share/man/man8 /usr/share/man/man8/ntpdate.8.gz /usr/share/man/man8/ntpdate-debian.8.gz
Per sincronitzar la hora del sistema cal executar:
$ sudo ntpdate servidordentp
IMPORTANT: Si a la mateixa màquina hi ha un servidor de NTP, aleshores heu d'aturar-lo abans d'executar l'ordre ntpdate
Per exemple:
$ sudo ntpdate ntp.ubuntu.com
Podeu utilitzar la comanda:
$ date
Per consultar la data i l'hora.
El fitxer:
$ cat /etc/network/if-up.d/ntpdate
És l'encarregat de configurar la hora durant l'inici del sistema (de fet concretament després de configurar la xarxa). S'executa un script anomenat:
/usr/sbin/ntpdate-debian
I també es configura amb DHCP gràcies als fitxers DHCP Hooks:
/etc/dhcp3/dhclient-exit-hooks.d/ntpdate
En un servidor caldrà afegir una tasca de cron per tal de sincronitzar més sovint (de fet un servidor pot estar llargues temporades sense ser reiniciat). Per sincronitzar cada dia:
$ sudo joe /etc/cron.daily/ntpdate
I afegiu:
#/bin/bash ntpdate ntp.ubuntu.com
Cal fer-lo executable:
$ sudo chmod 755 /etc/cron.daily/ntpdate
Vegeu Xen#Xen_i_NTP.
El projecte pool.ntp.org és un gran cluster virtual de servidors d'hora que proporcionen un servei d'hora fàcil i fiable per a milions d'usuaris.
Els servidors que estan al "pool" són del domini pool.ntp.org a més de diferents subdominis dividit en zones geogràfiques i són distribuïts entre els clients per Round Robin DNS (balanceig de càrrega)
A l'octubre de 2009 el pool tenia 1850 servidors actius. Com està en continua expansió el projecte sempre té necessitat dem és servidors.
El pool és utilitzat per milions de sistemes de tot el món i és tracta del servidor per defecte per a la majoria de distribucions Linux i molts dispositius de xarxa.
Podeu consultar els servidors de la vostra zona a:
Recursos
Consulteu ntpdate.
Consulteu /usr/share/zoneinfo
Consulteu /etc/timezone
Consulteu /etc/localtime
Consulteu /etc/ntp.conf
Consulteu date
Consulteu hwclock.
Consulteu ntpd.
Consulteu ntpdate.
Si al intentar sincronitzar l'hora d'un client NTP obteniu l'error:
$ sudo ntpdate ntp.ubuntu.com 18 Apr 20:10:56 ntpdate[4667]: the NTP socket is in use, exiting
És molt possible que la màquina local estigui corrent servidor de NTP. Si teiu un servidor de NTP instal·lat no us cal sincrnotizar l'hora (ja ho fa el servidor ntp per vosaltres).
De fet, es considera mol més exacte la configuració d'hora obtinguda amn un servidor NTP instal·lat que no pas la que es pot obtenir amb ntpdate (encara que automatitzem la sincronització amb cron)