Исклучување на еден домаќин од стандардната рута на Windows VPN
Профилот со целосен тунел ја поседува стандардната рута. На еден домаќин му треба потесен префикс на физичкиот интерфејс, кој повторно се додава по секое поврзување.
Преносното сметачо се поврзува со канцеларискиот VPN и сѐ оди по него, вклучително веб-страницата на печатач и еден интранет што одговара само на локалната мрежа. Рачно направена рута го средува тоа за еден час, потоа врската паѓа, се враќа и исклучокот го нема. Ништо не е во ред со тунелот: Windows држи една табела за рутирање, а VPN адаптерот го препишува својот дел од таа табела при секое поврзување. Она што преживува е сѐ што живее надвор од сопствените записи на адаптерот.
Кој запис го презема тунелот
Забележете ја табелата двапати, еднаш со исклучен тунел и еднаш со вклучен, и споредете ги стандардните редови. Кога профилот го бара стандардниот префикс, записот на адаптерот е најширокиот ред во табелата, па секој исклучок мора да биде потесен од него. Тоа е аритметика за должината на префиксот, а не изјава за доверба или политика. Таа исто така одредува кој интерфејс треба да го именува исклучокот.
Запишете го индексот на интерфејсот и локалниот портал пред да продолжите, бидејќи двете се менуваат кога машината ќе се приклучи на друга мрежа. Командите подолу ги читаат од машината, а не од меморијата.
route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.30
Втората команда го известува интерфејсот и следниот скок што таа адреса би ги користела во моментов, што е подобро од читање четириесет редови и гаѓање. Извршете ја пред и по поврзувањето и имате пар што вреди да се приложи кон запис за промена. Двата излеза ги даваат броевите што се користат во остатокот од оваа страница.
Рутата до домаќин победува по специфичност
Совпаѓањето на најдолгиот префикс го одредува победникот, па /32 преку физичкиот портал ја победува стандардната преку тунелот без тунелот да се допре. Сообраќајот до таа адреса излегува преку локалниот интерфејс, додека сѐ друго го задржува постојниот пат. Тунелот сѐ уште ја носи стандардната и едноставно престанува да биде единствениот кандидат за таа дестинација. Должината на префиксот е единствената полуга што табелата ја нуди, и за оваа задача е доволна.
Специфичноста исто така го исклучува очигледниот кратен пат да се исклучи име на домен, бидејќи табелата споредува адреси и едно име може да се реши на неколку. Прво решете го домаќинот, потоа одлучете која од неговите адреси заслужува исклучок.
За сѐ подолу, претпоставете врска со име Office, локален портал 10.0.0.1 на интерфејс 7 и дестинација на 198.51.100.30. Овие се заменски, а не стандардни вредности, и командите погоре ги даваат вредностите што вашата машина навистина ги користи. Чувајте ја оваа забелешка за замена со промената, за да не ги копира следниот читател броевите.
Направете рутата да го надживее следното повторно поврзување
Windows не нуди инструкција за исклучување на VPN врска, па исклучокот мора да живее на физичкиот интерфејс каде адаптерот нема да го препише. Командата што изгледа како одговорот го прави спротивното: Add-VpnConnectionRoute преместува префикс во тунелот, а тоа е огледалниот случај каде поделен профил треба да носи една дестинација и да го остави остатокот локално. Посегнувањето по неа овде гарантира дека сообраќајот што сакавте да го држите надвор ќе влезе внатре.
Рачната форма е една команда. Нејзината слабост е промената на мрежата, а не повторното поврзување.
route -p add 198.51.100.30 mask 255.255.255.255 10.0.0.1 metric 1 if 7
Тоа преживува рестартирање благодарение на -p и праќа една адреса низ интерфејс 7 додека тунелот го носи сѐ друго. Преместете го преносното на друга мрежа и порталот и индексот стануваат застарени, па записот тивко пропаѓа. Забележете кому му припаѓа и кога треба да се отстрани.
Скриптата за поврзување е поцврстата верзија, бидејќи го додава исклучокот повторно по секоја врска наместо да се надева дека записот преживеал. Двата реда подолу припаѓаат на она што го стартува тунелот, а не на скрипта за најавување.
rasdial Office
route add 198.51.100.30 mask 255.255.255.255 10.0.0.1 metric 1 if 7
Што и да го крева тунелот, тоа е вистинското место за вториот ред, и rasdial се враќа само откако врската е воспоставена, па рутата слетува зад сопствените записи на адаптерот. Извршете ја повторно по будење, бидејќи суспендирањето може да ја фрли рутата и да го остави тунелот кренат. Ако задачата е обратната, туркање еден префикс во тунелот додека остатокот останува локално, тогаш Add-VpnConnectionRoute е вистинската алатка.
Рутирањето не може да избере процес
Понекогаш барањето е потесно од дестинација: една програма треба да го земе локалниот пат додека сѐ друго останува во тунелот. Рутирањето не може да го изрази тоа, бидејќи совпаѓа адреси, а не процеси. Работниот образец го турка проблемот во стартер.
Држете го профилот надвор од стандардната рута и стартувајте ја таа една програма врзана за адресата на локалниот интерфејс, така исклучокот станува команда за стартување, а тунелот го задржува она што веќе го обработувал. Во табелата за рутирање ништо не се менува, и затоа ова преживува повторни поврзувања. Тоа исто значи дека тунелот не смее да ја поседува стандардната рута од самиот почеток, па ова е различен дизајн, а не закрпа на претходниот.
Нејзината слабост е оперативна, а не техничка. Програмата мора секогаш да стартува низ обвивката, и ако врзувањето недостасува по будење, таа тивко го зема кој и да е пат што табелата го нуди. Тоа е подносливо за прелистувач што го отворате намерно и неприфатливо за сѐ што никогаш не смее да го напушти тунелот.
Врските по корисник исто така не го решаваат ова. Windows може да ја ограничи врската на сметка додека табелата за рутирање останува за целата машина, па врска ограничена на сметка што држи стандардна рута сѐ уште го пренасочува секој процес на машината, вклучително другите сесии. Опсегот станува реален само кога опсегот на рутата се совпаѓа со сметката. Затоа две лица што делат еден преносен сметач делат една табела, а второто го наследува тунелот што го започнало првото.
Потврдете дека исклучокот преживеал повторно поврзување
Тестирајте ја промената онака како што ќе пропадне: исклучете се, поврзете се повторно, отворете нова апликација, потоа побарајте една адреса што мора да остане локална и една што мора да го користи тунелот. Споредете ги двете со Find-NetRoute во поврзана состојба.
Ако префиксот недостасува во табелата по повторно поврзување, тој живее во погрешен објект, а не во погрешен формат. Преместете го на физичкиот интерфејс и повторете го тестот. Чувајте ги двата излези од командите со записот за промена, бидејќи слика од работната состојба подоцна одговара на повеќе прашања од еден пасус објаснување. Следното лице ќе сака да знае што произвело поврзувањето, а не што сте имале намера да произведе.