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

Міф: адзін тунэль, тры гарантыі

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

Шыфраванне, перанос пратаколаў і ізаляцыя перасылкі — гэта асобныя рашэнні, якія накладаюцца зверху. У тунэля GRE няма ніводнага з трох у крыптаграфічным сэнсе, а тунэль IP-in-IP — гэта слушны праект зусім без канфідэнцыяльнасці. Ні тое ні другое не памылка; гэта тунэлі, якія робяць менавіта тое, што робяць тунэлі. Подпіс на схеме не кажа, якія ўласцівасці прысутнічаюць.

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

Што тунэль насамрэч дадае да карты

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

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

ip -d link show type gre
ip route get 10.20.0.5
traceroute -n -T -p 443 10.20.0.5
mtr -n --report -c 20 10.20.0.5

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

Перанос — асобнае рашэнне ад дасяжнасці

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

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

Перанос кадраў — большае абавязацельства, чым перанос пратаколаў. Пашырэнне шырокавяшчальнага домена праз тунэль пераносіць разам з ім паводзіны spanning-tree, ARP і распаўсюджванне адмоваў, а гэта праектнае рашэнне, а не перамыкач функцыі.

Ізаляцыя — гэта не канфідэнцыяльнасць

Правайдэрскія VPN трымаюць маршруты кліентаў і трафік у асобных кантэкстах перасылкі, і гэтае раздзяленне сапраўднае і каштоўнае. Яно не з'яўляецца шыфраваннем. Спецыфікацыя BGP/MPLS VPN непасрэдна кажа, што яе прыватнасць паходзіць з мадэлі перасылкі, а не з крыптаграфіі, і менавіта гэтае адрозненне губляецца на слайдзе, які проста кажа VPN.

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

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

Затрымка і QoS ідуць за ніжнім узроўнем

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

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

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

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

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