C переходом на удалённую работу я всё сильнее стал привязан к домашнему ПК. И хотя доступ к офису компании через VPN есть, мне захотелось иметь доступ и у домашнему ПК. На помощь как обычно приходит роутер Keenetic.
Для РосКомНадзора: В данной статье идёт речь не об обходе блокировок, а о доступе в приватную сеть извне. Цель - получение удалённого доступа из любой точки мира в Домашнюю сеть.
И многие скажут, а в чём проблема - возьми внешний IP, пробрось NAT или поставь AnyDesk / TeamViewer. Но мы ж с Вами не ищем лёгких путей - на то мы и системные администраторы! Зачем платить, когда можно бесплатно?
Я живу в Подмосковье, интернет подключён по выделенной оптике. Тарифы и так конские, платить ещё и за IP - идея такая себе. Решением является протокол SSTP (Secure Socket Tunnel Protocol), не требующий внешнего IP для получения внешнего доступа к роутеру.
Медиаконвертер на входе на сеть влияние не оказывает, далее обычная витая пара, роутер Kennetic Giga. За ними WiFi Mesh-сеть из ещё двух Keenetic Air, локальная сеть и, собственно, мой домашний ПК с виртуальными машинами, к которым и хочу получить доступ. В дальнейшем к ним добавится Rasbbpery Pi, мини-сервер и т.д., но на общую схему это никак не повлияет.
Первым делом нам необходимо получить доступ из интернета к нашему роутеру. Воспользуемся штатным механизмом KeenDNS - провайдером DDNS, который предоставляет HTTPS доступ к нашему роутеру из интернета даже без внешнего IP.
Заходим в панель администрирования основного роутера, переходим в раздел Сетевые правила - Доменное имя - KeenDNS. Придумываем любое имя и регистрируемся. Выбираем любой основной домен, главное чтобы была поддержка SSL сертификата. KeenDNS бесплатна, ничего за домен и трафик платить не придётся.
Теперь немного настроек. Режим работы IPv4 выбираем Авто. Установим галочку Удаленный доступ к веб-конфигуратору - это поможет проверить удалённый доступ. IPv6 нам не потребуется, в России он почти не используется. Теперь у нас есть доменное имя и оно закреплено за нашим роутером.
Проверим работу домена - откроем доменное имя на мобильном телефоне, не подключённом к WiFi (т.е. с 3G/4G). Если всё настроено верно - у нас должна открыться панель управления нашим роутером. Вернитесь в настройки и уберите галочку Удаленный доступ к веб-конфигуратору. Мы же не хотим, чтобы нас взломали.
Хотя SSTP работает по протоколу HTTPS - использовать основной пароль от роутера ещё и для VPN не лучшая идея. Создадим отдельного пользователя. Переходим Управление - Пользователи и доступ.
Нажимаем Добавить пользователя. Придумайте любой логин и пароль - используйте надёжный пароль, т.к. это доступ из интернета. Никакие галочки сейчас ставить не нужно, но если у Вас уже установлен SSTP VPN-сервер можете сразу поставить галочку. Нажимаем Сохранить.
С подготовкой закончено, давайте устанавливать VPN сервер. Первым делом нужно установить компонент SSTP VPN-сервер. Переходим Управление - Параметры системы, нажимаем кнопку Изменить набор компонентов. В списке находим SSTP VPN-сервер (именно сервер, не клиент!) и ставим галочку. Внизу у нас появляется кнопка Обновить KeeneticOS - нажимаем и ждём перезагрузку.
После перезагрузки остаётся настроить сервер. Переходим Управление - Приложения, нажимаем на VPN-сервер SSTP. в появившемся окне ставим галочки Множественный вход и NAT для клиентов. Следом указываем доступ к сети Домашняя сеть (если вы не настраивали другую) и Начальный адрес из той же сети, что и другие клиенты в Вашей сети - это включит режим ARP-Proxy. У себя я указал 192.168.1.200. Если указать другую подсеть - клиенты VPN не будут видеть ПК в Домашней сети.
Остаётся дать доступ пользователям. Уберите галочку для пользователя admin и установите для созданного нами ранее. Всё, включаем VPN переключателем на странице приложений и можно подключаться. Теперь наша Домашняя сеть доступна из любой точки мира, можно подключиться и поменять какие-то настройки, воспользоваться домашним GitLab, посмотреть камеры наблюдения - всё, как-будто Вы у себя дома. Практически уровень корпоративного VPN, который нам дают на работе для удалённой работы. Остаётся настроить внутренние Firewall, если они у Вас есть, разрешить RDP, если нужно и т.д. Это уже тема отдельной статьи. Будем развивать это в цикле статей Домашний сервер.
В моём случае требовался доступ со смартфона Samsung Galaxy S23 Ultra и планшета Samsung Galaxy Tab S9+. Конечно, оно будет работать и с любого другого Android-устройства, даже с автомобильной магнитолы - если Вам очень захочется.
Единственная проблема - штатного клиента SSTP на Android нет. Воспользуемся бесплатным - Open SSTP Client. Скачать его можно через Google Play - кстати, он есть на GitHub. Скачиваем, ставим и настаиваем подключение.
На самом деле настройки максимально простые - указываем адрес подключения (наше доменное имя, которые получили ранее), а так же созданный нами логин и пароль. Всё. Переключаем ползунок и VPN подключено. Можно работать с нашей Домашней сетью.
SSTP поддерживается стандартным клиентом Windows. В правом нижнем углу экрана нажимаем на иконку сети, переходим в Параметры сети и Интернет. Находим в меню пункт VPN - и нажимаем Добавить VPN-Подключение.
Указываем встроенный поставщик VPN, любое имя подключения, адресом подключения указываем полученный ранее домен, тип VPN - Протокол SSTP. Вводим логин и пароль, сохраняем и можем подключаться. Теперь Ваш ноутбук (или кого Вы подключаете) будет работать в Вашей Домашней сети.
Я - параноик. И я очень не хочу делиться своей информацией и файлами с кем-либо. Уязвимости бывают в любом софте, да и роутеры не всегда вовремя обновляются. Поэтому я рекомендую на время, когда Вы не пользуетесь VPN - отключать его.
Для этого зайдите панель управления роутера и прям на главной странице переключите ползунок SSTP VPN в положение выключено. Всё, теперь никто не сможет подключиться к Вам или перебирать пароли.
Так же смотрите официальную инструкцию по установке SSTP VPN Сервера и на сайте Keenetic. Там же есть инструкция по настройке клиента Windows.