Я падключаю кліент Azure VPN на ноўтбуку з Windows, адкрываю старонку водгуку адраса і бачу той жа публічны адрас, які выдаў мой хатні маршрутызатар. Тым часам скокавы сервер на 10.20.0.4 адказвае, а імя прыватнай канчатковай кропкі разрозніваецца, значыць тунэль не зламаны. Шлюз «пункт—сайт» робіць менавіта тое, што гаворыць яго канфігурацыя па змаўчанні: перадае прыватныя прэфіксы і пакідае ўсё астатняе на лакальным злучэнні. Атрыманне выхаднога адраса, які належыць Azure, — гэта змена схемы маршрутызацыі, а не рамонт.

Што шлюз абвяшчае па змаўчанні

Шлюз перадае маршруты для адраснай прасторы віртуальнай сеткі, а таксама для аднаранговых сетак, дзе дазволены транзіт праз шлюз, і лакальных прэфіксаў, вывучаных праз злучэнне «сайт—сайт» або BGP. У гэтым наборы няма 0.0.0.0/0. Ваша аперацыйная сістэма трымае маршрут па змаўчанні на Wi-Fi або Ethernet, таму пакет да публічнага API наогул не трапляе ў тунэль.

Адрас, які кліент атрымлівае ўнутры тунэля, — гэта прыватная арэнда з пула «пункт—сайт». Ён ідэнтыфікуе кліент для рэсурсаў у VNet; гэта не адрас, які можа ўбачыць інтэрнэт, і ён ніколі не з'явіцца як крыніца зыходнага запыту да API SaaS. Запіс у спісе дазволаў, пабудаваны вакол гэтай арэнды, не можа працаваць, колькі б вы ні чакалі, што ён з'явіцца ў журналах пастаўшчыка.

Раздзелены тунэль і прымусовае тунэляванне побач

Split tunnel, the defaultForced tunneling
Internet traffic exits throughlocal ISP or office routerfirewall or appliance inside Azure
Source address the API seesyour home or office IPthe firewall public IP
Inspection and logging in Azurenonepolicy rules plus flow logs
Ongoing costgateway onlygateway, firewall hours, data processing
What usually breaksnothing on the egress pathDNS, on-premises routes, overlapping local ranges

Толькі другі радок змяняе адрас, які бачыць аддаленая служба. Усё астатняе ў гэтай табліцы — гэта выдаткі і аперацыйная паверхня, якія вы прымаеце, калі выхад трэба правяраць або трансляваць унутры Azure. Калі хтосьці просіць вас змяніць публічны IP, ён просіць увесь правы слупок, а не дробную праўку кліента.

Ёсць прамежкавы варыянт, які варта назваць перад тым, як нешта перабудоўваць. VM-проксі або VM-шлюз унутры VNet дае кантраляваны адрас крыніцы для праграм, якія можна накіраваць на яго, не зрушваючы маршрут кліента па змаўчанні. Гэта пакідае звычайны прагляд лакальным і ўсё ж задавальняе партнёра, якому патрэбны толькі адзін выклік API з Azure. Ён не спраўляецца, калі патрабаванне сапраўды датычыць усяго трафіку, бо ўсё, што ігнаруе наладу проксі, усё роўна выходзіць лакальна.

Прымусьце тунэль несці маршрут па змаўчанні

На шлюзе віртуальнай сеткі падтрыманы спосаб накіраваць увесь інтэрнэт-трафік кліента ў тунэль — дадаць уласныя маршруты ў канфігурацыю «пункт—сайт». Дзве паловы пакрываюць усю прастору IPv4, і кожная з іх больш канкрэтная за лакальны маршрут па змаўчанні, таму кліент аддае ім перавагу, нічога не выдаляючы:

Set-AzVirtualNetworkGateway -VirtualNetworkGateway GWOBJ -CustomRoute 0.0.0.0/1,128.0.0.0/1

Гэты радок ілюстрацыйны, а не гатовы для капіявання: спачатку атрымайце аб'ект шлюза праз Get-AzVirtualNetworkGateway і падстаўце яго замест GWOBJ, а перад запускам пераканайцеся, што SKU і мадэль разгортвання прымаюць уласныя маршруты. Тыя ж прэфіксы ёсць на партале на старонцы канфігурацыі «пункт—сайт», і гэта больш бяспечнае месца, каб іх задаць, калі вы ўжо не кіруеце шлюзам скрыптамі.

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

У абароненым цэнтры віртуальнай WAN эквівалент — гэта маршрут па змаўчанні ў табліцы маршрутаў цэнтра, звязанай са шлюзам «пункт—сайт», прычым трафік бярэ Azure Firewall у цэнтры. Міжсеткавы экран транслюе злучэнні, накіраваныя ў інтэрнэт, на свае ўласныя публічныя IP-адрасы, і менавіта з гэтай трансляцыі паходзіць новы выхадны адрас. Калі ў экрана некалькі публічных IP, любы з іх можа з'явіцца як крыніца, таму спіс дазволаў мусіць утрымліваць усе.

Абедзве схемы вышэй — IPv4. Два прэфіксы /1 нічога не даюць для IPv6, а падтрымка IPv6 у «пункт—сайт» настолькі вузкая, што камбінацыю трэба праверыць, перш чым абяцаць парытэт.

Праверце маршрут, затым выхад

Пасля пераўсталёўкі пакета і паўторнага падключэння пераканайцеся, што кліент сапраўды ўсталяваў паловы. У Windows каманда Get-NetRoute -DestinationPrefix 0.0.0.0/1 і такі ж запыт для 128.0.0.0/1 павінны паказаць тунэльны інтэрфейс, а route print паказвае абодва побач з вашым зыходным маршрутам па змаўчанні. У Linux ip route show мусіць пералічыць два прэфіксы; калі не, профіль іх не перадаў.

Затым паўторна праверце публічны адрас з кліента і прачытайце журнал міжсеткавага экрана для таго ж злучэння. Крыніцай павінен быць публічны IP экрана з трансляваным портам. Кліент, які па-ранейшаму выходзіць лакальна пры наяўнасці абодвух маршрутаў, азначае, што пакеты дайшлі да Azure і выйшлі іншым шляхам: маршрут, вызначаны карыстальнікам, на падсетцы шлюза, экран, які сам прымусова тунэляваны да лакальнай сеткі, або палітыка, якая адкідае паток да трансляцыі.

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

Калі пакінуць раздзелены тунэль у спакоі

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

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

Перад закрыццём змены пацвердзіце чатыры рэчы: усталяваны пакет кліента — новы, два маршруты /1 стаяць на тунэльным інтэрфейсе, прыватная мэта ўсё яшчэ адказвае, і журнал аддаленай службы паказвае адрас міжсеткавага экрана.

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