Lokalen NTP-Server auf MikroTik RouterOS einrichten
RouterOS an mehrere Quellen synchronisieren, die Zeit über DHCP im LAN verteilen, UDP 123 schützen und optional widerstrebende Clients umleiten.
Eine exakte Uhrzeit ist kein kosmetisches Detail. Die Protokolle einer Firewall, TLS-Zertifikate, die Authentifizierung, geplante Aufgaben, Backups und die Korrelation von Vorfällen hängen alle von konsistenten Uhren ab. Wenn jede Kamera, jedes NAS, jeder Server und jedes verbundene Objekt seinen eigenen Dienst im Internet abfragt, verliert der Administrator sowohl an Sichtbarkeit als auch an Kontrolle.
RouterOS 7 kann dieses Problem lösen, indem es zwei Rollen übernimmt : NTP-Client zu mehreren externen Quellen und dann Unicast-NTP-Server für das lokale Netzwerk. Die Clients verwenden dann die Adresse des MikroTik als Referenz. Eine Umleitungsregel kann auch die nach außen gesendeten UDP 123-Anforderungen abfangen, aber diese Maßnahme muss optional und kontrolliert bleiben.
Architektur und Grenzen
Der empfohlene Ablauf ist einfach : Mehrere NTP-Quellen speisen RouterOS, RouterOS kündigt seine Adresse per DHCP an, und die Clients fragen es dann per Unicast ab. Die Firewall lässt UDP 123 aus dem LAN zu und lehnt die aus dem WAN eintreffenden Anforderungen ab.
Die Beispiele verwenden :
- das Netzwerk
192.168.88.0/24; - den Router
192.168.88.1; - die Schnittstellenlisten
LANundWAN; - die Zeitzone
Europe/Brussels; - vier Namen des belgischen NTP-Pools.
Passen Sie die Adressen, die WAN-Schnittstelle und die Zeitzone an. NTP transportiert die Zeit in UTC ; die Zeitzone ändert nur die lokale Anzeige des Routers und die von seinen Werkzeugen angezeigten Zeitstempel.
1. Sichern und Überprüfen der Voraussetzungen
Arbeiten Sie aus dem LAN und aktivieren Sie den Safe Mode mit Ctrl+X. Behalten Sie einen Export und ein binäres Backup bei, bevor Sie die Firewall oder das DHCP ändern.
/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
Die NTP-Servernamen erfordern eine funktionierende DNS-Auflösung. Überprüfen Sie auch den IP-Zugriff.
:put [:resolve 0.be.pool.ntp.org]
/ping 1.1.1.1 count=4
2. Einstellen der Zeitzone
/system clock
set time-zone-name=Europe/Brussels
/system clock print
Die Zeitzonendatenbank von RouterOS wendet die Sommerzeit automatisch nach den Regeln der Zeitzone an. Vermeiden Sie eine feste UTC-Verschiebung : Sie würde beim saisonalen Wechsel falsch.
3. Auswählen mehrerer NTP-Quellen
Der RFC 8633-Leitfaden für bewährte Verfahren empfiehlt mindestens vier unabhängige Quellen, wenn eine zuverlässige Uhrzeit wichtig ist. Vier Quellen ermöglichen es, drei Meinungen beizubehalten, wenn eine davon nicht verfügbar oder inkohärent wird.
Für ein Netzwerk in Belgien veröffentlicht das NTP Pool Project 0.be.pool.ntp.org bis 3.be.pool.ntp.org. Namen sind fest codierten Adressen vorzuziehen : der Pool kann die per DNS zurückgegebenen Server erneuern. Verwenden Sie für eine kritische Infrastruktur lieber vertraglich betriebene Quellen, interne Uhren oder eine dedizierte Architektur.
/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"
Die Standardwerte min-poll=6, max-poll=10 und iburst=yes sind im Allgemeinen geeignet. Reduzieren Sie die Intervalle nicht aggressiv : Das macht die Uhr nicht magisch genauer und erhöht die Last von Diensten, die größtenteils von Freiwilligen bereitgestellt werden.
Wenn das WAN auch NTP-Server per DHCP erhält, können diese als dynamische Einträge erscheinen. Für eine vollständig kontrollierte Auswahl deaktivieren Sie deren Import auf dem betreffenden DHCP-Client, nachdem Sie dessen Schnittstelle identifiziert haben.
/ip dhcp-client print detail
/ip dhcp-client
set [find where interface="ether1"] use-peer-ntp=no
Führen Sie diesen zweiten Befehl nicht aus, wenn das WAN kein DHCP verwendet oder die Schnittstelle nicht ether1 heißt.
4. Überprüfen, ob RouterOS tatsächlich synchronisiert ist
/system ntp client print
/system ntp client servers print detail
/system ntp monitor-peers
Warten Sie auf den Status synchronized. Kontrollieren Sie auch synced-server, synced-stratum und system-offset. Die Peers müssen plausible Verzögerungen und Abweichungen aufweisen. Eine erfolgreiche DNS-Auflösung beweist nicht, dass der UDP 123-Austausch tatsächlich stattfindet.
5. Aktivieren des Unicast-NTP-Servers
Für Clients, die explizit mit der Adresse des Routers konfiguriert sind, genügt es, den Server zu aktivieren. Die Modi Broadcast, Multicast und Manycast sind in diesem Szenario nicht erforderlich und fügen unnötigen Traffic sowie eine Diagnoseoberfläche hinzu.
/system ntp server
set enabled=yes broadcast=no multicast=no manycast=no \
use-local-clock=no
/system ntp server print
use-local-clock=no verhindert, dass der Router seinen internen Oszillator als gültige Referenz präsentiert, wenn der Upstream ausfällt. Die MikroTik-Dokumentation erinnert daran, dass diese Uhr unter anderem von Temperatur, Energiemanagement und Hardware abhängt : Sie stellt keine Präzisionsquelle dar.
6. LAN zulassen und WAN schließen
Der Dienst lauscht auf UDP 123. Fügen Sie eine Autorisierung für die vertrauenswürdigen Netzwerke vor der endgültigen Ablehnung der Kette input hinzu. Eine Standard-RouterOS-Firewall blockiert bereits neue Verbindungen aus dem WAN, aber explizite Regeln machen die Absicht überprüfbar.
/ip firewall filter
add chain=input action=accept in-interface-list=LAN \
protocol=udp dst-port=123 \
comment="NTP: LAN-Clients erlauben"
add chain=input action=drop in-interface-list=WAN \
protocol=udp dst-port=123 \
comment="NTP: WAN-Anfragen ablehnen"
Überprüfen Sie die Reihenfolge mit /ip firewall filter print. Die LAN-Autorisierung muss einer allgemeinen LAN-Ablehnung vorausgehen, und die WAN-Regel darf die etablierten Schutzmaßnahmen nicht ohne Audit ersetzen. Ein unnötig exponierter NTP-Server kann Informationen liefern und je nach Implementierung an Verstärkungsangriffen (Amplification) teilnehmen.
7. Den Router mit der DHCP-Option 42 ankündigen
RouterOS verfügt über ein Feld ntp-server in jedem DHCP-Netzwerk. Es entspricht der Option 42 und akzeptiert bis zu zwei 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"
Die Clients müssen ihren Lease erneuern oder sich erneut mit dem Netzwerk verbinden. DHCP erzwingt jedoch nicht die Verwendung der Option 42 : Der Server überträgt sie normalerweise nur, wenn der Client sie anfordert, und einige Systeme behalten ihre eigene Zeitrichtlinie bei. Domänenmitglieds-Workstations müssen beispielsweise die von dieser Domäne definierte Zeithierarchie respektieren.
8. UDP 123 umleiten : eine Option, kein Reflex
Ein eingebettetes Gerät kann DHCP ignorieren und eine fest codierte NTP-Adresse abfragen. RouterOS kann die für eine nicht-lokale Adresse bestimmten UDP 123-Anfragen an seinen eigenen Dienst umleiten.
/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 zu RouterOS umleiten"
Platzieren Sie diese Regel vor einer allgemeineren Regel dstnat, die das Paket bereits abfangen würde. Der Test dst-address-type=!local vermeidet es, eine bereits an den Router gerichtete Anfrage abzufangen.
Die Umleitung hat vier wichtige Grenzen :
- sie korrigiert keinen fehlerhaften Client, der Tausende von Anfragen sendet : sie verlagert seine Last auf den MikroTik ;
- sie verbirgt dem Client die wahre Identität der Quelle und muss dokumentiert werden ;
- sie kann eine authentifizierte NTP-Richtlinie oder einen Server, der eine genaue Referenz erreichen muss, beeinträchtigen ;
- sie ersetzt nicht die Konfiguration von administrierbaren Geräten.
Erstellen Sie eine Ausschlussliste für Domänencontroller, NTS-Server, GPS/PTP-Geräte oder Labore, die eine bestimmte Quelle erreichen müssen, und fügen Sie dann src-address-list=!ntp-bypass zur Regel hinzu.
/ip firewall address-list
add list=ntp-bypass address=192.168.88.10 \
comment="Eigenstaendiger Zeitserver"
/ip firewall nat
set [find where comment="NTP: LAN zu RouterOS umleiten"] \
src-address-list=!ntp-bypass
9. Testen von mehreren Systemen aus
Kontrollieren Sie zuerst die RouterOS-Zähler.
/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"
Fragen Sie dann den Router von den Clients ab.
# 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
Die Linux-Befehle zeigen die Quelle, die vom lokalen Dienst tatsächlich ausgewählt wurde. Unter Windows und macOS bestätigt der Stichtest, dass der MikroTik antwortet ; er beweist nicht, dass das System seine permanente Quelle geändert hat. Überprüfen Sie anschließend die plattformspezifische Konfiguration des Zeitdienstes.
Sicherheit und Präzision
Klassisches NTP ist nicht verschlüsselt und authentifiziert ohne gemeinsamen Schlüssel die Quelle nicht kryptografisch. Das Zentralisieren der Clients reduziert direkte Ausgänge und erleichtert die Beobachtung, schützt aber nicht den Pfad zwischen RouterOS und seinen Quellen vor einem Angreifer, der sich auf dem Pfad befindet.
RouterOS dokumentiert die Verwendung von symmetrischen NTP-Schlüsseln. Sie funktionieren nur, wenn der Upstream-Server und der Client einen konsistent konfigurierten Schlüssel teilen. Bei hohen Integritätsanforderungen sollten Sie einen internen Server untersuchen, der Network Time Security unterstützt, eine ordnungsgemäß gesicherte GNSS-Referenz oder einen vertraglichen Zeitdienst. NTS ist in RFC 8915 definiert und darf nicht mit einer einfachen UDP-Umleitung verwechselt werden.
Fehlerbehebung
| Symptom | Wahrscheinliche Ursache | Überprüfung |
|---|---|---|
RouterOS-Client im Status waiting | DNS, Route oder UDP 123 blockiert | FQDNs auflösen, Peers und die Ausgangs-Firewall kontrollieren |
| Der Router antwortet mit einer ungültigen Uhrzeit | Upstream verloren oder use-local-clock=yes | Status und Stratum kontrollieren sowie lokale Uhr deaktivieren |
| Clients sehen Option 42 nicht | Alter Lease oder nicht angeforderte Option | Lease erneuern und NTP-Richtlinie des Clients inspizieren |
| Der NAT-Zähler bleibt bei null | Client bereits auf den Router konfiguriert oder falsch platzierte Regel | Ein externes Ziel testen und die Reihenfolge dstnat kontrollieren |
| Der MikroTik empfängt zu viele Pakete | Defektes verbundenes Objekt oder Schleife | Quelladresse identifizieren, Client isolieren und seine Firmware korrigieren |
| Eine Anwendung lehnt die Uhrzeit nach der Umleitung ab | Authentifizierung oder striktes Ziel | Das Gerät zu ntp-bypass hinzufügen |
| NTP antwortet aus dem Internet | WAN-Regel input zu permissiv | Von außen testen und die Ablehnungszähler überprüfen |
Rollback
Entfernen Sie zuerst die Umleitung, dann die DHCP-Ankündigung und den Dienst. Löschen Sie die Quellen nur, wenn sie ausschließlich für dieses Projekt erstellt wurden.
/ip firewall nat remove \
[find where comment="NTP: LAN zu RouterOS umleiten"]
/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"]
Wenn der NTP-Client des Routers vor diesem Verfahren existierte, lassen Sie ihn aktiv. Der Router benötigt ebenfalls eine korrekte Uhr für seine Protokolle, Zertifikate und geplante Aufgaben.
Fazit
Die richtige Bereitstellung besteht nicht darin, alle NTP-Modi zu aktivieren. RouterOS synchronisiert sich per Unicast auf mehrere Quellen, bedient dann das LAN per Unicast, kündigt seine Adresse mit der DHCP-Option 42 an und lehnt Anfragen aus dem WAN ab. Diese Architektur ist einfach, messbar und leicht zu dokumentieren.
Die transparente Umleitung kann Geräte erfassen, die die Netzwerkrichtlinie ignorieren, aber sie muss überwacht und mit Ausnahmen versehen werden. Das Ziel bleibt eine konsistente und nachverfolgbare Uhrzeit, nicht nur ein steigender NAT-Zähler.
Diskussion
Kommentare
Noch kein Kommentar. Eröffnen Sie die Diskussion gern mit einer Frage oder Ihrem eigenen Erfahrungsbericht.