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

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

Два стрибки, дві політики

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

phone app -> encrypted tunnel -> home listener
          -> decrypted packet -> forward policy -> home uplink -> destination

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

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

Слухач — не фільтр

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

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

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

Що телефон насправді має надсилати

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

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

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

IPv6 належить до того самого абзацу, що й DNS, а не до додатка. Повний тунель IPv4 нічого не каже про трафік AAAA, і телефон у мобільній мережі з подвійним стеком охоче використає для нього рідний шлях. Виберіть перенесення або блокування явно.

Що міжмережевий екран може і чого не може бачити

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

Цю межу варто назвати, бо фраза «пропустіть це через міжмережевий екран» передбачає більше перевірки, ніж виконує домашній маршрутизатор. Правило призначення, політика DNS і проксі прикладного рівня — три різні засоби контролю з трьома різними витратами на впровадження.

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

Вирішіть від'єднаний стан

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

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

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

Завершіть двома контрольованими перевірками з самого телефона: одна дозволена операція, яка має пройти через дім, і одна відмова, яку домашня політика має застосувати. Підтвердьте, що шлюз записав очікуваний потік в очікуваній родині адрес після повторного підключення. Телефон, що показує «Підключено», — це початок такої перевірки, ніколи не її кінець.

Схожі статті