VPN ruta vezana za indeks interfejsa pada pri ponovnom povezivanju
Ruta vezana za broj adaptera umire kada se taj broj promijeni. Provjerite spremište, vežite prefiks za profil, pa se ponovo povežite u novom redu.
Ruta je radila sedmicama, a zatim je počela slati saobraćaj nikuda, s nepromijenjenim odredištem i bez ikakvog uređivanja. Ono što se promijenilo jest broj: ruta napravljena prema određenom indeksu interfejsa upućuje na adapter koji više ne postoji nakon ponovnog povezivanja, a prefiks odredišta nastavlja pokazivati na infrastrukturu koja je zamijenjena. Dodavanje trajnosti toj komandi ne pomaže, jer problem nikada nije bio u tome da li ruta preživljava restart. Rješenje je vezati namjeru za vezu, koja po dizajnu preživljava promjene adaptera.
Provjerite na šta ruta zapravo pokazuje
Počnite čitanjem unosa rute i adaptera jedan uz drugi. Ruta sa sljedećim skokom na VPN interfejsu i indeksom koji ne odgovara nijednom trenutnom adapteru potpis je ovog kvara; isti prefiks na drugom indeksu je ili ostatak ili ruta koju zaista želite. Pročitajte obje liste prije nego promijenite bilo koju, jer je zanimljivo poređenje između broja u ruti i brojeva koji trenutno postoje. Ako se indeks rute pojavljuje na listi adaptera, indeks nije vaš problem i pretraga se seli na metrike, politiku ili udaljeni kraj. Ako se ne pojavljuje, ništa više ne treba dijagnostikovati: ruta je vezana za infrastrukturu koje više nema.
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
Kolona Store razlikuje unos koji traje kroz restarte od onog koji nestaje s adapterom, a ta razlika određuje hoće li se kvar vratiti sutra. Unos u trajnom spremištu koji pokazuje na nestali indeks najgori je slučaj, jer preživljava restarte a nikada se ni s čim ne poklapa.
Vežite prefiks za profil, ne za adapter
Windowsov vlastiti VPN može nositi svoju listu ruta, pa veza ponovno koristi ispravan adapter kad god se pojavi. Ruta tada slijedi profil umjesto broja koji ste jednom primijetili, i nijedna skripta ne mora pogađati indeks nakon svakog poziva. Dodavanje prefiksa je također reverzibilno kroz odgovarajuću komandu za uklanjanje, što promjenu čini provjerljivom. Prefiks se čuva s vezom umjesto u skripti za pokretanje, pa profil kopiran drugom korisniku nosi namjeru sa sobom.
Add-VpnConnectionRoute -ConnectionName 'Lab VPN' -DestinationPrefix '10.77.0.0/16' -PassThru
Referenca za Add-VpnConnectionRoute dokumentuje povezanost s vezom, a obuhvat telefonskog imenika je važan: profil po korisniku i profil za sve korisnike različiti su objekti. Ovaj mehanizam pripada Windowsovom vlastitom VPN klijentu, pa adapter dobavljača kojim upravlja njegova vlastita usluga može svoje rute uzimati iz posve drugog izvora politike.
Očistite stare rute prije dodavanja nove
Dvije rute s istim prefiksom i različitim vlasnicima gore su od jedne pogrešne rute, jer pobjednik zavisi od metrika koje nitko nije zapisao. Pregledajte šta već postoji za prefiks, uključujući unose u trajnom spremištu, i uklonite samo ono što pripada neuspjelom pokušaju. Ostatak iz prethodnog dizajna uobičajen je u ovom području, jer je ruta koja pada obično zamijenila nešto što je radilo. Zabilježite koji unosi pripadaju kojoj vezi prije nego bilo šta uklonite, i držite listu u zapisu promjene.
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
Uparite prefiks, sljedeći skok, spremište i vlasnika zajedno umjesto da brišete sve što izgleda slično. Druga veza može legitimno zavisiti od dijela tog prostora, a široko brisanje pretvara urednu popravku u incident podrške.
Ponovo se povežite u drugom redu
Reproducirajte uvjet umjesto da se nadate da je prvi pokušaj bio reprezentativan. Prekinite vezu, ponovo se povežite i potvrdite odabranu putanju do istog udaljenog resursa dok je tunel aktivan; kad je u igri nekoliko VPN-ova, podignite ih u drugom redu i gledajte mijenja li se odabrana putanja. Red je varijabla koju većina preskoči, i upravo ona otkriva rutu vezanu za pogrešnu vezu.
rasdial 'Lab VPN' /disconnect
rasdial 'Lab VPN'
Find-NetRoute -RemoteIPAddress 10.77.5.20 | Select-Object -First 1
Rezultat koji želite nije da adapter jednom zadrži svoj broj. Nego da se ruta pojavi s kojim god brojem veza dobije, svaki put, i da nestane kad se veza zatvori. Dvostruko ponovno povezivanje najjeftiniji je način da razlikujete te ishode.
Znajte šta ruta ne može
Ruta iz profila daje putanju i ništa drugo. Ona ne otvara udaljeni firewall, ne stvara povratnu rutu na udaljenom kraju i ne rješava dva lokaliteta koji koriste isti raspon adresa; svako od toga je zasebna konfiguracija sa zasebnim vlasnikom. Potvrda putanje je zato početak prijemnog testa, a ne cijeli test.
Držite listu prefiksa uz profil i zabilježite pod kojim je obuhvatom dodan, da sljedeća osoba može pročitati predviđeni dizajn umjesto da ga zaključuje iz tabele ruta. Rute koje postoje samo u nečijem sjećanju su one koje se nakon sljedećeg povezivanja pogrešno obnavljaju. Komentar od jednog reda u bilješkama o postavljanju košta manje od cijelog popodneva ponovnog otkrivanja.