
Windows 11 - připojení současně k několika sítím
Jak pracovat ve Windows 11 při připojení k několika sítím současně
Dříve (od Windows XP) stačilo aktivovat přes změnu registrů IP Router a nastavit metriky u adaptérů. Ve Windows 11 se to mění a Windows si samy tento parametr deaktivují, i když jej aktivujete.
Změnila se architektura Windows sítí a MS se snaží přiblížit k fungování telefonů - máte aktivních několik sítí (obvykle data a wifi). Takové to chytré přepínání sítí, kdy se vzdálíte od WiFi a automaticky se přepnete na data.
Problém je, že pokud je aktivních několik sítí, tak Windows 11 čekají na odezvu ze všech adaptérů a navíc ještě použijí několik přístupů pro překlad jména na adresu. Výsledkem je čekání třeba až 10s než se připojíte.
Navíc se upřednostňuje metrika sítí - čím nižší metrika, tím vyšší přednost. Čím rychlejší síť, tím nižší metriku dostane. Normálně je to v pořádku, ale v případě, že jste připojeni k internetu přes WiFi a do vnitřní sítě (která je rychlejší) bez přístupu k internetu kabelem, pak to začne dělat problémy.
V mém případě se to ještě komplikuje, když přecházím mezi 3 místy a počítač jen uspávám, nevypínám.
Prostředí
Lokace 1 - prostředí domény 1
WiFi - připojení k internetu, rozsah 192.168.x.x
Kabel - připojení do vnitřní sítě, rozsah 172.x.x.x
VPN - chci, aby fungovala přes WiFi
WireGuard VPN - chci, aby fungovala přes WiFi
Lokace 2 - prostředí domény 2
Kabel - připojení k místní síti i internetu, rozsah 10.x.x.x
MS RDP přes RD Gateway - přes kabel
WireGuard - přes kabel
Lokace 3 - domácí síť
Kabel - připojení k místní síti rozsah 192.168.x.x
VPN - přes kabel
MS RDP přes RD Gateway - přes kabel
Problémy:
1) Lokace 1, kde jsem připojen aktivně ke 2 sítím a chci upřednostnit WiFi a správně překládat názvy přes DNS, které jsou na všech sítích
2) Přecházení s notebookem mezi lokacemi bez jeho vypínání
Řešení problému 1
Co je třeba udělat, aby se Windows 11 umravnily a začaly se chovat slušně, podobně jako systémy před nimi se zapnutým IP routerem.
: Tento klic vypina NetBIOS pro vsechna rozhrani, ktera nemaji vlastni specificke nastaveni
: Netbios snad už nikdo dnes nepoužívá. Pokud na něm trváte, řádek vynechejte
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters" /v "EnableLMHOSTS" /t REG_DWORD /d 0 /f
: Toto zabrani Windows posilat dotazy paralelne na vsechna rozhranini a cekat na nejpomalejsi
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" /v "DisableSmartNameResolution" /t REG_DWORD /d 0 /f
: Zabranuje zpozdeni zpusobenemu pokusy o preklad jmen pres multicast, pokud DNS neodpovida hned
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" /v "EnableMulticast" /t REG_DWORD /d 0 /f
: Povolim vice pripojeni soucasne
reg add "HKLM\Software\Policies\Microsoft\Windows\WcmSvc\Local" /f
reg add "HKLM\Software\Policies\Microsoft\Windows\WcmSvc\Local" /v fMinimizeConnections /t REG_DWORD /d 0 /f
: Nastavim metriku pro Kabel, aby mela WiFi prednost (pozor, adaptery mam přejmenované, jména si upravte dle sebe)
netsh interface ipv4 set interface "WiFi" metric=4
netsh interface ipv4 set interface "Kabel" metric=8
Řešení problému 2
Pro zrychlení je třeba vyčistit IP a ARP cache a říct systému, aby si znovu zaregistroval DNS servery (ipconfig /renew)
Na to jsem si vytvořil dávkový soubor, který spouštím přes plánovač úloh
Dávkový soubor:
: vycistime tabulky po prihlaseni / obnoveni ze spanku. Vola se z planovace uloh
ipconfig /flushdns
arp -d *
nbtstat -R 2>nul
ipconfig /renew
Plánovač:
Nová úloha
Aktivační události:
1. při přihlášení uživatele
2. při události: protokol: systém, Zdroj: Power - Troubleshooter, ID události: 1, zpoždění spuštění 5s
Akce: spustit váš CMD soubor
Úlohu nechám spouštět bez hledu na přihlášení uživatele s nejvyššími právy.
Tím jsme mnohem složitějším způsobem dosáhli toho, na co dříve stačilo nastavit metriku u rozhraní a zapnout IP router.
Pokud nepoužíváte IPv6 protokol, ale nechcete jej rovnou vypínat, ale pouze upřednostnit IPv4 před IPv6, pak je tu ještě jeden set příkazů, které právě to udělají:
: prioritizace IPv4 pred IPv6
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 50 0
netsh interface ipv6 set prefixpolicy ::1/128 40 1
netsh interface ipv6 set prefixpolicy ::/0 30 2
netsh interface ipv6 set prefixpolicy 2002::/16 20 3
netsh interface ipv6 set prefixpolicy 2001::/32 5 5
netsh interface ipv6 set prefixpolicy fc00::/7 3 13
netsh interface ipv6 set prefixpolicy fec0::/10 1 11
netsh interface ipv6 set prefixpolicy 3ffe::/16 1 12
netsh interface ipv6 set prefixpolicy ::/96 1 4
Předchozí postup můžeme zoptimalizovat použitím permanentních rout, kde nastavíte, aby rozsah adres např. 172.0.0.0 s maskou 255.0.0.0 byl směřován na bránu 172.44.120.110 s metrikou 1
Další routou pak směřujete provoz pres VPN atd.
Je to jen příklad, pokud to chcete použít, musíte si to přizpůsobit vašim podmínkám
route add -p 172.0.0.0 MASK 255.0.0.0 172.44.120.110 metric 1
route add -p 10.0.0.0 mask 255.255.0.0 10.0.110.1 metric 1Snad se to někomu bude hodit.