Доступ до домашнього пристрою через VPN віддаленого доступу: п’ять брам
Тунель до вашої оселі потребує шлюзу в цій мережі, пересилання та шляху відповіді. П’ять брам, і перша без доказів — це проблема.
Комерційний VPN з виходом в інтернет приховує вашу адресу; він не з’єднує вас із вашою власною оселею. Щоб дістатися до NAS або принтера в домашній мережі, потрібен шлюз у цій мережі та клієнт, який будує до нього тунель. Далі пакет має пройти п’ять перевірок, і будь-яка їхня невдача зовні виглядає однаково.
Брама 1: клієнт має вибрати тунель
Перевірте, чи справді префікс призначення маршрутизується в тунель на клієнті. Профіль розділеного тунелю, який передає лише власну підмережу VPN, відправить 192.168.x.x просто з локального інтерфейсу, де він нікуди не потрапить. Дивіться на таблицю маршрутизації клієнта, а не на назву профілю.
Це найчастіша помилка в телефонних клієнтів, які часто за замовчуванням надсилають лише DNS або лише один префікс. Якщо маршруту немає, рукостискання може бути ідеальним, а пристрій усе одно недоступний.
Перш ніж продовжити, переконайтеся, що адреса пулу клієнта й домашня підмережа не перетинаються.
Брама 2: шлюз має пересилати
VPN завершується на хості, який має переслати розшифрований пакет у LAN. Для цього потрібне ввімкнене пересилання IP і політика міжмережевого екрана, що дозволяє потік з інтерфейсу VPN в інтерфейс LAN. На маршрутизаторі це зазвичай вбудовано; на машині Linux з strongSwan або WireGuard це два налаштування, які люди забувають. Перевірте обидва перед тестуванням служби, бо кожне саме по собі дає однаковий тайм-аут.
Тестуйте із захопленням на інтерфейсі LAN, бо пакет, який там ніколи не з’являється, було відкинуто або так і не переслано.
Це інша невдача, ніж служба, що відхиляє з’єднання, і ця різниця економить багато часу. Тримайте дозвіл вузьким, обмеженим службою та пулом VPN, а не всією підмережею.
Брама 3: шлях відповіді вирішує все
Ціль відповідає на побачену адресу джерела — це адреса пулу клієнта або шлюз, залежно від того, чи ви транслюєте. Якщо шлюз за замовчуванням у цілі — домашній маршрутизатор і в нього немає маршруту до пулу VPN, відповідь виходить через інтернет і гине. Це класичне одностороннє з’єднання.
Є два законні рішення: додати маршрут до пулу на шлюзі LAN або зробити source-NAT на шлюзі VPN, щоб ціль завжди бачила лише адресу шлюзу. Друге простіше й втрачає початкову ідентичність джерела.
Виберіть одне свідомо й запишіть, яке саме, бо правила міжмережевого екрана та журнали залежать від цього. Посібник strongSwan з пересилання проходить стороною Linux цього рішення.
Брама 4: імена та перекриття префіксів
Локальні імена виявлення не перетинають маршрутизований кордон, тож пристрій, який у домі видно під дружнім ім’ям, може бути невидимим через тунель. Забезпечте DNS для приватної зони або задокументуйте адресу. Яке б ім’я ви не використовували, воно має розв’язуватися в щось, що віддалений клієнт може маршрутизувати. Тому пристрій може бути доступним за адресою й невидимим за ім’ям водночас.
Перекриття префіксів — інша пастка: якщо пул клієнта 192.168.1.0/24 і домашня мережа також, клієнт вважає призначення локальним і ніколи не надсилає його через тунель.
Перенумеруйте один бік або використайте пул із діапазону, з яким удома ви ніколи не зустрінетеся.
Брама 5: тестуйте ззовні дому
Перевірка з кухні нічого не доводить, бо трафік може так і не покинути LAN. Підключіться з мобільної точки доступу або іншої мережі й пройдіть брами по черзі: маршрут на клієнті, захоплення на інтерфейсі LAN, відповідь служби, захоплення відповіді та розв’язання імен. Перша брама, що не дає доказів, — це місце роботи.
Якщо служба відповідає, а ім’я ні, у вас проблема DNS, а не тунелю.
Зберігайте робочу конфігурацію в нотатці з пулом, маршрутом і вибором NAT, бо наступна заміна маршрутизатора скине всі три.