Sinhronizacija vremena sa domenom

Sinhronizacija vremena sa domenom

offline
  • Fil  Male
  • Legendarni građanin
  • Pridružio: 11 Jun 2009
  • Poruke: 16586

[0] Uvod



Tradicionalno, i za 11000-tu poruku izlazi novi članak Smile

* For English readers: http://www.blog.creativform.com/synchronize-computer-time-domain-controller/

~

U ovom tekstu bavićemo se problematikom sinhronizacije vremena radnih stanica mreže sa domenom.

Kod sinhronizacije mašina, postoji odgovarajuća hijerarhija, gde se radne stanice (u opštem slučaju) sinhronizuju sa lokalnim domenima, a oni sa odgovarajućim PDC emulatorima, gde je koreni PDC emulator spojen na neki izvor tačnog vremena (eksterni hardverski sat, ruter na kome je podignut NTP server povezan sa GPS-om, online NTP server ili drugo). Na sledećoj slici je prikazan šematski prikaz hijerarhije (preuzeto sa [1], gde se može naći više informacija o mehanizmu ažuriranja):




Ukoliko nemamo neku mašinu koja će biti autoritet po pitanju za ostale učesnike mreže, mogu se javiti greške unutar Kerberos sistema i neuspešna logovanja korisnika na domen.

Postojeće stanje:
- mreža sa više domena
- Windows Server 2008
- Server sa PDC rolom povezan sa eksternim izvorom za vreme (na ruteru podignut NTP server koji kupi informacije sa GPS-a).

U tekstu su opisani i načini konfigurisanja servera (sa eksportom jedne konfiguracije koja radi) i radnih stanica, a budući da ove proceduru česte ne prođu "iz prve", kako je i u mom slučaju bio primer, data je i bonus troubleshooting sekcija koju sam sastavio tražeći rešenje za svoje probleme. U njoj je dat i pregled nekih komandi koje možete često da koristite pri radu.

I na kraju, data je literatura, ko želi da produbi znanja o ovoj problematici Smile Neki izvori su prebačeni u PDF, it might come handy.




[1] Šta je PDC emulator?



PDC Emulator je računar sa odgovarajućom FSMO ulogom. Naime, postoji pet Flexible Single Master Operations (FSMO) uloga koje domen može da ima (napomena: dati su grubi opisi, za više informacija pogledajte referencu [2] u literaturi):

1. The Domain Naming Master - dodavanje novih child-domena,

2. Infrastructure Master - upravljenje korisnicima kroz razne delove šume domena,

3. Schema Master - odnosi se na formalne definicije kako Aktivni direktorijum čuva objekte, koji atributi su dostupni na tim objektima i sl.

4. RID Master (Relative Identifier Master) - stara se o pohrani relativnih identifikatora; vezano je za SID.

5. PDC Emulator - ovo je uloga relevantna za ovu temu sinhronizacije vremena. Sa početne šeme se vidi da PDC emulator postoji u korenu šume i domenima-potomcima. Njegova prvobitna namena je bila za omogućavanje "kompatibilnosti unazad" sa starijim NT sistemima (oni su imali koncept PDC i BDC, gde je samo PDC mogao da vrši izmene. Kod modernih sistema, svaki DC može izvršiti ažuriranje aktivnog direktorijuma i sl.).

Idea Domen kontroler koji ima ovu ulogu u korenu šume predstavlja najautoritetniji vremenski izvor[/u] za celu šumu.

Da bi osigurali da je vreme pouzdano na nivou šume, samo [i]PDC Emulator u korenu šume
treba da se sinhronizuje sa nekim eksternim izvorom vremena. Dakle, po njemu se ravnaju ostala "stabla" u šumi.

Ovako koncipirano, sve mašine u Active Directory okruženju će automatski naći odgovarajući server, u hijerarhiji, sa kojim će izvršiti sinhronizaciju. U mom slučaju:
--> sve radne stanice se sinhronizuju sa odgovarajućim domen kontrolerima,
--> svi domen kontroleri se sinhronizuju sa nosiocem uloge PDC Emulator u korenu.




[2] Konfiguracija



Konfiguraciju je moguće izvršiti preko:
--> konzolnog alata: w32tm,
--> direktnim unošenjem vrednosti u registar (registry).


Za početak, treba da proverimo koji server nosi PDC emulator ulogu. Otkucajmo komadu: netdom query fsmo



... relevantni server se nalazi u redu PDC (napomena: deo slike je cenzurisan)

Alternativno, ko voli GUI, u Run (Win key + R) prozoru ukucati: dsa.msc
desni klik na ime domena i odaberemo Operations Masters..., na tabu PDC vidimo koji server nosi tu ulogu.


Arrow Sledeća komanda: w32tm /config /manualpeerlist:192.168.x.x,0×8 /syncfromflags:MANUAL /reliable:yes /update
... označava da:
- /config - se ulazi u konfiguracioni mod
- /manualpeerlist - da su naznačeni serveri ili preko DNS imena ili preko IP-a; ako ih ima više, staviti ih pod navodnike (npr. /manualpeerlist:"time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov"). Lista NTP servera se može naći OVDE.
Uočimo i ovaj deo: ,0x8 koji se spaja na adresu; Postoje sledeći validni parametri: + KLIK
Podešavanje ,0x8 označava, da se zahtevi šalju u klijentskom modu, jer postoje "non Windows" NTP serveri koji obrađuju zahteve isključivo na tom modu.
- /syncfromflags:MANUAL - u registar upisuje NTP vrednost (ukoliko umesto MANUAL stavimo DOMHIER, time naznačavamo domain sync mode, tj. NT5DS; više informacija o ovome u nastavku teksta).
- /reliable:yes - izvor flaguje kao pozdan
- /update - vrši ažuriranje


Arrow Sa druge strane, ako posmatramo registar, Windows Time podešavanja u registru se nalaze ovde:
Citat:HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

- Najbitnije podešavanje ovde je tip (type):

a) PDC Emulator u korenu šume (forest root) ima vrednost: NTP
b) na svakoj drugoj mašini na domenu, tip treba da je podešen kao: NT5DS
(NT5DS je domain sync mode i tim kažemo da ta mašina traga serverom vremena u AD hijerarhiji).

Eksport podešavanja je dat ovde:

Citat:C:\Users\administrator>W32tm /query /configuration
[Configuration]
EventLogFlags: 2 (Local)
AnnounceFlags: 5 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 6 (Local)
MaxPollInterval: 10 (Local)
MaxNegPhaseCorrection: 172800 (Local)
MaxPosPhaseCorrection: 172800 (Local)
MaxAllowedPhaseOffset: 300 (Local)

FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
SpikeWatchPeriod: 900 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 7 (Local)
UpdateInterval: 100 (Local)


[TimeProviders]
NtpClient (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags: 2147483648 (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 3600 (Local)
Type: NTP (Local)
NtpServer: 192.168.x.x,0x8 (Local) //napomena, staviti validnu IP adresu
NtpServer (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)



Nakon izmena vrednosti u registru, osvežite servis i izvršite sinhronizaciju:

Citat:net stop w32time
net start w32time
w32tm /resync


Idea Značenje svih parametara, relevantnih ključeva u registru i drugo, objašnjeno "u sitna crevca", pogledajte u sekciiji literatura [6].


Dodatne napomene:

Idea Alternativna vrednost za AnnounceFlags:
kao DWORD vrednost možemo staviti a (inače, standardno podešavanje je 5, tj. 0x5).
- Ova promena je racionalna u uslovima loše loše konekcije, jer mogu nastati problemi sa sinhronizacijom klijenata sa autorativnim vremenskim serverom ukoliko je veza sa NTP serverom loša. Ovim osiguravamo da u uslovima kada NTP server bude nedostupan - naš PDC i dalje bude označen kao relevantan izvor vremena za ostatak šume.
- Takođe, ako koristimo SpecialPollInterval za sinhronizaciju u striktno fiksnom intervalu, poželjno je koristi 0xa. izvor

Inače, flagovi se mogu kombinovati, a 0xa je kombinacija dva flaga: 0×08 (Client) i 0×02 (UseAsFallbackOnly).




[3] BONUS & Troubleshooting



A) Prekontrolišite Group Policy related podešavanja:
--> Computer Configuration\Administrative Templates\System\Windows Time Service
// čisto informativno, u domenu se ovo ne dira da se ne bi poremetio sync. LINK


B) Reset konfiguracije:
Ako radna stanica ima problema sa sinhronizacijom sa serverom, možemo probati sa resetovanjem njene konfiguracije:

net stop w32time
w32tm /unregister
w32tm /register
net start w32time


Nakon ovih komandi, između ostalog, se podešava vrednost: NT5DS u registru ako se utvrdi da se računar loguje na domen.
Dakle, nakon reseta konfiguracije, trebalo bi da se vreme računara pravilno sinhronizuje sa serverom.


C) Proverite da li je otvoren UDP (User Datagram Protocol) port 123 na firewall-u.


D) Proverite konfiguraciju polisa na domenu. Treba ih postaviti na not configured; u nekim slučajevima treba postaviti prvo na Disabled, pa ažurirati i potom na Not configured i primeniti tu polisu.
Dakle: Windows Key + R i kucamo: gpedit.msc.
Pronađimo Windows Time Service i stavku Global Configuration Settings postavimo na Not Configured.
Takođe, i Time Providers postavimo na Not Configured.




(još jedan alat za polise predstavlja gpmc.msc - group policy management)


E) Ako ste migrirali sistem sa Windows 2003, proverite da u registru nisu ostala stara podešavanja


F) Ako imate 3rd party alate tipa NetTime, za ažuriranje, deinstalirajte ih ili isključite program i onemogućite njegov servis.


G) U nekim slučajevima, čak i sa pravilnom konfiguracijom se javlja greška:
The computer did not resync because no time data was available
Sending resync command to local computer
The computer did not resync because no time data was available
.

--> probajte da instalirate Hotfix (download) i vidite da li se greška ponavlja kada otkucate komandu: W32tm /resync.
* Ukoliko Server nije R2, na njega se instalira hotfix koji nosi ime "Windows Vista". [url=https://www.mycity.rs/must-login.png [x32][/url].


H) Proverite da li je računar podešen na odgovarajuću vremensku zonu.


I) Probajte Microsoft FixIt (vidi literaturu, [3])


J) Proverite da li win32tm može da čita i piše po registru

- Win Key + R: regedit
- Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time.
- Desni klik na ključ Config i biramo stavku Permissions.
- Unutar jezička Security, pod Group or user names mora da stoji i W32Time.
- Klik na dugme Advanced da vidimo privilegije; klik na W32Time pa na Edit.
- Mora imati sledeće privilegije (u koloni Allow): Query Value, Set Value, Create Subkey, Enumerate Subkeys, Notify, Delete, and ReadControl.
- Ako to nije slučaj, srediti privilegije, restartovati Time servis i pogledati da li je problem rešen.



K) da li je server sa PDC rolom virtualna mašina?
--> Ukoliko se radi o virtualnoj mašini (Hyper-V, VMware, ...) proverite podešavanja za virtualno sinhronizovanjem sa fizičkim hostom. Kod Hyper-V pogledajte integration services podešavanja za tu virtualnu mašinu (ili podešavanja VMware Tools-a). Uklonite/podesite stavke koje se tiču sinhronizacije.


Korisne komande

w32tm /stripchart /computer:192.168.x.x /samples:5 /dataonly
// provera odstupanja vremena tekućeg računara u odnosu na računer-metu, na 5 uzoraka.

net time /querysntp
// uvid u lokaciju NTP servera (zastarelo)

W32tm /query /configuration
// pregled svih parametara relevantnih za Windows Time servis

W32tm /resync (ili W32tm /resync /rediscover)
naznačava tekućem (lokalnom) računaru da sinhronizuje sat prvom prilikom. Ukoliko koristimo switch rediscover, naznačavamo da se redetektuje mrežne postavke, otkrije relevantne izvore i onda sinhronizuje vreme

w32tm /monitor
motri se tekući domen


Idea Ostale komande videti pod literatura [6].


Događaji

Idea U Event Viewer-u, pratite sledeće događaje za debagovanje: + KLIK


A šta ako postoje mašine koje nisu na domenu?


- Izmena registry ključa: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers
... da se naznači interni NTP server

- Upotreba Scheduled task-a : LINK

- Upotreba 3rd party rešenja, npr. NetTime (open source alat, već pomenut u tekstu).
// preporučujem v3 jer je v2 imala problem sa bindingom na WinSock

- komanda (radi i na Win7 sa admin privilegijom): Net time \\192.168.x.x /Set /y
// može se staviti u startup folder


Ostalo

- Debug logging za Windows Time Service --> LINK
- Transfer FSMO Rola sa jednog servera na drugi --> LINK




[4] Literatura



[1] Keeping the Domain On Time, [url=https://www.mycity.rs/must-login.png
[2] Demystifying the Active Directory FSMO roles, [url=https://www.mycity.rs/must-login.png Wiki, FSMO
[3] How to configure an authoritative time server in Windows Server (+ uključujući i Microsoft FixIt)
[4] Windows Time Service Tools and Settings
[5] Operations master roles
[6] Windows Time Service Tools and Settings
[7] All PDC emulator functions


Ažuriran tekst sam objavio ovde: http://www.blog.creativform.com/synchronize-comput.....r/?lang=sr



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • System I Network Administrator
  • Pridružio: 19 Sep 2004
  • Poruke: 63
  • Gde živiš: Canada

Poz

Post je prilicno dobar mada bi dosao jos dodavanje NTP Server, ako je DC ili PDC Emulator Server off 5 minuta pojavljuju se greske oko SSL certificate. zato je uvek dobro imati podesen NTP server

Time synchronization is an important aspect for all computers on the network. By default, the clients computers get their time from a Domain Controller and the Domain Controller gets his time from the domain’s PDC Operation Master. Therefore the PDC must synchronize his time from an external source. I usually use the servers listed at the NTP Pool Project website. Before you begin, don’t forget to open the default UDP 123 port (in- and outbound) on your (corporate) firewall.

1. First, locate your PDC Server. Open the command prompt and type:

C:>netdom /query fsmo

2. Log in to your PDC Server and open the command prompt.
3 Stop the W32Time service:

C:>net stop w32time

4.Configure the external time sources, type:

CMr. Green w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org"

5 Make your PDC a reliable time source for the clients. Type:

C:>w32tm /config /reliable:yes

6.Start the w32time service:

C:>net start w32time

7. The windows time service should begin synchronizing the time. You can check the external NTP servers in the time configuration by typing:

C:>w32tm /query /configuration

Check the Event Viewer for any errors.

Tested on Windows Server 2008 R2 (Build 7601).



Ko je trenutno na forumu
 

Ukupno su 750 korisnika na forumu :: 3 registrovanih, 0 sakrivenih i 747 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: drimer, Koridor, TBF1D