Два ноўтбукі на адным хатнім маршрутызатары могуць выходзіць у інтэрнэт праз розныя выхады VPN, і супольны Wi-Fi тут нічога не вырашае. Вынік вызначае тое, дзе працуе тунель і якая палітыка выбірае шлях для кожнага запыту. Процілеглае перакананне гэтак жа распаўсюджанае і гэтак жа памылковае: дзве прылады з асобнымі профілямі не ствараюць аўтаматычна два публічныя адрасы. Абедзве памылкі паходзяць з таго, што адзін адрас прымаюць за тры.

Тры адрасы, і толькі адзін з іх выходзіць

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

RFC 3022 праводзіць мяжу, якая тлумачыць большую частку блытаніны тут. Традыцыйны NAT адлюстроўвае ўнутраныя адрасы на публічныя, а трансляцыя партоў дазваляе многім унутраным адрасам адначасова карыстацца адным публічным адрасам. Сям'я з адным публічным адрасам і некалькімі прыладамі — гэта другі выпадак, і ён практычна ўсюды тыповы.

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

Што робіць два выхады сапраўды рознымі

Выхад розны, калі апошняя прылада перад інтэрнэтам выкарыстоўвае для гэтага трафіку іншы публічны адрас. Гэта можа адбыцца таму, што VPN завяршаецца ў іншым месцы, таму што пул выхадаў прызначае іншы адрас, або таму што правайдэр накіроўвае запыт праз іншы выхад. Усе тры — палітычныя рашэнні на далёкім баку, і ні адно з іх не бачна з хатняга маршрутызатара.

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

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

Чаму асобныя профілі — гэта не асобныя выхады

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

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

Адзіны надзейны адказ прыходзіць з запыту, зробленага праз тую схему, якую вы збіраецеся выкарыстоўваць. Усё астатняе — здагадкі.

Дзе размясціць падзел

Тунель на маршрутызатары ахоплівае ўсю сям'ю, што зручна і дае роўна адзін супольны выхад для кожнай прылады за ім. Кліент на кожнай прыладзе дае папрыладны кантроль, але патрабуе, каб кожную прыладу наладзілі і яна заставалася наладжанай. Маршрутызатар з падтрымкай палітык стаіць паміж, выбіраючы шлях для кожнай прылады, і працуе толькі калі надзейна пазнае прылады праз перападключэнні і змены DHCP.

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

Якую б форму вы ні абралі, запішыце адказнасць: хто наладжвае прыладу, хто мяняе яе ўліковыя дадзеныя і хто заўважыць, калі яна перастане карыстацца вызначаным шляхам.

Праверце выхад, які вы сапраўды атрымалі

Рабіце праверку з таго праграмнага забеспячэння, якое важнае, і параўноўвайце адну і тую ж сям'ю адрасоў на абедзвюх прыладах. Вынік IPv4 з адной і вынік IPv6 з другой не даказваюць нічога ні пра адну. Потым паўтарыце праверку пасля перападключэння, бо прызначэнне пула можа змяніцца паміж сесіямі.

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

curl -4 -sS https://api.ipify.org; echo
curl -6 -sS https://api64.ipify.org; echo
ip route get 1.1.1.1

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

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