Другий VPN-клієнт зламав перший: знайдіть спільний ресурс
Два стеки VPN конкурують за службу, фіксований порт, драйвер фільтра або маршрут за замовчуванням. Назвіть ексклюзивний ресурс, перш ніж видаляти будь-який клієнт.
Учора оригінальний клієнт працював. Сьогодні новачок вимагає з'єднання, а старий профіль зупиняється на етапі, який раніше проходив без скарг. Облікові дані тут рідко задіяні, а шлюз зазвичай невинний. Змінилося те, що два стеки VPN тепер хочуть той самий ексклюзивний ресурс, і виправлення залежить від того, чи назвете ви його. Пройдіть рівнями замість перевстановлення обох.
Пройдіть чотири рівні по порядку
Продукту VPN потрібні чотири ресурси, які можуть зіткнутися: фонова служба, яка часто відмовляється працювати двічі, фіксований порт, віртуальний адаптер або фільтр ядра, який бачить трафік раніше за таблицю маршрутизації, і право встановлювати маршрути перед маршрутом за замовчуванням. Знання того, хто поступився, перетворює нечіткий конфлікт на одне питання з перевірюваною відповіддю.
Зіставте симптом із рівнем, перш ніж щось чіпати. Клієнт, який не запускається, вказує на службу; той, що запускається і ніколи не веде переговори, вказує на порт; той, що підключається, поки інший втрачає весь зв'язок, вказує на фільтр або на маршрут за замовчуванням. Запишіть це зіставлення, бо воно економить годину перевстановлення програм у надії.
Почніть зі служби, яка не працює двічі
У Windows корпоративний клієнт зазвичай більший за тунель, бо поруч із профілем встановлює службу, драйвер фільтра і іноді постачальника облікових даних. Запишіть, які служби працюють до зміни і знову після неї, потім порівняйте два списки замість перезавантаження, доки щось не запрацює. Служби можуть і взаємно виключати одна одну через залежності, коли запуск однієї зупиняє іншу, і той самий взірець з'являється в macOS із завданнями launchd і спільним демоном. Клієнт, який запускається і виходить за секунди, повідомляє про власність, а не про конфігурацію.
Прочитайте стан служби та її журнал, перш ніж читати профіль. Служба, яка запустилася і зупинилася в ту саму хвилину, — це взірець, який треба шукати, і її власний журнал подій називає залежність, що її витіснила. Профіль не може виправити процес, який не працює, і час, витрачений на його редагування, — це час, не витрачений на справжній конфлікт.
Потім запитайте, кому належить порт
Власність порту — найясніший доказ, який ви отримаєте, бо помилка прив'язки прямо називає конфлікт. Дві реалізації IKE не можуть обидві відповідати на одній локальній адресі та порті UDP, і жодна кількість повторів цього не змінить.
Get-NetUDPEndpoint -LocalPort 500,4500 | Select-Object LocalAddress,LocalPort,OwningProcess
netstat -ano | findstr :500
sudo lsof -nP -iUDP:500
ss -lunp | grep -E ':500|:4500'
Який би рядок не відповідав вашій платформі, потрібна вам відповідь — це процес і служба, що його породила. Якщо слухачем є вбудована служба IKE, другий клієнт — небажаний гість; якщо це агент постачальника, то вбудований клієнт — небажаний гість. Вирішіть, який може запускатися під час входу, і вимкніть автозапуск іншого, а не вбивайте його щоразу.
Драйвер фільтра сидить під вашими маршрутами
Мережевий драйвер фільтра перехоплює трафік між адаптером і стеком протоколів, тож може переписувати або блокувати пакети незалежно від того, що каже таблиця маршрутизації. Так маршрут, який виглядає правильним, ігнорується, і саме тому успішний ping може стояти поруч із браузером, який нічого не завантажує.
Компоненти постачальника теж прив'язуються до конкретних з'єднань. Старий фільтр, прив'язаний до одного адаптера, може завадити інакше правильному профілю завершити рукостискання, а від'єднання цього компонента від властивостей адаптера вужче й оборотніше, ніж повне видалення продукту. Оскільки прив'язка діє для кожного з'єднання, порівнюйте адаптери, а не весь стек.
Вирішіть, який продукт володіє завантаженням, потім запишіть це
Співіснування реальне лише тоді, коли два клієнти за задумом займають різні рівні, наприклад стек IPsec поруч із проксі, що обробляє лише трафік програм. Там, де обидва хочуть той самий порт, той самий рівень фільтра або право публікувати маршрут за замовчуванням, вони й далі чергуватимуться, і кожна невдача виглядатиме як нова поломка.
Виберіть власника свідомо. Форми, які переживають перезавантаження, включають запуск другого клієнта всередині віртуальної машини, тримання його на виділеному обладнанні або стандартизацію на одному клієнті, що говорить обома протоколами. Вимкнення автозапуску та служби того, хто програв, — менша зміна, ніж перебудова таблиці маршрутизації після кожного запуску, і вона скасовується одним редагуванням налаштувань.