Netwerken en automatisering 14 min. leestijd

Een lokale NTP-server configureren op MikroTik RouterOS

RouterOS synchroniseren met meerdere bronnen, de tijd via DHCP distribueren naar het LAN, UDP 123 beveiligen en optioneel koppige clients omleiden.

Een exacte tijd is geen cosmetisch detail. De logs van een firewall, TLS-certificaten, authenticatie, geplande taken, back-ups en incidentcorrelatie zijn allemaal afhankelijk van consistente klokken. Wanneer elke camera, NAS, server en verbonden apparaat zijn eigen dienst op internet bevraagt, verliest de beheerder zowel zicht als controle.

RouterOS 7 kan dit probleem oplossen door twee rollen te vervullen : NTP-client naar meerdere externe bronnen, en vervolgens unicast NTP-server voor het lokale netwerk. De clients gebruiken dan het adres van de MikroTik als referentie. Een omleidingsregel kan ook de UDP 123-verzoeken die naar buiten worden gestuurd opvangen, maar deze maatregel moet facultatief en gecontroleerd blijven.

Architectuur en beperkingen

De aanbevolen stroom is eenvoudig : meerdere NTP-bronnen voeden RouterOS, RouterOS kondigt zijn adres aan via DHCP, en vervolgens bevragen de clients hem via unicast. De firewall staat UDP 123 vanaf het LAN toe en weigert verzoeken die vanuit het WAN binnenkomen.

Schema van de MikroTik gesynchroniseerd op vier bronnen en vervolgens de tijd bedienen aan de LAN-clients met DHCP-optie 42
De router voedt zich met meerdere bronnen, wordt de unicast-referentie van het LAN en blijft gesloten voor NTP-verzoeken vanuit het WAN. De omleiding van externe clients is facultatief.

De voorbeelden gebruiken :

  • het netwerk 192.168.88.0/24 ;
  • de router 192.168.88.1 ;
  • de interfacelijsten LAN en WAN ;
  • de tijdzone Europe/Brussels ;
  • vier namen van de Belgische NTP-pool.

Pas de adressen, de WAN-interface en de tijdzone aan. NTP transporteert de tijd in UTC ; de tijdzone verandert alleen de lokale weergave van de router en de tijdstempel die door zijn hulpprogramma's wordt gepresenteerd.

1. Back-up maken en voorwaarden controleren

Werk vanuit het LAN en activeer de Safe Mode met Ctrl+X. Bewaar een export en een binaire back-up voordat u de firewall of DHCP aanpast.

/export file=avant-ntp
/system backup save name=avant-ntp
/system resource print
/system clock print
/system ntp client print
/system ntp client servers print detail
/system ntp server print
/ip dhcp-server network print detail

NTP-servernamen vereisen een functionerende DNS-resolutie. Controleer ook de IP-toegang.

:put [:resolve 0.be.pool.ntp.org]
/ping 1.1.1.1 count=4

2. De tijdzone instellen

/system clock
set time-zone-name=Europe/Brussels
/system clock print

De tijdzone-database van RouterOS past automatisch de zomertijd toe volgens de regels van de tijdzone. Vermijd een vaste UTC-offset : deze zou onjuist worden bij de seizoenswissel.

3. Meerdere NTP-bronnen kiezen

De RFC 8633-best-practicesgids beveelt ten minste vier onafhankelijke bronnen aan wanneer een betrouwbare tijd belangrijk is. Vier bronnen maken het mogelijk om drie meningen te behouden als er een onbeschikbaar of inconsistent wordt.

Voor een netwerk in België publiceert het NTP Pool Project 0.be.pool.ntp.org tot 3.be.pool.ntp.org. Namen zijn te verkiezen boven hardgecodeerde adressen : de pool kan de door DNS geretourneerde servers vernieuwen. Voor een kritieke infrastructuur gebruikt u beter contractueel beheerde bronnen, interne klokken of een specifieke architectuur.

/system ntp client
set enabled=yes mode=unicast

/system ntp client servers
add address=0.be.pool.ntp.org comment="NTP Pool BE 0"
add address=1.be.pool.ntp.org comment="NTP Pool BE 1"
add address=2.be.pool.ntp.org comment="NTP Pool BE 2"
add address=3.be.pool.ntp.org comment="NTP Pool BE 3"

De standaardwaarden min-poll=6, max-poll=10 en iburst=yes zijn over het algemeen geschikt. Verminder de intervallen niet agressief : dit maakt de klok niet magisch nauwkeuriger en verhoogt de belasting van diensten die grotendeels door vrijwilligers worden aangeboden.

Als het WAN ook NTP-servers via DHCP ontvangt, kunnen deze verschijnen als dynamische vermeldingen. Voor een volledig gecontroleerde selectie schakelt u hun import uit op de betreffende DHCP-client nadat u de interface hebt geïdentificeerd.

/ip dhcp-client print detail
/ip dhcp-client
set [find where interface="ether1"] use-peer-ntp=no

Voer dit tweede commando niet uit als het WAN geen DHCP gebruikt of als de interface niet ether1 heet.

4. Controleren of RouterOS daadwerkelijk gesynchroniseerd is

/system ntp client print
/system ntp client servers print detail
/system ntp monitor-peers

Wacht op de status synchronized. Controleer ook synced-server, synced-stratum en system-offset. De peers moeten plausibele vertragingen en offsets vertonen. Een geslaagde DNS-resolutie bewijst niet dat de UDP 123-uitwisselingen daadwerkelijk slagen.

5. De unicast NTP-server activeren

Voor clients die expliciet zijn geconfigureerd met het adres van de router, volstaat het om de server te activeren. De broadcast-, multicast- en manycast-modi zijn in dit scenario niet nodig en voegen onnodig verkeer en een diagnostisch oppervlak toe.

/system ntp server
set enabled=yes broadcast=no multicast=no manycast=no \
    use-local-clock=no
/system ntp server print

use-local-clock=no voorkomt dat de router zijn interne oscillator als een geldige referentie presenteert wanneer de upstream verdwijnt. De MikroTik-documentatie herinnert eraan dat deze klok onder andere afhankelijk is van temperatuur, energiebeheer en hardware : het is geen bron van nauwkeurigheid.

6. Het LAN toestaan en het WAN sluiten

De dienst luistert op UDP 123. Voeg een toelating toe voor de vertrouwde netwerken vóór de definitieve afwijzing van de keten input. Een standaard RouterOS-firewall blokkeert al nieuwe verbindingen vanuit het WAN, maar expliciete regels maken de intentie verifieerbaar.

/ip firewall filter
add chain=input action=accept in-interface-list=LAN \
    protocol=udp dst-port=123 \
    comment="NTP: LAN-clients toestaan"
add chain=input action=drop in-interface-list=WAN \
    protocol=udp dst-port=123 \
    comment="NTP: WAN-verzoeken weigeren"

Controleer de volgorde met /ip firewall filter print. De LAN-toelating moet voorafgaan aan een algemene afwijzing van het LAN, en de WAN-regel mag de gevestigde beschermingen niet vervangen zonder audit. Een onnodig blootgestelde NTP-server kan informatie verstrekken en, afhankelijk van de implementatie, deelnemen aan versterkingsmisbruik.

7. De router aankondigen met DHCP-optie 42

RouterOS heeft een veld ntp-server in elk DHCP-netwerk. Dit komt overeen met optie 42 en accepteert tot twee adressen.

/ip dhcp-server network
set [find where address="192.168.88.0/24"] \
    ntp-server=192.168.88.1
/ip dhcp-server network print detail \
    where address="192.168.88.0/24"

De clients moeten hun lease vernieuwen of opnieuw verbinding maken met het netwerk. DHCP legt het gebruik van optie 42 echter niet op : de server stuurt deze normaal alleen door als de client erom vraagt, en sommige systemen behouden hun eigen tijdbeleid. Werkstations die lid zijn van een domein moeten bijvoorbeeld de tijdshiërarchie respecteren die door dat domein is gedefinieerd.

8. UDP 123 omleiden : een optie, geen reflex

Een ingebed apparaat kan DHCP negeren en een hardgecodeerd NTP-adres bevragen. RouterOS kan UDP 123-verzoeken die bestemd zijn voor een niet-lokaal adres omleiden naar zijn eigen dienst.

/ip firewall nat
add chain=dstnat action=redirect to-ports=123 \
    in-interface-list=LAN protocol=udp dst-port=123 \
    dst-address-type=!local \
    comment="NTP: LAN omleiden naar RouterOS"

Plaats deze regel vóór een meer algemene dstnat-regel die het pakket al zou onderscheppen. De test dst-address-type=!local voorkomt dat een verzoek dat al aan de router is gericht, wordt opgepakt.

De omleiding heeft vier belangrijke beperkingen :

  • ze corrigeert geen defecte client die duizenden verzoeken verzendt : ze verplaatst de belasting naar de MikroTik ;
  • ze maskeert voor de client de werkelijke identiteit van de bron en moet worden gedocumenteerd ;
  • ze kan een geauthenticeerd NTP-beleid of een server die een nauwkeurige referentie moet bereiken, breken ;
  • ze vervangt niet de configuratie van beheerbare apparaten.

Maak een uitsluitingslijst voor domeincontrollers, NTS-servers, GPS/PTP-apparatuur of laboratoria die een specifieke bron moeten bereiken, en voeg vervolgens src-address-list=!ntp-bypass toe aan de regel.

/ip firewall address-list
add list=ntp-bypass address=192.168.88.10 \
    comment="Zelfstandige tijdserver"

/ip firewall nat
set [find where comment="NTP: LAN omleiden naar RouterOS"] \
    src-address-list=!ntp-bypass

9. Testen vanaf meerdere systemen

Controleer eerst de RouterOS-tellers.

/ip firewall filter print stats where comment~"NTP:"
/ip firewall nat print stats where comment~"NTP:"
/ip firewall connection print where protocol=udp dst-port=123
/log print where topics~"ntp"

Bevraag vervolgens de router vanaf de clients.

# Linux avec chrony
chronyc sources -v
chronyc tracking

# Windows
w32tm /stripchart /computer:192.168.88.1 /dataonly /samples:5

# macOS
sntp -d 192.168.88.1

De Linux-commando's tonen de bron die daadwerkelijk door de lokale dienst is geselecteerd. Onder Windows en macOS bevestigt de punctuele test dat de MikroTik antwoordt ; het bewijst niet dat het systeem zijn permanente bron heeft gewijzigd. Controleer vervolgens de configuratie van de tijdsdienst die eigen is aan het platform.

Veiligheid en nauwkeurigheid

Klassieke NTP is niet versleuteld en authenticeert de bron zonder gedeelde sleutel niet cryptografisch. Het centraliseren van de clients vermindert de directe uitgangen en vergemakkelijkt de observatie, maar beschermt de route tussen RouterOS en zijn bronnen niet tegen een tegenstander die op het pad is geplaatst.

RouterOS documenteert het gebruik van symmetrische NTP-sleutels. Deze werken alleen als de upstream-server en de client een consistent geconfigureerde sleutel delen. Voor een hoge integriteitsvereiste bestudeert u een interne server die Network Time Security ondersteunt, een correct beveiligde GNSS-referentie of een contractuele tijdsdienst. NTS is gedefinieerd door RFC 8915 en mag niet worden verward met een eenvoudige UDP-omleiding.

Probleemoplossing

SymptoomWaarschijnlijke oorzaakControle
RouterOS-client in waitingDNS, route of UDP 123 geblokkeerdFQDN's oplossen, peers en uitgaande firewall controleren
De router antwoordt met een ongeldige tijdUpstream verloren of use-local-clock=yesStatus en stratum controleren en lokale klok uitschakelen
De clients zien optie 42 nietOude lease of niet-aangevraagde optieLease vernieuwen en NTP-beleid van de client inspecteren
De NAT-teller blijft op nulClient al geconfigureerd op de router of verkeerd geplaatste regelTest een externe bestemming en controleer de volgorde dstnat
De MikroTik ontvangt te veel pakkettenDefect verbonden apparaat of lusBronadres identificeren, client isoleren en firmware corrigeren
Een applicatie weigert de tijd na omleidingAuthenticatie of strikte bestemmingVoeg het apparaat toe aan ntp-bypass
NTP antwoordt vanaf internetinput WAN-regel te soepelTest van buitenaf en controleer de afwijzingstellers

Terugdraaien

Verwijder eerst de omleiding, dan de DHCP-aankondiging en de dienst. Verwijder de bronnen alleen als ze uitsluitend voor dit project zijn aangemaakt.

/ip firewall nat remove \
    [find where comment="NTP: LAN omleiden naar RouterOS"]
/ip firewall filter remove [find where comment~"NTP:"]
/ip firewall address-list remove [find where list="ntp-bypass"]
/ip dhcp-server network set \
    [find where address="192.168.88.0/24"] ntp-server=""
/system ntp server set enabled=no
/system ntp client servers remove [find where comment~"NTP Pool BE"]

Als de NTP-client van de router al bestond vóór deze procedure, laat hem dan actief. De router heeft zelf ook een correcte klok nodig voor zijn logs, certificaten en geplande taken.

Conclusie

Een goede implementatie bestaat er niet in om alle NTP-modi te activeren. RouterOS synchroniseert via unicast op meerdere bronnen, bedient vervolgens het LAN via unicast, kondigt zijn adres aan met DHCP-optie 42 en weigert verzoeken vanuit het WAN. Deze architectuur is eenvoudig, meetbaar en gemakkelijk te documenteren.

De transparante omleiding kan apparaten bevatten die het netwerkbeleid negeren, maar ze moet worden bewaakt en voorzien van uitzonderingen. Het doel blijft een consistente en traceerbare tijd, niet alleen een NAT-teller die oploopt.

Technische referenties

Over de auteur

Jeremy Kraft beheert de infrastructuur en de zelfgehoste diensten van het IBCSC. Deze gidsen beschrijven configuraties die echt zijn uitgerold en voor publicatie opnieuw zijn nagekeken.

Discussie

Reacties

0

Nog geen reacties. U kunt de discussie openen met een vraag of uw eigen ervaring.

Hebt u een account? Aanmelden

Platte tekst, maximaal 2 000 tekens. Nieuwe reacties worden gemodereerd. Uw naam wordt bij de reactie getoond. Er wordt geen e-mailadres gevraagd; alleen een onomkeerbare vingerafdruk van uw IP-adres wordt bewaard tegen spam.