Адаптери показують 255.255.255.255, і часто роблять висновок, що VPN досягає рівно однієї адреси. Таке читання плутає власну адресу клієнта з набором призначень, які маршрутизуються через тунель. На інтерфейсі точка-точка або маршрутизованому інтерфейсі це два різні об'єкти, і доступність обмежує лише один із них. Міф живе тому, що маска виглядає як маска підмережі, яку вивчали на Ethernet.

Міф: маска вузла означає єдиний доступний вузол

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

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

Читайте адресу та маршрути як окремі об'єкти

Виведіть інтерфейс і таблицю разом, а потім читайте їх як дві відповіді на два питання. Адреса відповідає, хто цей кінець; маршрути відповідають, куди може йти трафік. Третє питання — які призначення дозволяє шлюз — на клієнті взагалі не видно. Довідник адрес iproute2 саме тому описує поля локальної адреси, партнера й маршруту префікса окремо.

ip addr show tun0
ip route show
ip route get 10.60.5.10

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

Get-NetIPAddress -InterfaceAlias "VPN"
Find-NetRoute -RemoteIPAddress 10.60.5.10

Зупиніться, якщо пошук указує на неправильний інтерфейс. Це проблема маршрутизації клієнта, і вона виправляється на клієнті.

Чому розширення маски зазвичай усе погіршує

Зміна призначення на /24, щоб виглядало як офісна LAN, може створити префікс на каналі: ядро тепер вважає, що весь /24 підключено безпосередньо до тунельного інтерфейсу. Трафік до адрес, які мали б маршрутизуватися через шлюз, тоді надсилається так, ніби сусід перебуває на каналі. Результат — чорна діра, яка виглядає як збій сервера.

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

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

Коли маршрут правильний, а потік усе одно не працює

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

ping -c1 10.60.5.10
traceroute -n 10.60.5.10
curl -sv https://app.internal.example/ -o /dev/null

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

Міф, який варто відправити на пенсію, — це те, що маска є межею доступності. Читайте адресу, маршрути й політику шлюзу як три окремі факти, і /32 перестає виглядати обмеженням і починає виглядати звичайним призначенням тунелю.

Схожі статті