Рукостискання завершується, перегляд працює, а принтер, NAS і локальні SSH-хости зникають. У клієнті Windows це зазвичай зовсім не збій маршрутизації: партнер, у дозволених префіксах якого є буквальне типове значення, вмикає «Блокувати трафік поза тунелем», і цей параметр реалізовано як правила брандмауера, що відкидають пакети, які виходять через будь-який інший інтерфейс. Таблиця маршрутів і далі показує локальну підмережу як пряме підключення, тому симптом здається брехнею. Що з цим робити, вирішують три умови, і лише одна з них стосується маршрутизації.

Два збої мають той самий симптом

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

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

Три умови вирішують відповідь

По-перше, чи потрібен цій машині fail-closed? Якщо відповідь так, тунель, що впав, має зупиняти трафік, а не пускати його назад на фізичний інтерфейс, і ця вимога важливіша за локальну зручність. По-друге, чи мають локальні пристрої залишатися доступними, поки тунель піднятий? Друк, мережеве сховище й локальні консолі керування — звичайні причини, і це законні вимоги, а не винятки, за які треба просити вибачення. По-третє, чи виражає профіль типове значення як буквальне 0.0.0.0/0? Саме ця деталь запускає правила клієнта, і її можна змінити.

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

Виберіть fail-closed і відмовтеся від LAN

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

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

Виберіть доступ до LAN і виразіть типове значення інакше

Якщо локальні пристрої мають залишатися доступними, виразіть те саме покриття без буквального типового префікса. Два половинні префікси покривають кожну адресу IPv4, еквівалентна пара покриває IPv6, і клієнт більше не вставляє блокувальні правила, бо рядка, який він шукає, немає.

[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820

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

Перевірте й двох інших підозрюваних

Коли питання брандмауера вирішено, переконайтеся, що локальна підмережа справді маршрутизується і що далека сторона знає про все за цим клієнтом. Серверу, якому треба досягти LAN за клієнтом, потрібен цей префікс у дозволеному списку клієнта на концентраторі; пропустіть його — і концентратор не зможе вибрати партнера для цих адрес, і жодне налаштування клієнта його не створить.

Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0

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

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

Схожі статті