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

Сімптом: правільны запіс, састарэлыя тунелі

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

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

Хто кантралюе імя і што правярае кліент

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

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

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

Калі кожны кліент перачытвае імя

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

ClientWhen it resolvesWhat it verifies
wg-quickAt interface start, cached for the sessionPeer public key, not the name
OpenVPN 2.6On connect, possibly again on reconnectCertificate identity or pinned name
Mobile clientsMay hold the answer across sleep or a network changePlatform trust store, same certificates

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

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

Пераходзьце на падставе доказаў, потым выведзіце стары канцавы пункт

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

getent hosts vpn.example.com
ss -lunp | grep 51820
wg show wg0 latest-handshakes

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

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

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