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

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

Хто можа падключыцца: адзін аўтарытэт, шмат вузлоў

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

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

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

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

Што належыць вузлу: адрасы і маршруты

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

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

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

Дакументаваны прыклад прадукту тут дапамагае. Дакументацыя Pritunl па рэплікацыі разглядае сетку VPN як аб’ект на кожную рэпліку, і кліентам на розных рэпліках патрэбны дадатковыя маршруты і злучанасць, каб дасягнуць адно аднаго. Гэта ўласцівая прадукту ўмова, а не рэцэпт для Community OpenVPN, але яна паказвае, чаму даданне рэплікі змяняе сетку, а не толькі сховішча запісаў.

Што такое сеанс: жывы стан, а не радок

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

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

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

Праверка трох рэестраў

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

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

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

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