Introduksjon
Forutsetninger
Trinn 1: Still inn tidssonen
Trinn 2: Oppgrader NTP
Trinn 3: Konfigurer ntp
Trinn 4: Konfigurer brannmuren
Introduksjon
For serveradministratorer er det viktig å stille inn og vedlikeholde tiden på serverne riktig. Feilkonfigurert tid vil forårsake kaos i servermiljøet, for eksempel datainkonsekvens, datasynkroniseringsfeil og jobbplanleggingsproblemer.
For å unngå disse uønskede problemene må du først angi en rimelig tidssone på serveren din, noe som gir serveren en relativt presis lokal tid. For det andre, for kommunikasjonsformål, kan du også bruke NTP (Network Time Protocol) for å synkronisere tiden til serverne og eksterne NTP-servere, og holde tiden på maskinene dine i perfekt orden.
I denne artikkelen vil jeg vise deg hvordan du setter tidssonen og hvordan du synkroniserer tiden ved å bruke NTP på en CentOS 6 x64-server.
Forutsetninger
Jeg antar at du har distribuert en CentOS 6 x64 Vultr-serverforekomst fra bunnen av og har logget på som root.
Trinn 1: Still inn tidssonen
Skriv inn følgende kommando i terminalen din:
date
Som du ser, bruker Vultr CentOS 6 x64 OS UTC-tiden som standard. Du kan endre den til hvilken som helst tidssone som du ønsker, men å bruke den lokale tidssonen for serverens fysiske plassering er en beste praksis.
Hvis serveren vår kjørte i Kina, ville vi brukt tidssonen "Asia/Shanghai":
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Du kan navigere til katalogen for /usr/share/zoneinfoå finne riktig tidssone. Det er en utmerket ressurs på Wikipedia for tidssoneoppføringer .
Inntasting dateigjen vil du finne at den lokale systemtiden har endret seg til CST (Kina standardtid) GMT+0800.
Deretter vil vi skrive systemtidsinformasjonen inn i maskinvareklokken.
vi /etc/sysconfig/clock
Endre innholdet i denne filen som nedenfor.
ZONE="Asia/Shanghai"
UTC=false
ARC=false
Lagre og avslutt.
:wq
Skriv systemtiden inn i maskinvareklokken.
hwclock --systohc --localtime
Inndata for hwclockå se resultatet.
Trinn 2: Oppgrader NTP
Som standard er ntp daemon-programmet installert og satt opp til å kjøre på Vultr CentOS 6 x64-serverforekomsten. Av sikkerhetshensyn er det første vi bør gjøre å oppgradere til den nyeste versjonen.
For å se ntpd-versjonen:
ntpd --version
I skrivende stund er standard installert versjon "4.2.6p5".
Stopp ntpd-tjenesten:
service ntpd stop
Last ned den nyeste versjonen av ntp-programmet fra det offisielle nettstedet:
wget http://archive.ntp.org/ntp4/ntp-4.2/ntp-4.2.8p2.tar.gz
Pakk ut og gå inn i den nyopprettede katalogen:
tar -zxvf ntp-4.2.8p2.tar.gz
cd ntp-4.2.8p2
Installer de nødvendige komponentene for vår installasjon:
yum -y install gcc libcap-devel
Fordi vi skal oppgradere det eksisterende ntpd-programmet, må vi bestemme eier- og gruppeinformasjonen:
cat /etc/group
cat /etc/passwd
Som du ser, tilhører ntp-programmet eieren ntp (uid=38) og gruppen ntp (gid=38).
Av sikkerhetshensyn oppdaterer du konfigurasjonen av ntp-brukerkontoen:
usermod -c "Network Time Protocol" -d /var/lib/ntp -u 38 -g ntp -s /bin/false ntp
Kompiler og installer ntp-programmet:
./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
Når installasjonen er fullført, kan du sjekke ntpd-versjonen igjen:
ntpd --version
Som du ser har ntp-programmet blitt oppgradert til siste versjon "4.2.8p2".
For bedre ytelse og sikkerhet må vi endre standardkonfigurasjonen:
vi /etc/ntp.conf
I ntp.confkonfigurasjonsfilen kan du finne ntp-servere som:
server 1.time.constant.com
server 2.time.constant.com
server 3.time.constant.com
For raskere synkroniseringshastighet kan du endre disse serverne til de i regionen eller til og med i landet til datasenteret ditt. I USA kan du for eksempel bruke:
server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
Flere NTP-bassengtidsservere kan bli funnet på NTP-støttenettstedet .
Av sikkerhetshensyn bør vi begrense tillatelser. Mens du fortsatt er i ntp.confkonfigurasjonsfilen, finn følgende to rader:
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
Endre dem som nedenfor:
restrict default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery
I tillegg må vi legge til følgende to rader:
pidfile /var/run/ntpd.pid
leapfile /etc/ntp.leapseconds
Lagre og avslutt:
:wq
Start systemet på nytt:
reboot
Legg til følgende setning til iptable-konfigurasjonsfilen /etc/sysconfig/iptables:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
Start brannmuren på nytt.
service iptables restart
På dette tidspunktet er NTP fullt konfigurert. ntpd-programmet vil kontinuerlig justere tiden til serveren din.
Om nødvendig kan du sjekke status for tidssynkronisering med følgende kommando:
ntpstat