Połączenie z Internetem

System Windows 7 (Windows Vista, Windows Server 2008 i Windows Server 2008 R2 tez) za kazdym razem uprzejmie powiadamia uzytkownika, czy jego polaczenie sieciowe pozwala na dostep do Internetu, czy moze niekoniecznie. Latwo sie domyslec, ze system "cos" w tym celu sprawdza. Oczywiscie nie ma tutaj zadnej magii i warto wiedziec jak to sie w srodku odbywa.

Calosc konfiguracji zapisana jest w rejestrze w galezi HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet.  W typowym scenariuszu sprawdzenie polaczenia wyglada (w uproszczeniu) nastepujaco:

  • Sprawdzany jest klucz EnableActiveProbing. Jezeli ma wartosc 0, to dalsze kroki nie sa wykonywane.
  • Sprawdzany jest klucz NoActiveProbe. Jezeli ma wartosc rózna od 0, to dalsze kroki nie sa wykonywane. Pozornie ten krok jest taki sam jak wczesniejszy, ale wartosc NoActiveProbe pochodzi zazwyczaj z polityk GPO, dzieki czemu zarzadzanie przez GPO jest mozliwe, ale reczne wylaczenie tez jest mozliwe i zupelnie niezalezne.
  • Sprawdzane sa klucze ActiveDnsProbeHost i ActiveDnsProbeContent. Jezeli nie sa ustawione, to wykorzystywane sa wartosci "dns.msftncsi.com" i 0xFFFF6B83 oznaczajaca 131.107.255.255
  • Sprawdzane sa klucze ActiveWebProbeHost, ActiveWebProbePath i ActiveWebProbeContent. Jezeli nie sa ustawione, to domyslnie wykorzystywane sa wartosci odpowiednio: "www.msftncsi.com", "ncsi.txt" i "Microsoft NCSI"
  • Interfejs sieciowy jest weryfikowany pod katem obecnosci serwera proxy. Jezeli takiego serwera nie ma (obojetne, czy skonfigurowanego w systemie, czy opublikowanego przez WPAD) – podejmowana jest próba weryfikacji polaczenia przy pomocy DNS. Jezeli istnieje podejrzenie, ze proxy jest – uzywana jest weryfikacja przez Web.
  • Weryfikacja przez DNS polega na zapytaniu o adres ActiveDnsProbeHost i sprawdzeniu czy wynik jest równy ActiveDnsProbeContent. Weryfikacja przez Web polega na pobraniu z adresu https://ActiveWebProbeHost/ActiveWebProbePath zawartosci i sprawdzeniu czy jest ona równa wartosci ActiveWebProbeContent.
  • Jezeli weryfikacja przebiegla pomyslnie – system uznaje, ze ma polaczenie z siecia Internet.

Sprawa komplikuje sie mocno w przypadku uzycia DirectAccess. Uzywane sa wtedy wpisy dotyczace lacznosci z serwerami korporacyjnymi (WebProbeUrl, DnsProbeHost, SitePrefixes, DomainLocationDeterminationUrl itp.), ale to juz zupelnie odrebny temat.

Warto natomiast pamietac, ze standardowy mechanizm Active Probing moze byc dosc swobodnie przy pomocy rejestru konfigurowany. Swiadomy administrator moze sprawdzac dostepnosc dowolnie wskazanych serwerów DNS i WWW i "po swojemu" zdefiniowac pojecie polaczenia z Internetem.

Autor: Grzegorz Tworek [MVP]