Een voorbeeld van het instellen van een lokale NTP-server om met NetPing-apparaten te werken. Controleren of ntp correct werkt


Besturingssystemen Windows-familie bevatten de W32Time-tijdservice. Deze dienst is ontworpen om de tijd binnen een organisatie te synchroniseren. W32Time is verantwoordelijk voor de werking van zowel de client- als de serveronderdelen van de tijdservice, en dezelfde computer kan tegelijkertijd zowel een client als een NTP-server (Network Time Protocol) zijn.

Standaard is de Windows-tijdservice als volgt geconfigureerd:

Wanneer u het besturingssysteem installeert, start Windows een NTP-client die synchroniseert met een externe tijdbron;

Wanneer u een computer aan een domein toevoegt, verandert het synchronisatietype. Alle clientcomputers en lidservers in het domein gebruiken een domeincontroller om de tijd te synchroniseren, wat hun authenticiteit verifieert;

Wanneer een lidserver wordt gepromoveerd tot domeincontroller, wordt er een NTP-server op gestart, die een controller met de PDC-emulatorrol als tijdbron gebruikt;

De PDC-emulator, gelegen in het forest-hoofddomein, is de primaire tijdserver voor de hele organisatie. Tegelijkertijd wordt het zelf ook gesynchroniseerd met een externe tijdbron.

Dit schema werkt in de meeste gevallen en vereist geen tussenkomst. De structuur van de tijdservice in Windows volgt mogelijk echter niet de domeinhiërarchie en elke computer kan worden aangewezen als een betrouwbare tijdbron.

Laten we als voorbeeld een NTP-server instellen Windows-server 2008 R2, naar analogie kunt u een NTP-server configureren in Windows 7.

De NTP-server starten

De tijdservice in Windows Server heeft dat niet GUI en kan worden geconfigureerd vanaf de opdrachtregel of door directe bewerking systeem register. Laten we de tweede methode bekijken:

De NTP-server moet worden gestart. Open de registertak:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpServer.

Om de NTP-server in te schakelen, moet de parameter Enabled op 1 worden gezet. Vervolgens starten we de tijdservice opnieuw op met het commando netto stop w32time && netto start w32time.

Na het herstarten van de NTP-service is de server al actief en kan hij clients bedienen. U kunt dit verifiëren met de opdracht w32tm /query /configuration. Deze opdracht wordt uitgevoerd volledige lijst serviceparameters. Als de sectie NtpServer de regel Enabled:1 bevat, dan is alles in orde, de tijdserver draait.

Om ervoor te zorgen dat de NTP-server clients kan bedienen, moet de firewall UDP-poort 123 openen voor inkomend en uitgaand verkeer.

Basis NTP-serverinstellingen

Open de registertak:

HKLM\System\CurrentControlSet\services\W32Time\Parameters.

NoSync - de NTP-server is niet gesynchroniseerd met een externe tijdbron. Gebruikt systeem klok, ingebouwd in de CMOS-chip van de server zelf (deze klokken kunnen op hun beurt bijvoorbeeld worden gesynchroniseerd vanaf een NMEA-bron via RS-232);

NTP - NTP-server synchroniseert met externe servers tijden die zijn opgegeven in de registerparameter NtpServer;

NT5DS - NTP-server synchroniseert volgens de domeinhiërarchie;

AllSync - de NTP-server gebruikt alle beschikbare bronnen voor synchronisatie.

De standaardwaarde voor een computer die deel uitmaakt van een domein is NT5DS, afzonderlijk staande computer- NTP.

De parameter NtpServer specificeert de NTP-servers waarmee de tijd wordt gesynchroniseerd deze server. Standaard bevat deze parameter de Microsoft NTP-server (time.windows.com, 0×1). Indien nodig kunt u nog meerdere NTP-servers toevoegen door hun DNS-namen of IP-adressen in te voeren, gescheiden door een spatie. Aan het einde van elke naam kunt u een vlag toevoegen (bijvoorbeeld ,0×1) die de modus voor synchronisatie met de tijdserver bepaalt.

Toegestaan volgende waarden modus:

0×1 - SpecialInterval, gebruik van polling-tijdsinterval;

0×2 – UseAsFallbackOnly-modus;

0×4 – SymmetrischActief, symmetrisch actieve modus;

0×8 – Client, verzendt een verzoek in clientmodus.

Een andere belangrijke parameter AnnounceFlags bevindt zich in de registersleutel:

HKLM\System\CurrentControlSet\services\W32Time\Config.

Het is verantwoordelijk voor de manier waarop de NTP-server zichzelf aankondigt. Om een ​​lidserver (geen domeincontroller) als betrouwbare tijdbron te declareren, is vlag 5 nodig.

Als de server die wordt geconfigureerd, op zijn beurt een NTP-client is (ontvangt bijvoorbeeld tijd van een GPS-ontvanger via NTP), kunt u het interval tussen updates configureren. Deze parameter kan ook relevant zijn voor client-pc's. De SpecialPollInterval-sleutel, die zich in de registervertakking bevindt, is verantwoordelijk voor de updatetijd:

HKLM\System\CurrentControlSet\services\W32Time\TimeProviders\NtpClient.

Het wordt opgegeven in seconden en de standaardwaarde is 604800, wat 1 week is. Het is veel, dus Het is de moeite waard om de SpecialPollInterval-waarde terug te brengen tot een redelijke waarde: 1 uur (3600).

Na de installatie moet u de serviceconfiguratie bijwerken. Dit kan gedaan worden met de opdracht w32tm /config /update.


En nog een paar commando's voor het configureren, bewaken en diagnosticeren van de tijdservice:

w32tm /monitor – met deze optie kunt u erachter komen hoeveel systeem tijd De tijd op deze computer verschilt van de tijd op de domeincontroller of andere computers. Bijvoorbeeld: w32tm/monitor/computers:time.nist.gov

w32tm /resync - met dit commando kunt u de computer dwingen te synchroniseren met de tijdserver die hij gebruikt.

w32tm /stripchart – toont het tijdsverschil tussen de huidige en externe computer. Team w32tm /stripchart /computer:time.nist.gov /samples:5 /dataonly maakt 5 vergelijkingen met de opgegeven bron en geeft het resultaat in tekstvorm weer.


w32tm /config is de hoofdopdracht die wordt gebruikt om de NTP-service te configureren. Met zijn hulp kunt u de lijst met gebruikte tijdservers, het type synchronisatie en nog veel meer instellen. Met het commando kunt u bijvoorbeeld de standaardwaarden overschrijven en tijdsynchronisatie met een externe bron instellen w32tm /config /syncfromflags:manual /manualpeerlist:time.nist.gov /update


w32tm /query - wordt weergegeven huidige instellingen diensten. Met de opdracht w32tm /query /source wordt bijvoorbeeld de huidige tijdbron weergegeven, en met w32tm /query /configuration worden alle serviceparameters weergegeven.

net stop w32time - stopt de tijdservice als deze actief is.

w32tm /unregister - verwijdert de tijdservice van de computer.

w32tm /register – registreert de tijdservice op de computer. In dit geval wordt de volledige vertakking van parameters in het register opnieuw gemaakt.

net start w32time - start de service.

Kenmerken opgemerkt in Windows 7: de tijdservice start niet automatisch wanneer Windows start. Opgelost in SP1 voor Windows 7.

Tijd instellen in serverruimtes besturingssystemen Windows dat NTP gebruikt, is van cruciaal belang voor veel services. Zonder de juiste geconfigureerde tijd, of beter gezegd, als de klokken op de server en werkstations niet overeenkomen, kunnen veel protocollen niet correct werken Actieve map en synchronisatiediensten. Het instellen en onderhouden van een klok met behulp van NTP is een eenvoudige taak, maar brengt soms enkele complicaties met zich mee, die we in dit artikel zullen proberen te behandelen.

We zullen bijvoorbeeld een niet erg recent systeem gebruiken: Windows Server 2012. Het is het meest voorkomende en tegelijkertijd zijn voor veel andere systemen, waaronder Windows Server 2008, Windows Server 2016, vergelijkbare opdrachten en regels van toepassing. Opgemerkt moet worden dat de beschrijving een omgevingsopstelling betreft met een enkele master PDC-controller. Meer complexe opties worden niet beschouwd.

NTP-instellingen opnieuw instellen

Om de NTP-service in de “standaard”-status te zetten, moet u de volgende opdrachten uitvoeren:

Stop- Service w32time w32tm / afmelden w32tm / registreren

Stop-Service w32time w32tm /uitschrijven w32tm /register

IN in dit geval ze stoppen de service, maken de registratie van de service ongedaan en registreren deze opnieuw in het systeem. Voer deze opdrachten alleen uit als dit absoluut noodzakelijk is. In de regel zijn ze niet nodig - NTP wordt geconfigureerd als er rekening wordt gehouden met andere systeemomstandigheden.

Normale NTP-installatieopdrachten

Om het netwerktijdprotocol te configureren Windows-controller Server: allereerst moet u de synchronisatie via Hyper-V uitschakelen als de controller met deze technologie is gevirtualiseerd. Om dit te doen, gaat u naar de instellingen en schakelt u het item Tijdsynchronisatie uit in de sectie Beheer -> Integratieservices

Voor wie geen gebruik maakt van Hyper-V kan de vorige stap achterwege gelaten worden.

w32tm /config /manualpeerlist:"0.de.pool.ntp.org 1.de.pool.ntp.org" /syncfromflags:MANUAL

UDP-protocol voor NTP- en firewallblokkering

Voor de communicatie wordt het tijdprotocol gebruikt UDP-poort met nummer 123 in standaardconfiguratie. U moet ervoor zorgen dat de firewall deze poort niet blokkeert. Als er blokkering optreedt, zal er veel informatie in de ntp-logs staan ​​dat de verbinding onmogelijk is:

Lognaam: Systeem
Bron: Microsoft-Windows-Time-Service
Gebeurtenis-ID: 47
Niveau: waarschuwing
Beschrijving: Tijdprovider NtpClient: Er is geen geldig antwoord ontvangen van de handmatig geconfigureerde peer pool.ntp.org na 8 pogingen om contact op te nemen. Deze peer wordt verwijderd als tijdbron en NtpClient zal proberen een nieuwe peer met deze DNS-naam te ontdekken. De fout was: de peer is onbereikbaar.

Om er zeker van te zijn dat dit het probleem is, kunt u de uitvoer van extra foutopsporingsinformatie. Het instellen Windows-logboeken Server op zo'n manier dat alles noodzakelijke informatie, maar ze groeiden niet meer dan 20 megabytes:

w32tm /debug /uitschakelen

Blokkeren ntp De firewall vangt de volgende zin op tijdens het debuggen:

— Logboekfout: NtpClient is geconfigureerd om tijd te verzamelen van een of meer tijdbronnen, maar geen van de bronnen is momenteel toegankelijk en er zal geen poging worden ondernomen om contact op te nemen met een bron. gemaakt voor 1 minuten. NTPCLIENT HEEFT GEEN BRON VAN NAUWKEURIGE TIJD.

In dit geval (ja, over het algemeen onmiddellijk voor verificatiedoeleinden), moet u de regel in de firewall controleren

En wijzig indien nodig de regel of voeg deze toe.

Controleren of ntp correct werkt

Om te controleren of alles goed werkt, kunt u de synchronisatie handmatig starten:

w32tm/hersynchronisatie

Als alles goed is gegaan, ontvang je het volgende bericht:

Het hersynchronisatiecommando wordt naar de lokale computer verzonden
De opdracht is succesvol voltooid.

Als er problemen zijn, bericht dan:

De computer heeft niet opnieuw gesynchroniseerd omdat er geen tijdgegevens beschikbaar waren.

In het tweede geval moet je eerst alles controleren: de firewall, de juistheid van de opgegeven servers (of je een fout hebt gemaakt in de naam). We hebben in ieder geval al informatie verstrekt over het resetten van de instellingen.

Toepassingsvoorbeelden

08.12.2014

NetPing-apparaten gebruiken het NTP-protocol om de tijd te synchroniseren. Met behulp van dit protocol passen alle apparaten op het netwerk hun tijd aan naar de opgegeven server. NetPing-apparaten die met internet zijn verbonden, kunnen een openbare NTP-server gebruiken, zoals aanbevolen in artikel. Als toegang tot Internetnetwerken nee, dan kunt u een lokale NTP-server configureren. Zo'n server kan elke Windows-computer zijn met een geconfigureerde service W32TijdWindows Time-service »). Deze dienst heeft geen grafische interface en is via beide geconfigureerd opdrachtregel of door registersleutels te bewerken.

Instructies voor het instellen van een NTP-server op Windows 7/8/2008/2012

Laten we eens kijken naar het opzetten van een tijdservice door het register te bewerken. De opzet is hetzelfde voor Windows-versies 7/8, Windows Server 2008, Windows Server 2012.

Voor deze instelling moet u over Windows OS-beheerdersrechten beschikken.

Open de register-editor via het dialoogvenster “ Uitvoeren", veroorzaakt door de toetscombinatie " Winnen» + « R", of via het zoekformulier, waar we typen " regedit».


In de editor die wordt geopend, opent u in het linkerboommenu de “tak” “ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer", waar we zoeken naar de sleutel met de naam " Inschakelen" Klik klik met de rechtermuisknop muis en selecteer “Bewerken”. Wijzig de sleutelwaarde van 0 op 1 .


Door deze parameter te wijzigen hebben we dat aangegeven deze computer fungeert als een NTP-server. De computer blijft tegelijkertijd een client en kan zijn tijd synchroniseren met andere servers op internet of lokaal netwerk. Als u wilt dat de interne hardwareklok als gegevensbron fungeert, wijzigt u de waarde van de sleutelparameterKondig vlaggen aan op 5 in de draad " HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config».


Om de wijzigingen door te voeren, moeten we de service opnieuw starten. Services zijn toegankelijk via " Configuratiescherm» uit menu « Begin» -> « Configuratiescherm» -> « Administratie» -> « Diensten" Het is ook te vinden in het zoekformulier als u “ services.msc" In de lijst met services die verschijnt, vinden we degene waarin we geïnteresseerd zijn “ Windows Time-service" en via het menu dat u met de rechtermuisknop opent, selecteert u het item " Opnieuw opstarten».

...in een Active Directory-omgeving resulteren klokverschillen groter dan 5 minuten in Kerberos-authenticatieproblemen...

In deze notitie zullen we het hebben over het instellen van tijdsynchronisatie in een domein Windows-omgeving 2008 – 2012 R2.
De basis voor het normaal functioneren van een AD-domeinomgeving is correcte werk Windows Time Services (W32Time).

Hoe werkt tijdsynchronisatie in een domeinomgeving?

1. gebruikers ontvangen exacte tijd vanaf de dichtstbijzijnde domeincontroller waarmee ze zich hebben geregistreerd;
2. alles domeincontrollers DC's met de PDC-emulatorrol (een van de FSMO-rollen) vragen hierom;
3. De PDC-emulator moet op zijn beurt worden gesynchroniseerd met een meer gezaghebbende tijdbron;
In de praktijk wordt de PDC-emulator meestal gesynchroniseerd met een dedicated NTP-server van de organisatie, of met de NTP-server van de provider, of met een externe bron van nauwkeurige tijd, zoals: 0.ru.pool.ntp.org, 1 .ru.pool.ntp.org, 2.ru.pool.ntp.org

Een voorbeeld van het instellen van een domeincontroller met de PDC-emulatorrol.

Om te configureren hebben we een console nodig PowerShell gelanceerd als beheerder.
1. Bepaal de naam van de PDC-emulator - de eenvoudigste manier om de opdracht uit te voeren:

Wanneer we verbinding hebben gemaakt met een DC met de PDC-rol, kunnen we beginnen met configureren.
2. Configureer externe synchronisatiebronnen - geef aan met welke bronnen de PDC zal synchroniseren.

w32tm /config /syncfromflags:manual /manualpeerlist:”0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org”

waar, parameters:
/syncfromflags: handmatig— synchronisatie met knooppunten uit een handmatig gespecificeerde lijst.
handleidingpeerlijst:<узлы> - lijst ( DNS-adressen of IP) tijdbronnen

Belangrijk! De naam van elke tijdbron (als er meer dan één is) moet worden gescheiden door een spatie. En de firewall moet UDP-verkeer op poort 123 in beide richtingen laten passeren.

3. Wij verklaren dat PDC-Emulator een betrouwbare tijdbron is voor klanten:
w32tm /config /reliable:ja
4. Nadat u de wijzigingen heeft aangebracht, start u de tijdservice opnieuw:

Restrat-Service W32Time

Of update de configuratie met het commando: w32tm /config /update

Als u de PDC-emulatorrol naar een andere domeincontroller heeft overgedragen, blijft de oude DC zichzelf nog steeds beschouwen als een gezaghebbende tijdserver voor het hele domein, wat fouten in de systeemlogboeken kan veroorzaken. U kunt deze situatie oplossen met het commando:
w32tm /config /syncfromflags:domhier /reliable:no /update

Een paar, naar mijn mening, nuttige commando's:

w32tm /query/configuratie— bekijk de huidige tijdservice-instellingen;

Waar:

Speciaal PollInterval: 3600- synchronisatie-interval in seconden, 3600 – dag. De synchronisatie wordt eenmaal per dag uitgevoerd.
NtpServer- geeft de servers aan waarmee de computer de tijd kan synchroniseren.
Type: NTP– type tijdsynchronisatie.
De parameter Type kan de volgende parameters hebben:
Geen synchronisatie— de tijdservice synchroniseert helemaal nergens mee.
NTP— de tijdservice wordt gesynchroniseerd met de servers die zijn opgegeven in de NtpServer-parameter.
NT5DS— de tijdservice wordt gesynchroniseerd met behulp van de domeinhiërarchie (typisch voor leden domein Actief map).
AllesSync— de tijddienst gebruikt alle mogelijke mechanismen voor synchronisatie.

w32tm/monitor— toont de huidige tijdsynchronisatiehiërarchie per domein;
w32tm /stripchart /computer:0.ru.pool.ntp.org /samples:5 /dataonly— doe 5 pogingen om de tijd te vergelijken met een gezaghebbende tijdbron 0.ru.pool.ntp.org ( handig bij het controleren van de beschikbaarheid van een tijdbron);
w32tm/hersynchronisatie– de computer dwingen te synchroniseren met de tijdserver die hij gebruikt;
w32tm/uitschrijven- verwijdert de tijdservice van de computer;
w32tm/registreren– registreert de tijdservice op de computer;
Als iemand geïnteresseerd is in het opzetten van een NTP-server via het register, dan ben je welkom in deze thread: HKLM\System\CurrentControlSet\services\W32Time\

STRATA- of STRATUM-laagconcept


Waar:
Laag 0– referentie- of gezaghebbende bronnen van exacte tijd, zoals: GPS-reizigers, cesium-atoomklokken, WWVB-radiogolven. Ze zijn gezaghebbend omdat ze een manier hebben om zeer nauwkeurige tijdregistratie bij te houden – waarbij er in 300.000 jaar geen seconde verloren zal gaan.
Laag 1– computers die rechtstreeks tijd uit Stratum 0 halen, d.w.z. Stratum 1 maakt gebruik van een hardware (bekabelde) verbinding met Stratum 0!
Laag 2– het niveau van computers die tijd in beslag nemen via het netwerk uit Stratum 1.
Zoals waarschijnlijk al duidelijk blijkt uit het diagram, Laag 3 zal tijd vergen Laag 2, A Laag 4 bij Laag 3 enz. De laagste niveaus zijn dat wel Laag 16 en de tijd daarin wordt als niet gesynchroniseerd beschouwd.
Nogmaals, in de praktijk de meest voorkomende externe bronnen tijd zijn Laag 2, Laag 3, omdat om mee te synchroniseren Laag 1 gewone gebruikers Het is niet toegestaan ​​en het heeft ook geen zin om dat te doen.

Een eenvoudige oplossing voor het zorgprobleem tijd op domeincontroller geïnstalleerd op virtueel auto Hyper-V onder controle Windows-server 2008/2012.

Tijdens het werk domeincontroller onder controle Windows-server 2008 R2/2012 geïnstalleerd op een virtuele machine Hyper-V, het werd constant opgemerkt de tijd verstrijkt– over een maand had de tijd bijna een half uur kunnen duren. Moet ik zeggen hoe belangrijk de exacte tijd op de domeincontroller is, omdat deze gesynchroniseerd het gehele computerpark in het domein.

1. Schakel de tijdsynchronisatie met de hostmachine uit

Eerst moet je uitschakelen tijdsynchronisatie gastmachine tegelijkertijd met de hostmachine, anders komen we in de problemen. Als de hostmachine lid is van een domein, wordt de host gesynchroniseerd met de controller op de gastmachine, en gastmachine gesynchroniseerd door de host - we krijgen een gesloten lus, die hoogstwaarschijnlijk leidt tot een constante tijdverschuiving binnen zichzelf. De verschuiving wordt letterlijk gedurende enkele fracties van een seconde verkregen, maar geleidelijk aan opgeteld gedurende elke synchronisatiecyclus, accumuleert een zeer merkbare klokverschuiving.

In parameters virtuele machine Instellingen → Integratiediensten → Tijdsynchronisatie – vinkje uit

2. Synchronisatie instellen via NTP-server

Hulpmiddelen

Om te configureren gebruiken we het opdrachtregelhulpprogramma w32tm. De belangrijkste parameters van het hulpprogramma die worden gebruikt om de tijd te configureren en te beheren: w32tm /query stelt u in staat de huidige instellingen van de client en de NTP-server op te vragen. w32tm /config wordt gebruikt om de tijdservice te configureren. w32tm /resync wordt gebruikt om de tijdsynchronisatie te initialiseren w32tm /dumpreg wordt gebruikt om de huidige registerinstellingen weer te geven die zijn gekoppeld aan de tijdservice w32tm /debug wordt gebruikt om logboekregistratie van foutopsporing bij de tijdservice mogelijk te maken

Instellingen

U stelt tijdsynchronisatie in op een domeincontroller onder Windows-besturing Server 2008 R2 met rol van FSMO"PDC Emulator": w32tm /query /configuration bekijk de huidige parameters van de tijdservice w32tm /config /syncfromflags:manual selecteer de bron (de lijst die we hebben opgegeven) voor tijdsynchronisatie w32tm /config /manualpeerlist:"server1.ntp.org server2.ntp.org" hebben we een handmatig gespecificeerde lijst met knooppunten voor synchronisatie opgezet. Hosts zijn DNS-namen of IP-adressen, gescheiden door spaties. Wanneer u meerdere knooppunten opgeeft, worden alle knooppuntwaarden tussen aanhalingstekens geplaatst. Je kunt jezelf natuurlijk beperken tot één bekende time.windows.com w32tm /config /reliable:yes we stellen de parameter in die deze machine is betrouwbare bron tijd en kan klanten bedienen w32tm /config /update we informeren de tijdservice dat er wijzigingen zijn aangebracht (u kunt de service opnieuw starten) w32tm /query /configuration we controleren wijzigingen aangebracht in de w32tm /resync serviceparameters voeren we synchronisatie uit (je kunt spelen, de tijd wijzigen en controleren of synchronisatie wordt uitgevoerd)

Voor een grotere betrouwbaarheid kunt u de Tijdservice ook opnieuw starten netto opdrachten stop w32time en netto start w32time.

Voor het gemak is het goed om de genoemde opdrachten in één cmd-bestand te verzamelen en het probleem met één klik op te lossen:

W32tm /config /syncfromflags:manual w32tm /config /manualpeerlist:time.windows.com w32tm /config /reliable:yes w32tm /config /update w32tm /query /configuration pause w32tm /resync