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

Палічыце адносіны паміж вузламі перш за ўсё

Пры N пляцоўках поўная сетка патрабуе N памножанае на N мінус адзін, падзеленае на два, тунеляў; вузлу патрэбна N. На пяці пляцоўках гэта дзесяць супраць пяці, што ўсё яшчэ выглядае кіравальным. На пятнаццаці гэта 105 супраць пятнаццаці, і розніца ўжо не арыфметычная, а кадравы.

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

Хай вырашае сумесь трафіку, а не схема

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

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

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

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

Вузлу трэба загадаць перасылаць

Два працуючыя тунелі «філіял–вузел» не ствараюць доступу «філіял–філіял». Вузлу патрэбны ўключаны IP-фарвардынг, маршрут да кожнай сеткі філіяла, правіла фаеруола, якое дазваляе транзіт, і разлічаны зваротны шлях; кожнаму філіялу патрэбны маршрут да прэфіксаў іншай пляцоўкі. На Linux-вузле гэта net.ipv4.ip_forward=1 плюс FORWARD ланцуг, які не скідвае пару моўчкі, а на IPsec з палітыкамі гэта селектары трафіку, якія пералічваюць выдаленую падсетку філіяла з абодвух бакоў. У strongSwan нататкі пра фарвардынг апісваюць бок ядра і фаеруола, калі менавіта гэтага ўзроўню вам не хапае. Дэшэвы тэст — адправіць трафік з аднаго філіяла да сэрвісу на другім, сочачы за лічыльнікамі вузла; правіла, якое ніколі не павялічваецца, азначае, што няправільны парадак, а не маршрут.

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

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

Спачатку спраектуйце адмову, потым звычайны шлях

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

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

Ні адна з канструкцый сама не трымае TCP-сесію жывой падчас пераключэння. Калі праграма не можа перападключыцца, тапалогія — не ваша праблема.

Выбірайце па кошце змен, потым праверце маршруты

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

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

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

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