Trasa fungovala týždne a potom začala posielať prevádzku nikam, pričom cieľ zostal nezmenený a nič sa neupravovalo. Zmenilo sa číslo: trasa vytvorená voči konkrétnemu indexu rozhrania odkazuje na adaptér, ktorý po opätovnom pripojení už neexistuje, a cieľový prefix naďalej ukazuje na vymenenú infraštruktúru. Pridanie trvalosti k tomu príkazu nepomôže, pretože problém nikdy nebol v tom, či trasa prežije reštart. Riešením je pripútať zámer k spojeniu, ktoré zmeny adaptérov prežíva už z princípu.

Skontrolujte, na čo trasa skutočne ukazuje

Začnite tým, že si prečítate záznam trasy a adaptéry vedľa seba. Trasa s ďalším skokom na rozhraní VPN a indexom, ktorý nezodpovedá žiadnemu súčasnému adaptéru, je podpisom tejto poruchy; ten istý prefix na inom indexe je buď zvyšok, alebo trasa, ktorú skutočne chcete. Prečítajte si oba zoznamy, kým ktorýkoľvek zmeníte, pretože zaujímavé je porovnanie medzi číslom v trase a číslami, ktoré práve existujú. Ak sa index trasy v zozname adaptérov objaví, index nie je váš problém a hľadanie sa presúva k metrikám, pravidlám alebo vzdialenej strane. Ak sa neobjaví, niet čo ďalej diagnostikovať: trasa je pripútaná k infraštruktúre, ktorá už neexistuje.

Get-NetRoute -DestinationPrefix '10.77.0.0/16' | Select-Object DestinationPrefix, NextHop, InterfaceIndex, Store
Get-NetAdapter | Where-Object InterfaceDescription -like '*VPN*' | Select-Object Name, InterfaceIndex, InterfaceDescription
Get-VpnConnection -Name 'Lab VPN' | Select-Object Name, ServerAddress, SplitTunneling

Stĺpec Store rozlišuje záznam, ktorý pretrváva reštarty, od záznamu, ktorý mizne s adaptérom, a tento rozdiel určuje, či sa porucha zajtra vráti. Záznam v trvalom úložisku, ktorý ukazuje na zmiznutý index, je najhorší prípad, pretože prežíva reštarty, a pritom sa nikdy s ničím nezhoduje.

Pripnite prefix k profilu, nie k adaptéru

Natívny VPN vo Windows môže niesť vlastný zoznam trás, takže spojenie znovu použije správny adaptér vždy, keď sa objaví. Trasa potom nasleduje profil namiesto čísla, ktoré ste raz videli, a žiadny skript nemusí po každom vytáčaní hádať index. Pridanie prefixu je tiež vratné pomocou príslušného príkazu na odstránenie, čo udržiava zmenu auditovateľnú. Prefix sa ukladá so spojením namiesto v spúšťacom skripte, takže profil skopírovaný inému používateľovi nesie zámer so sebou.

Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru

Referenčná stránka Add-VpnConnectionRoute dokumentuje asociáciu so spojením a rozsah telefónneho zoznamu je dôležitý: profil pre jedného používateľa a profil pre všetkých používateľov sú rôzne objekty. Tento mechanizmus patrí vlastnému klientovi VPN vo Windows, takže adaptér dodávateľa spravovaný jeho vlastnou službou môže brať trasy z úplne iného zdroja pravidiel.

Pred pridaním novej trasy vyčistite staré

Dve trasy s rovnakým prefixom a rôznymi vlastníkmi sú horšie ako jedna nesprávna trasa, pretože víťaz závisí od metrík, ktoré nikto nezapísal. Preskúmajte, čo pre prefix už existuje, vrátane záznamov v trvalom úložisku, a odstráňte len to, čo patrí k neúspešnému pokusu. Zvyšok z predchádzajúceho návrhu je v tejto oblasti bežný, pretože zlyhávajúca trasa zvyčajne nahradila niečo, čo fungovalo. Pred odstránením čohokoľvek si poznačte, ktoré záznamy patria ktorému spojeniu, a zoznam si nechajte v zázname o zmene.

Get-NetRoute -AddressFamily IPv4 | Where-Object DestinationPrefix -like '10.77.*'
Remove-NetRoute -DestinationPrefix '10.77.0.0/16' -NextHop '0.0.0.0' -Confirm:$false

Porovnávajte prefix, ďalší skok, úložisko a vlastníka spoločne, namiesto mazania všetkého, čo vyzerá podobne. Iné spojenie môže legitímne závisieť od časti toho priestoru a plošné mazanie premení úhľadnú opravu na incident podpory.

Pripojte sa znova v inom poradí

Reprodukujte podmienku, namiesto toho, aby ste dúfali, že prvý pokus bol reprezentatívny. Odpojte sa, pripojte sa znova a potvrďte zvolenú cestu k tomu istému vzdialenému zdroju, kým je tunel aktívny; ak je v hre viac VPN, zdvihnite ich v inom poradí a sledujte, či sa zvolená cesta zmení. Poradie je premenná, ktorú väčšina vynechá, a práve ona odhalí trasu pripútanú k nesprávnemu spojeniu.

rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1

Výsledok, ktorý chcete, nie je to, že si adaptér raz podrží svoje číslo. Je to, že sa trasa objaví s akýmkoľvek číslom, ktoré spojenie dostane, zakaždým, a zmizne, keď sa spojenie zavrie. Dvojité opätovné pripojenie je najlacnejší spôsob, ako tieto výsledky rozlíšiť.

Vedzte, čo trasa nevie

Trasa z profilu poskytuje cestu a nič iné. Neotvára vzdialený firewall, nevytvára spätnú trasu na vzdialenom konci ani nerieši dve lokality s rovnakým rozsahom adries; každé z toho je samostatná konfigurácia so samostatným vlastníkom. Potvrdenie cesty je preto začiatok akceptačného testu, nie celý test.

Uchovávajte zoznam prefixov pri profile a poznamenajte, pod akým rozsahom bol pridaný, aby si ďalší človek mohol prečítať zamýšľaný návrh, namiesto toho, aby ho odvodzoval z tabuľky trás. Trasy, ktoré existujú len v niekoho pamäti, sú tie, ktoré sa po ďalšom pripojení znova postavia nesprávne. Jednoriadkový komentár v poznámkach k nasadeniu stojí menej ako celé popoludnie znovuobjavovania.

Súvisiace články