Ноўтбук падключаецца да офіснай 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 у падключаным стане.

Калі пасля перападключэння прэфікса няма ў табліцы, ён жыве ў няправільным аб'екце, а не ў няправільным фармаце. Перанясіце яго на фізічны інтэрфейс і паўтарыце тэст. Захавайце абодва вынікі каманд разам з запісам змены, бо здымак працаздольнага стану адказвае пазней на больш пытанняў, чым абзац тлумачэння. Наступнаму чалавеку захочацца даведацца, што дало падключэнне, а не што вы мелі на ўвазе.

Падобныя артыкулы