31 .8. 2020

Prokletí jménem „Veřejná síť“ na serveru

Taky jste se již potkali s tím že server, na který jste se včera normálně připojili, najednou nereaguje na pokusy o kontakt? Že náhle není dostupný SQL server a aplikace přestávají fungovat? Někdy je na vině jedna malá, ale hodně nepříjemná vlastnost.
Jde o službu „Network Location Awareness“ (dále jen NLA), česky „Sledování umístění v síti“ a její fungování.
O co jde? O to že server, který ještě před nedávnem byl spokojeně připojen do doménové sítě, si náhle začne myslet, že je v síti veřejné. To se samozřejmě nestane náhodou, musí tomu předcházet nějaká událost jako restart nebo jiný výpadek.
Obrázky pocházejí z Windows server 2019, starší verze vypadají poněkud jinak – ale princip, ten zůstává.

A jaké to má důsledky? No, mnohdy devastující. Pravidla Windows Firewall jsou totiž ve většině případů nastavena právě pro doménovou síť, a v případě sítě veřejné jsou mnohem přísnější. Takže vám neumožní připojit se k serveru pomocí RDP ani powershellu, neumožní aplikací připojit se k službám běžícím na serveru a tak dále. Prostě, server je téměř jako vypnutý.

Jak ověřit, že je to i náš případ?

Jednoduše – restartujte službu NLA. Pokud po restartu služby dojde ke správné identifikaci sítě, jste tak říkajíc doma.

Jak předejít problému do budoucna?

Naštěstí existuje snadné a poměrně spolehlivé řešení. Krátce řečeno – nastavit u služby NLA zpožděné spouštění.

A proč? Protože naprostou většinu případů, kdy je síť chybně identifikována způsobí situace, kdy se NLA pokouší síť vyhodnotit, ale systém nebo hardware ještě není připraven. Typicky, ještě předtím, než proběhne celá potřebná komunikace s doménovým řadičem. Takže řešením je dát systému čas, aby pořádně naběhl. Spokojený server (a uživatel) je náš cíl :-)

No a to je vlastně celé. Tímhle jednoduchým trikem omezíte problém s veřejnou sítí na minimum.
Spokojený bude server i uživatelé, a o to tu kráčí :-)

4