No Internet Access–limited hálózati kapcsolat
Figyelem: Exchange és Lync mentes blog.
Ki az aki még nem találkozott a címben szereplo jelenséggel soha? Gyakori labor építoként már megvonom a vállam. Na és? Ha nincs Internet elérés, az nekem általában azt juttatja mindig eszembe, hogy újra dolgozom.
Csakhogy ez nem mindig elfogadható még labor környezetben sem. Ha Limited (értsd No Internet Access) állapotban van egy gép, akkor téves következtetésre juthat 1-2 szoftver és egyszeruen megáll. Ilyen például a Direct Access. A DA ha azt látja, hogy limited a kapcsolat, akkor hozzá sem fog a kapcsolódáshoz. Ennek az oka egyszeru: a DA muködéséhez élo Internet kapcsolat kell. De hogy szimuláljunk élo Internet kapcsolatot egy izolált laborban?
Eloször is értsük meg azt, hogy miként dönt a Windows arról, hogy van-e Internet kapcsolat vagy sem. Kezdjük ezzel. Az úgy volt, hogy Windows Vista óta van egy Network Location Awareness (NLA) szolgáltatása a Windows-nak. Ennek a legfontosabb célja az, hogy a Windows és a rajta futó alkalmazások értesülhessenek arról, ha a hálózati közeg megváltozik alattuk és ne kelljen ezért semmit se újraindítani. Például ha az otthoni WiFi hálózatról mobil internetre váltunk, akkor a Windows tuzfalnak illik másként viselkednie (feltételezve azt, hogy az otthoni tuzfal beállításunk megengedobb mint a mobil internetes kapcsolat esetében). Az NLA szolgáltatásnak van egy olyan Active Probe eleme, ami folyamatosan ellenorzi azt, hogy van-e Internet kapcsolata a Windows-nak. Ez az Active Probe a következoket ellenorzi:
- Egy HTTP GET kérést küld. Az URL: https://www.msftncsi.com/ncsi.txt
- erre az elvárt válasz, vagyis a TXT tartalma: Microsoft NCSI
- Standard DNS query-t küld a DNS kiszolgálónak és megpróbálja feloldani a következo A rekordot: dns.msftncsi.com
Az NLA funkciót a Network Location Awareness Windows szolgáltatásban implementáltuk. Ez a szolgáltatás felelos a logika helyes futtatásáért. A szolgáltatás paraméterezheto. A paraméterek a rendszerleíró adatbázisban tárolja a Windows a “HKLM\System\CurrentControlSet\Services\NlaSVC\Parameters\ Internet” elérési út alatt. Ahol kedvünkre módosíthatjuk, amivel aztán a szolgáltatás muködését tudjuk befolyásolni. A legfontosabb paramétereket a lenti táblázatban foglaltam össze.
Paraméter neve | Alapértelmezett érték | Magyarázat |
ActiveDnsProbeContent | 131.107.255.255 | Az elvárt válasz az A rekord lekérdezésére |
ActiveDnsProbeContentV6 | fd3e:4f5a:5b81::1 | Az elvárt válasz az AAAA rekord lekérdezésére |
ActiveDnsProbeHost | dns.msftncsi.com | Ezt a nevet próbálja meg feloldani a Windows. Az elvárt válasz az ActiveDnsProbeContent tartalma |
ActiveDnsProbeHostv6 | dns.msftncsi.com | Ezt a nevet próbálja meg feloldani a Windows. Az elvárt válasz az ActiveDnsProbeContentV6 tartalma |
ActiveWebProbeHost | www.msftncsi.com | Errol a HOST-ról próbálja megnyitni a Windows az ActiveWebProbePath –ban tárolt elérési utat |
ActiveWebProbeHostV6 | ipv6.msftncsi.com | Errol a HOST-ról próbálja megnyitni a Windows az ActiveWebProbePathV6 –ban tárolt elérési utat (IPv6 ellenorzés) |
ActiveWebProbePath | ncsi.txt | Ezt az elérési utat keresi az ActiveWebProbeHost –on a kliens |
ActiveWebProbePathV6 | ncsi.txt | Ezt az elérési utat keresi az ActiveWebProbeHostV6 –on a kliens |
ActiveWebProbeContent | Microsoft NCSI | Ezt kell tartalmazza a TXT fájl az ActiveWebProbeHost + “/” + ActiveWebProbePath elérési úton |
ActiveWebProbeContentV6 | Microsoft NCSI | Ezt kell tartalmazza a TXT fájl az ActiveWebProbeHostV6 + “/” + ActiveWebProbePathV6 elérési úton |
EnableActiveProbing | 1 | Értéke lehet 0 vagy 1. Segítségével az InternetProbe ki (0) vagy bekapcsolható (1), Ha kikapcsoljuk, akkor konstans No Internet Access lesz az eredmény. |
Az éppen aktuális környezetemben a következo módosításokat végeztem el:
A hatása a következo:
- A https://www.contoso.hu/ncsi.txt fájlt keresi a kliens
- az elvárt tartalom: zzzz
- Standard DNS névfeloldást a dns.contoso.hu A rekordra végez a kliens
- az elvárt válasz: 10.1.1.1
- Nincs IPv6 alapú ellenorzés, csak IPv4
Az eredmény majdnem tökéletes és a fenti információk kb. tucatjával fellelhetoek az Interneten. Csatlakoztam a táborhoz. Azonban a fenti beállítások eredményeként nálam nem muködött a trükk. Továbbra is No Internet Access volt az eredmény.
Hosszas debugolás után feladtam tegnap este a hibakeresést. A helyzet úgy nézett ki, hogy a kliens meg sem próbált becsatlakozni a web szerverhez és DNS névfeloldást sem kezdeményezett.
Ennek a jelenségnek pedig az oka viszonylag logikus. Ha a kliensnek nincs alapértelmezett átjárója és nincs WinHTTP providernek proxy kiszolgáló beállítva akkor arról a kliensrol technikailag nem lehetséges az Internet elérés. Így az NLA Internet Probe meg sem kísérli az ellenorzést! Egyszeruen úgy tekint arra a gépre, hogy elméletileg sem lehet Internet elérés, akkor pedig minek fárassza magát. Viszonylag ritka az amikor az egész Internet-el azonos alhálózaton vagyunk és nem kell alapértelmezett átjáró. Valamikor 40+ éve pár percig biztosan volt ilyen állapot de ma már ez nem reális.
Szóval ha a laborodban kell Internet és mindent jól beállítottál, de nem muködik jól a detektálás, akkor ne feledd: állíts be egy alapértelmezett átjárót a kliensnek!
Ugyan ebben semmi Exchange nincs, azért remélem, hogy valamennyire hasznos volt.
Comments
- Anonymous
August 07, 2013
sztem naon hasznos volt, sokan a mai napig nem tudjak, h mire is valo, mi mindenre jo az NLA, pedig anno sokat irtunk rola. még annyit h 1-2 parametert GP-bol is lehet allitani, ha jol emlekszem. - Anonymous
March 20, 2014
"az egész Internet-el azonos alhálózaton vagyunk" :D :D