offline
- Fil
- Legendarni građanin
- Pridružio: 11 Jun 2009
- Poruke: 16586
|
- 11Ovo se svidja korisnicima: E.L.I.T.E., Sagacity, mcrule, klodovik, boki199777, _Sale, DzoniB, nike992, magna86, Pakito93, Filodendron
Registruj se da bi pohvalio/la poruku!
[0] Uvod
Tradicionalno, i za 11000-tu poruku izlazi novi članak
* 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 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.).
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.
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: + KLIK0x01 - use special poll interval SpecialInterval
0x02 - UseAsFallbackOnly
0x04 - send request as SymmetricActive mode
0x08 - send request as Client mode
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
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
Značenje svih parametara, relevantnih ključeva u registru i drugo, objašnjeno "u sitna crevca", pogledajte u sekciiji literatura [6].
Dodatne napomene:
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
Ostale komande videti pod literatura [6].
Događaji
U Event Viewer-u, pratite sledeće događaje za debagovanje: + KLIK- Event ID 12: Time Provider NtpClient: This machine is configured to use the domain hierarchy to determine its time source, but it is the AD PDC emulator for the domain at the root of the forest, so there is no machine above it in the domain hierarchy to use as a time source. It is recommended that you either configure a reliable time service in the root domain, or manually configure the AD PDC to synchronize with an external time source. Otherwise, this machine will function as the authoritative time source in the domain hierarchy. If an external time source is not configured or used for this computer, you may choose to disable the NtpClient.
- Event ID 36: The time service has not synchronized the system time for 86400 seconds because none of the time service providers provided a usable time stamp. The time service will not update the local system time until it is able to synchronize with a time source. If the local system is configured to act as a time server for clients, it will stop advertising as a time source to clients. The time service will continue to retry and sync time with its time sources. Check system event log for other W32time events for more details. Run 'w32tm /resync' to force an instant time synchronization.
- Event ID 144: The time service has stopped advertising as a good time source.
- Event ID 131: NtpClient was unable to set a domain peer to use as a time source because of DNS resolution error on ''. NtpClient will try again in 3473457 minutes and double the reattempt interval thereafter. The error was: The requested name is valid, but no data of the requested type was found. (0x80072AFC).
- Event ID 24: Time Provider NtpClient: No valid response has been received from domain controller DC-DNS.domain.org [this is our primary DC] after 8 attempts to contact it. This domain controller will be discarded as a time source and NtpClient will attempt to discover a new domain controller from which to synchronize. The error was: The peer is unreachable.
- Event ID 142: The time service has stopped advertising as a time source because the local clock is not synchronized.
- Event ID 50: The time service detected a time difference of greater than 5000 milliseconds for 900 seconds. The time difference might be caused by synchronization with low-accuracy time sources or by suboptimal network conditions. The time service is no longer synchronized and cannot provide the time to other clients or update the system clock. When a valid time stamp is received from a time service provider, the time service will correct itself.
- Event ID 129: NtpClient was unable to set a domain peer to use as a time source because of discovery error. NtpClient will try again in 3145779 minutes and double the reattempt interval thereafter. The error was: The entry is not found. (0x800706E1)
- Event ID 12 (W32time) - koreni PDC emulator za šumu nije konfigurisan ili ne može da izvrši sinhronizaciju sa eksternim izvorom.
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
|