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

Чатыры схемы, чатыры розныя абяцанні

Табліца ніжэй — кароткая версія. Чытайце сярэдні слупок як абяцанне, якое можна праверыць, а правы слупок як абяцанне, якога ніхто не даваў.

DesignWho initiatesPromise you getPromise you do not get
Routed VPN hubBoth ends, outbound to the hubA routed path to permitted prefixesAccess to services no policy allows
Peer traversal with ICEBoth peers to a rendezvous serviceA path tested between the two peersA direct path through every NAT
TURN relayClient outbound to a relayTransport that survives symmetric NATPeer discovery or a usable directory
Application brokerWorkstation outbound to a brokerOne audited application sessionSubnet-wide reachability

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

Канцэнтратар мяняе, хто званіць вонкі, а не што дазволена

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

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

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

Праходжанне працуе, толькі калі абодва стэкі яго рэалізуюць

Праходжанне паміж аднаранговымі вузламі — гэта магчымасць канкрэтнай сістэмы, а не параметр, які паляпшае VPN. Interactive Connectivity Establishment збірае некалькі адрасоў-кандыдатаў і правярае пары, пакуль адна не спрацуе: кандыдаты хаста на лакальных інтэрфейсах, серверна-рэфлексіўныя кандыдаты, пабудаваныя з таго, што выкрывае NAT, і рэлейныя кандыдаты, выдзеленыя на рэлеі. Прыватны адрас сам па сабе не шлях, бо другі бок не можа да яго маршрутызаваць.

Рэлейны выпадак варта зразумець, перш чым адкідаць яго. RFC 8656 апісвае TURN як пратакол, у якім кліент просіць сервер рэлейны транспартны адрас, а сервер перасылае трафік паміж гэтым кліентам і яго аднаранговымі вузламі. Такім чынам, даныя нясе рэлей, і гэта істотна адрозніваецца ад каталога, які толькі дапамагае канцавым пунктам сустрэцца. Абмен рэлейным адрасам з партнёрам — гэта крок каардынацыі, які павінна выканаць праграма.

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

Брокер вужэйшы за сетку

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

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

Параўнайце межы даверу, затым праверце шлях

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

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

ss -lntup
nc -vz hub.example.com 443
curl -sS -o /dev/null -w "%{http_code}\n" https://hub.example.com

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

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