Дві кінцеві точки на папері виглядають як резервування. На практиці друга адреса допомагає лише тоді, коли клієнти можуть до неї дістатися і коли вона уникає відмови, до якої ви готуєтеся. Два сервери за одним підключенням доступу, одним обліковим записом або однією цільовою мережею падають разом. Корисне питання — яку єдину відмову усуває друга кінцева точка.

Порівняйте, що обидві кінцеві точки поділяють

Перелічіть, що спільного в двох кінцевих точок, перш ніж рахувати, що вони дублюють. Місце хостингу, обліковий запис провайдера, вихідний транзит, хостинг DNS, джерело ідентичності та приватний ресурс за тунелем — кожен із них є спільною або незалежною залежністю. Дві віртуальні машини в одному регіоні поділяють збій провайдера. Два регіони під одним обліковим записом досі поділяють розрахункові відносини та площину керування, яка їх створює.

Цільова мережа заслуговує такого самого підходу. Здоровий резервний шлюз не може відновити NAS, який не в мережі, і не може дістатися до офісної мережі, у якої впав вихідний канал. Якщо обидві кінцеві точки завершуються в одній приватній підмережі, друга лише додає шлях до призначення, яке вже є єдиною точкою відмови.

Ідентичність — це залежність, про яку забувають. Клонування сертифіката й конфігурації на другий хост створює два місця, де ті самі облікові дані можна скопіювати, і нічого не каже про те, як відкликання доходять до обох.

Вирішіть, як клієнт перемикається

Друга кінцева точка корисна лише тоді, коли клієнт знає про неї й може вибрати її без дзвінка в підтримку. Профілі підключення OpenVPN можуть містити кілька рядків remote із політикою вибору, і більшість клієнтів пропонують альтернативний профіль у меню. Яким би не був механізм, запишіть, який мають ваші користувачі, бо профіль, який вони не можуть знайти, — це не перемикання.

Прочитайте документацію клієнта про зміни адреси під час сеансу. Деякі реалізації зберігають початкового партнера протягом усього життя тунелю і звертаються до альтернатив лише під час повторного підключення. Ця відмінність вирішує, чи дасть мертва кінцева точка коротку перерву, чи сеанс, який ніколи не відновиться. Перевірте шлях повторного підключення замість того, щоб припускати, що він спрацьовує.

Змінена адреса виходу також ламає стан застосунку. Перемикання — це відновлення, і опис його як безперервної роботи створює очікування, яке транспорт не може виконати.

Перевірте одну реальну відмову

Виберіть один контрольований збій і проведіть його від початку до кінця, замість того щоб довіряти проєктному документу. Зупиніть основну кінцеву точку, а потім переконайтеся, що авторизований клієнт потрапляє до потрібного застосунку через альтернативу, тоді як неавторизовані клієнти досі не можуть. Запишіть, скільки тривало перемикання і що побачив застосунок.

dig +short vpn2.example.net
ip route get 10.20.30.41
journalctl -u openvpn@backup --since '-10 min'

Перша команда підтверджує, що резервне ім’я розв’язується в щось маршрутизоване до того, як воно знадобиться, і це найдешевший тест тут. Друга показує, який інтерфейс ядро використало б для приватного призначення, коли альтернативу піднято. Третя дає журнал клієнта з іменем партнера, до якого він справді підключився, і це єдиний доказ того, що перемикання відбулося. Стежте також за поведінкою блокування під час розриву, бо політика, яка під час перемикання пропускає трафік, гірша за коротку перерву.

Потім поверніть оригінал і переконайтеся, чи клієнт повертається. Повернення, яке відбувається випадково, — це поведінка, якої ніхто не планував.

Запишіть, що дає друга адреса

Підсумуйте покриття в одному абзаці: яку відмову усуває друга кінцева точка, які відмови вона поділяє з першою і на яких припущеннях тримається перемикання. Назвіть механізм на боці клієнта, а також приватні маршрути й поведінку DNS, які мають існувати в обох місцях. Публічний вихід в інтернет не замінює приватний шлюз, і документу, який вважає їх взаємозамінними, повірять. Додайте проведений тест відновлення з датою та результатом.

Незалежність від одного сервера — це не незалежність від спільного облікового запису або цільової мережі. Саме абзац, який каже це вголос, не дає продавати другу адресу всередині як високу доступність. Він також каже наступному оператору, що перевірити першим, коли пара відмовляє разом.

Схожі статті