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

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

Рэзервовая копія, адноўленая пазней, не з’яўляецца копіяй цяперашняга стану

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

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

Кожная падзея — гэта апавяшчэнне, а не транзакцыя

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

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

Дайце кожнаму супастаўленню ўладальніка

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

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

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

Калі ўмоўны DNS — гэта сапраўдная патрэба

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

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

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

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