Рутирање подмреже апликације је очигледни део подељеног тунела и није цео посао. Резолвер често седи на другој адреси од апликације којој служи, па радни тунел ипак може да остави претрагу изван њега. Профил који носи 10.80.0.0/16 и ништа друго шаље упит за 10.90.0.53 кроз локални интерфејс, где не постоји приватна зона. Додајте пут до резолвера, затим погледајте другу половину проблема: који сервер клијент заиста бира.

Мит: једна рута покрива целу услугу

Подељени тунел је листа одредишта која иду кроз везу, а не опис услуге. Подмрежа апликације и адреса резолвера су два одредишта, и профил може да носи једно без другог. Када се то догоди, апликација је доступна по адреси док њено име не успева, што изгледа као DNS квар, а не као празнина у рутирању.

Ни подмрежа око резолвера није аутоматски покривена. Рута ка домаћину за једну адресу довољна је за тај резолвер и не отвара његове суседе. У томе је смисао руте ка домаћину: уска по замисли и лака за заборав када се следећа услуга појави у истој подмрежи.

Три ствари морају да важе да би претрага радила: клијент рутира адресу резолвера кроз тунел, пролаз прихвата и прослеђује тај захтев, и резолвер прихвата извор који добије. Одговор такође мора да се врати договореним путем. Ако недостаје било шта од тога, симптом је исти, зато вреди записати табелу адреса пре него што се дотакне конфигурација.

Одредите које адресе профил мора да носи

Наведите одредишта по реду: мрежу апликације, адресу резолвера и јавну крајњу тачку која завршава сам тунел. Треће никада не сме да се рутира у тунел, јер спољашња веза захтева пут који постоји пре тунела.

DestinationCoverage this example needs
Application network10.80.0.0/16 through the VPN
Private resolver10.90.0.53/32 through the VPN
Public VPN endpointNormal internet path, outside the tunnel

Укључите и UDP и TCP за DNS, јер се од имплементација очекује подршка за TCP поред UDP, а блокиран TCP пут даје споре, делимичне кварове уместо чистих. Ако се приватна зона служи и преко IPv6, еквивалентан изузетак за домаћина користи IPv6 адресу и префикс и посебан је запис.

Запишите шта профил већ покрива пре него што било шта додате. Двострука рута је безопасна, али неочекивана постојећа рута говори да је профил пројектован за другачији план адреса од оног који сте добили.

Додајте руту ка домаћину кроз власника везе

За локално управљани изворни Windows профил, рута припада вези, а не глобалној таблици рутирања машине. Прво прегледајте додавање, затим га примените са истим обимом који профил користи.

Add-VpnConnectionRoute -ConnectionName 'Office VPN' -DestinationPrefix '10.90.0.53/32' -WhatIf
Get-VpnConnection -Name 'Office VPN' | Select-Object -ExpandProperty Routes

Прва команда прегледа промену без инсталирања било чега, а друга наводи руте које профил тренутно носи. Microsoft-ов Add-VpnConnectionRoute референтни водич документује обим за појединачног корисника и за све кориснике; профил за све кориснике захтева сопствени параметар обима, а команда за појединачног корисника против профила за све кориснике не успева или завршава на погрешном месту.

Када се профил управља или долази од клијента добављача, промена припада том власнику. Стављање трајне системске руте преко политике везе ради док се политика поново не примени и рута не нестане, што се обично дешава током позива подршци, а не током тестирања. Тај квар је тих: рута нестане, име престане да се разрешава и нико не повезује два догађаја. Ставите промену у сопствени запис власника да је следећа поновна примена носи уместо да је брише.

Након примене поново повежите профил уместо да претпоставите да је рута ступила на снагу. Промене рута на живој вези се не хватају увек, а поновно повезивање такође репродукује стање које ће ваши корисници заиста имати.

Проверите који је резолвер клијент заиста користио

Рута контролише пакете упућене резолверу. Она не одлучује која имена треба послати тамо, и тај избор је посебан механизам. На Windows-у ефективна правила именског простора могу да изаберу резолвер по домену, док DNS подешавања профила дају подразумевану вредност. Та два слоја могу да се разилазе без икакве грешке, зато је директан упит само половина доказа.

Get-DnsClientNrptPolicy
Resolve-DnsName app.svc.example -Server 10.90.0.53 -Type A

Прва команда штампа важећу политику именског простора, а друга пита приватни резолвер директно за име апликације. Директан одговор доказује да пут и резолвер раде; не доказује да је сопствена претрага апликације изабрала тај сервер. Упоредите га са нормалном претрагом истог имена и са одговором који апликација добија.

Узмите у обзир кешове и безбедни DNS на нивоу прегледача, који може потпуно да заобиђе системски резолвер за имена која је корисник откуцао. Наставак за претрагу је још један лажни траг: он проширује кратко име у потпуно квалификовано и нема никакве везе са тим који сервер одговара.

Завршите поновним повезивањем и понављањем нормалне претраге, затим потврдите да обично прегледање и даље следи своју одобрену политику. Замена приватног резолвера јавним да би се разрешило неповезано име није поправка и тихо премешта приватне упите тамо где никада нису требали да оду.

Повезани чланци