Friday, January 15th, 2010...1:12 am
Gdzie jest mój DC?
Pwszechna jest wiedza, że klient usługi katalogowej w konkretnym wydaniu jaką jest Active Directory w celu zalogowania się poszukiwał będzie rozwiązania optymalnego. Rozwiązaniem tym jest znalezienie najbliższego sobie kontrolera domeny i użycia go w tym procesie. Całość procesu opiera się o rozwiązywanie nazw DNS oraz konfigurację infrastruktury fizycznej katalogu (sieci i lokacje) o czym już nieraz pisałem.
A co gdy sieci mamy podefiniowane, podpięte pod odpowiednie lokacje a pomimo tego uparty klient nadal nie korzysta z kontrolera domeny z którym jest mu najbardziej po drodze lecz preferuje ten w przysłowiowym Pcimiu (bez obrazy dla mieszkańców tegoż… pozdrowienia)? Wtedy nadchodzi czas na to co każdy administrator lubi najbardziej … troubleshooting.
Konfiguracja sprawdzona, logi przejrzane … nic nie widać … i co dalej?
W tym konkretnym przypadku, problemów z procesem lokalizacji kontrolera domeny mamy możliwość skorzytania z kilku dodatkowych mechanizmów wpierających cały proces.
Pierwszy to możliwość włączenia trybu debug dla procesu netlogon. Netlogon jest to usługa systemowa, który obsługuje całość działań związanych z procesem logowania się użytkownika. W każdej wersji Windows z rodziny wywodzącej się NT możliwe jest włączenie trybu debug poprzez ustawienie odpowiednich flag w rejestrze … a jakie to flagi i jak je ustawić można przeczytać w KB 109626 Enabling debug logging for the Net Logon service. Po ustawieniu odpowiednich wartości, w pliku %widir%\debug\netlogon.log zapisywane będą informacje dotyczące procesu logowania, w tym lokalizacji kontrolera domeny. W większości przydatne
. Przykładowy log związany z lokalizacją DC przez klienta znajduje się poniżej (lekko podrasowany dla czytelności).
[SITE] Setting site name to ‘(null)’
[SESSION] \Device\NetBT_Tcpip_{33941FFA-DFED-4744-BF9A-972228BC6FF0}: Transport Added (192.168.1.10)
[SESSION] Winsock Addrs: 192.168.1.10 (1) List used to be empty.
[SESSION] V6 Winsock Addrs: (0)
[CRITICAL] Address list changed since last boot. (Forget DynamicSiteName.)
[SITE] Setting site name to ‘(null)’
[DNS] Set DnsForestName to: w2k.pl
[DOMAIN] W2K: Adding new domain
[DOMAIN] Setting our computer name to wss wss
[DOMAIN] Setting Netbios domain name to W2K
[DOMAIN] Setting DNS domain name to w2k.pl.
[DOMAIN] Setting Domain GUID to ce28b6f7-a26a-4e0f-9f39-0e63e525493e
[MISC] Eventlog: 5516 (1) "wss" "W2K"
[INIT] Replacing trusted domain list with one for newly joined W2K domain.
[SITE] Setting site name to ‘(null)’
[LOGON] NlSetForestTrustList: New trusted domain list:
[LOGON] 0: W2K w2k.pl (NT 5) (Forest Tree Root) (Primary Domain) (Native)
[LOGON] Dom Guid: ce28b6f7-a26a-4e0f-9f39-0e63e525493e
[LOGON] Dom Sid: S-1-5-21-1855823386-3643518527-1754427229
[INIT] Starting RPC server.
[SESSION] W2K: NlSessionSetup: Try Session setup
[SESSION] W2K: NlDiscoverDc: Start Synchronous Discovery
[MISC] NetpDcInitializeContext: DSGETDC_VALID_FLAGS is c00ffff1
[INIT] Join DC: \\resfs.w2k.pl, Flags: 0xe00013fd
[MISC] NetpDcInitializeContext: DSGETDC_VALID_FLAGS is c00ffff1
[MAILSLOT] NetpDcPingListIp: w2k.pl.: Sent UDP ping to 192.168.1.1
[MISC] NlPingDcNameWithContext: Sent 1/1 ldap pings to resfs.w2k.pl
[MISC] NlPingDcNameWithContext: resfs.w2k.pl responded over IP.
[MISC] W2K: NlPingDcName: W2K: w2k.pl.: Caching pinged DC info for resfs.w2k.pl
[INIT] Join DC cached successfully
[SITE] Setting site name to ‘Default-First-Site-Name’
[MISC] NetpDcGetName: w2k.pl. using cached information
[PERF] NlAllocateClientSession: New Perf Instance (001E6688): "\\resfs.w2k.pl"
ClientSession: 00237D58
[SESSION] W2K: NlDiscoverDc: Found DC \\resfs.w2k.pl
[SESSION] W2K: NlSetStatusClientSession: Set connection status to 0
[DOMAIN] Setting LSA NetbiosDomain: W2K DnsDomain: w2k.pl. DnsTree: w2k.pl. DomainGuid:ce28b6f7-a26a-4e0f-9f39-0e63e525493e
[LOGON] NlSetForestTrustList: New trusted domain list:
[LOGON] 0: W2K w2k.pl (NT 5) (Forest Tree Root) (Primary Domain) (Native)
[LOGON] Dom Guid: ce28b6f7-a26a-4e0f-9f39-0e63e525493e
[LOGON] Dom Sid: S-1-5-21-1855823386-3643518527-1754427229
[SESSION] W2K: NlSetStatusClientSession: Set connection status to 0
[SESSION] W2K: NlSessionSetup: Session setup Succeeded
[INIT] Started successfully
Prawda że może być to pomocne??


4 Comments
January 17th, 2010 at 9:50 pm
Ale to tylko połowa zabawy, bo przecież z procesem logowania związany jest także proces nakładania polis, które mogą być pobierane z zupełnie innego DC.
January 17th, 2010 at 10:23 pm
@papi
… trzeba mieć o czym pisać
.
Jak najbardziej racja … z tym że ten proces też daje się kontrolować … ale zostawiłem sobie to na przyszłość
Jako że temat trochę już zalega na wyraźną sugestię czytelnictwa postaram się do końca tego tygodnia o tym napisać. Takie zobowiązanie niedzielne
February 15th, 2010 at 6:31 pm
Hmmm Tomku, a gdzie moge znalesc wyniki niedzielnego zobowiazania ?
February 18th, 2010 at 1:11 am
@xxx
Tutaj – http://www.w2k.pl/niedzielne-zobowiazanie/
Leave a Reply