Introducere
Pentru administratorii de server, este important să setați și să mențineți corect timpul pe servere. Timpul configurat greșit va provoca haos în mediul serverului, cum ar fi inconsistența datelor, eșecurile de sincronizare a datelor și probleme de planificare a lucrărilor.
Pentru a evita aceste probleme nedorite, mai întâi, trebuie să setați un fus orar rezonabil pe serverul dvs., oferind serverului dvs. o oră locală relativ precisă. În al doilea rând, în scopuri de comunicare, puteți utiliza, de asemenea, NTP (Network Time Protocol) pentru a sincroniza ora serverelor și serverelor NTP de la distanță, păstrând timpul pe mașinile dvs. într-o ordine perfectă.
În acest articol, vă voi arăta cum să setați fusul orar și cum să sincronizați ora folosind NTP pe un server CentOS 6 x64.
Cerințe preliminare
Presupun că ați implementat o instanță de server CentOS 6 x64 Vultr de la zero și v-ați autentificat ca root.
Pasul 1: Setați fusul orar
Introduceți următoarea comandă în terminalul dvs.:
date
După cum vedeți, sistemul de operare Vultr CentOS 6 x64 utilizează implicit timpul UTC. Puteți modifica în orice fus orar așa cum doriți, dar utilizarea zonei orale locale a locației fizice a serverului este o bună practică.
Dacă serverul nostru rula în China, atunci am folosi fusul orar „Asia / Shanghai”:
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Puteți naviga în director /usr/share/zoneinfopentru a găsi fusul orar corespunzător. Există o resursă excelentă pe Wikipedia pentru înregistrările pe fusul orar .
Introduceți datedin nou, veți constata că ora locală a sistemului s-a schimbat în CST (China Standard Time) GMT + 0800.
În continuare, vom scrie informațiile despre ora sistemului în ceasul hardware.
vi /etc/sysconfig/clock
Modificați conținutul acestui fișier ca mai jos.
ZONE="Asia/Shanghai"
UTC=false
ARC=false
Salvează și închide.
:wq
Scrieți ora sistemului în ceasul hardware.
hwclock --systohc --localtime
Introduceți hwclockpentru a vedea rezultatul.
Pasul 2: upgrade NTP
În mod implicit, programul daemon ntp a fost instalat și configurat pentru a rula pe instanța serverului Vultr CentOS 6 x64. În scopuri de securitate, primul lucru pe care ar trebui să îl facem este să îl actualizăm la cea mai recentă versiune.
Pentru a vedea versiunea ntpd:
ntpd --version
În momentul scrierii, versiunea implicită instalată este „4.2.6p5”.
Opriți serviciul ntpd:
service ntpd stop
Descărcați cea mai recentă versiune a programului ntp de pe site-ul său oficial:
wget http://archive.ntp.org/ntp4/ntp-4.2/ntp-4.2.8p2.tar.gz
Decuplați și accesați directorul nou creat:
tar -zxvf ntp-4.2.8p2.tar.gz
cd ntp-4.2.8p2
Instalați componentele necesare pentru instalarea noastră:
yum -y install gcc libcap-devel
Deoarece vom actualiza programul ntpd existent, trebuie să determinăm informațiile despre proprietar și grup:
cat /etc/group
cat /etc/passwd
După cum vedeți, programul ntp aparține proprietarului ntp (uid = 38) și grupului ntp (gid = 38).
În scopuri de securitate, actualizați configurația contului de utilizator ntp:
usermod -c "Network Time Protocol" -d /var/lib/ntp -u 38 -g ntp -s /bin/false ntp
Compilați și instalați programul ntp:
./configure --prefix=/usr --bindir=/usr/sbin --sysconfdir=/etc --enable-linuxcaps --with-lineeditlibs=readline --docdir=/usr/share/doc/ntp-4.2.8p2 && make
make install && install -v -o ntp -g ntp -d /var/lib/ntp
După terminarea instalării, puteți verifica din nou versiunea ntpd:
ntpd --version
După cum vedeți, programul ntp a fost actualizat la cea mai recentă versiune "4.2.8p2".
Pentru o mai bună performanță și securitate, trebuie să modificăm configurația implicită:
vi /etc/ntp.conf
În ntp.conffișierul de configurare, puteți găsi serverele ntp precum:
server 1.time.constant.com
server 2.time.constant.com
server 3.time.constant.com
Pentru o viteză de sincronizare mai rapidă, puteți schimba aceste servere la cele din regiune sau chiar din țara centrului de date. De exemplu, în Statele Unite, puteți utiliza:
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
Mai multe servere de timp pentru piscină NTP pot fi găsite pe site-ul de suport NTP .
În scopuri de securitate, ar trebui să restricționăm permisiunile. Încă în ntp.conffișierul de configurare, găsiți următoarele două rânduri:
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
Modificați-le după cum urmează:
restrict default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery
În plus, trebuie să adăugăm următoarele două rânduri:
pidfile /var/run/ntpd.pid
leapfile /etc/ntp.leapseconds
Salvează și închide:
:wq
Reporniți sistemul:
reboot
Adăugați următoarea propoziție în fișierul de configurare iptable /etc/sysconfig/iptables:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
Reporniți firewallul.
service iptables restart
În acest moment, NTP este complet configurat. Programul ntpd va ajusta continuu ora serverului.
Dacă este necesar, puteți verifica starea de sincronizare a timpului cu următoarea comandă:
ntpstat