1. Belang van NTP op Ubuntu
Wat is NTP?
NTP (Network Time Protocol) is een protocol dat wordt gebruikt om de tijd van computersystemen nauwkeurig te synchroniseren via een netwerk. Het handhaven van een nauwkeurige tijd is essentieel voor logconsistentie, transactieverwerking en precieze netwerkcommunicatie. Tijdverschillen kunnen leiden tot netwerkfouten en gegevensinconsistenties, waardoor het vooral cruciaal is voor serveroperaties.
Op Ubuntu is chrony de aanbevolen keuze, omdat het nauwkeurige tijdsynchronisatie mogelijk maakt, zelfs in onstabiele netwerkomgevingen. Bovendien is Chrony geoptimaliseerd voor lage latentie en snelle synchronisatie, waardoor het geschikt is voor zowel server- als clientomgevingen.
2. NTP configureren
Installeren en instellen van Chrony
Chrony is de standaard NTP-client voor Ubuntu 18.04 en later. Volg de onderstaande stappen om het te installeren en tijdsynchronisatie in te stellen met een NTP-server.
Installatiestappen
sudo apt update
sudo apt install chrony
Start vervolgens de Chrony-service en schakel in dat deze automatisch start.
sudo systemctl start chrony
sudo systemctl enable chrony
Het configuratiebestand bevindt zich op /etc/chrony/chrony.conf. Als je NTP-servers in de buurt van Japan gebruikt, configureer ze dan als volgt:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
De iburst-optie maakt snellere synchronisatie mogelijk tijdens de eerste verbinding.

3. NTP-server optimaliseren en kiezen
Gebruik van het NTP Pool Project
Het NTP Pool Project is een wereldwijde initiatief dat geoptimaliseerde NTP-servers biedt op basis van geografische regio’s. Door meerdere NTP-servers te configureren, wordt de betrouwbaarheid verbeterd, zodat als één server uitvalt, andere kunnen overnemen.
Het volgende configuratievoorbeeld maakt gebruik van NTP-servers die zich in Japan bevinden:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. Tijdzone configureren
Gebruik van het timedatectl-commando
Standaard is Ubuntu ingesteld op de UTC-tijdzone. Om deze te wijzigen naar Japan Standard Time (JST), gebruik je het volgende commando:
sudo timedatectl set-timezone Asia/Tokyo
Na het wijzigen van de tijdzone kun je de huidige instellingen verifiëren met het volgende commando:
timedatectl
5. Probleemoplossing
Wanneer NTP niet synchroniseert
Controle van de firewall
NTP gebruikt UDP-poort 123, die mogelijk door de firewall wordt geblokkeerd. Gebruik het volgende commando om poort 123 te openen:
sudo ufw allow 123/udp
Controle op valse tickers
Gebruik het ntpq -p-commando om te controleren of de NTP-servers correct functioneren. Valse tickers (servers die onjuiste tijd leveren) worden gemarkeerd met een x. Indien gedetecteerd, overweeg dan alternatieve servers te selecteren of de configuratie aan te passen.
Stratum 16-fout
Als de NTP-server niet kan synchroniseren met hoger niveau servers, kan een Stratum 16-fout optreden. Dit geeft aan dat de server niet correct is verbonden of dat er een netwerkprobleem is. Controleer je server- en netwerkinstellingen en configureer een betrouwbare NTP-server opnieuw.
Handmatig tijd synchroniseren
Om handmatig tijd te synchroniseren met Chrony, voer je het volgende commando uit:
sudo ntpdate ntp.nict.jp
Je kunt ook de Chrony-logboeken bekijken om synchronisatieproblemen te diagnosticeren:
sudo journalctl -u chrony

6. NTP optimaliseren voor omgevingen met hoge belasting
Aanpassen van minpoll en maxpoll
In omgevingen waar hoge-precisie tijdsynchronisatie vereist is, kan het aanpassen van het NTP-pollinginterval zorgen voor frequentere synchronisatie en tijdsdrift minimaliseren. Hieronder staat een voorbeeldconfiguratie om de synchronisatiefrequentie te verhogen:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
NTP beheren met Juju
In grootschalige cloudomgevingen kan Juju worden gebruikt om het beheer van de NTP-service te automatiseren. Juju houdt de belasting op elke host in de gaten en selecteert de optimale host als NTP‑server. De volgende commando’s implementeren NTP met Juju:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
Deze automatisering verbetert het NTP‑beheer en zorgt voor efficiënte tijdsynchronisatie met verdeelde belastingen.
7. Beveiliging verbeteren
Toegang tot NTP‑servers beperken
Om de beveiliging te verbeteren, kun je de toegang tot de NTP‑server beperken tot specifieke IP‑adressen. Door toegangscontrole‑regels toe te voegen aan /etc/chrony/chrony.conf, kun je NTP‑verzoeken alleen toestaan vanaf bepaalde netwerken of IP‑adressen:
allow 192.168.1.0/24
Dit voorkomt ongeautoriseerde NTP‑verzoeken van externe bronnen, waardoor de beveiliging van je interne netwerk wordt versterkt.

 
 


