Быстрый и безопасный удаленный доступ к локальной сети: сравниваем шесть протоколов
Нельзя сказать, что задача удаленного доступа к устройствам в домашней локальной сети является очень распространенной и, вероятно, большая часть пользователей с ней даже никогда не встречалась. Однако все чаще в локальной сети появляются устройства и сервисы, с которыми хотелось бы работать удаленно. В качестве примера можно назвать сетевые накопители с библиотекой файлов, видеокамеры, устройства домашней автоматизации. В некоторых случаях может быть достаточно предоставляемых производителями собственных реализаций облачного доступа или даже просто проброса портов на роутере. Но если таких устройство много, существенно удобнее иметь возможность прямого обращения ко всей сети сразу, что может быть обеспечено сервисами VPN. Кроме того, этим технологии помогут и объединить две или несколько сетей в одну с прозрачным обменом данными между ними.
В данной публикации нет задачи максимально подробно рассказать про все распространенные протоколы VPN и их особенности. Сосредоточимся преимущественно на практической стороне вопроса сценария подключения удаленного клиента и попробуем сравнить разные варианты по удобству и производительности.
Сервисы VPN сегодня все чаще встречаются в прошивках беспроводных роутеров и, пожалуй, наибольшее их число представлено в решениях Keenetic, так что именно они и будут использованы в статье. Заметим, что если говорить именно о скорости, очень многое в данном случае зависит и от аппаратной платформы роутера и от программной реализации. Причем второй аспект может быть даже важнее. Кроме того, поскольку прошивки обычно закрытые, то и доступные через Web-интерфейс набор параметров серверов может отличаться. Влияние на производительность, конечно, оказывают и настройки сервисов. В данной статье я обычно использовал заданные производителем значения по умолчанию.
Также стоит отметить, что конкретно у решений Keenetic есть очень подробная база знаний на сайте, в статьях которой приводятся примеры настройки и использования дополнительных сервисов, включая все описанные в статье.
Текущая линейка продуктов компании основана на двух моделях процессоров (SoC) производства Mediatek – MT7628 и MT7621. На первом, имеющим одно вычислительное ядро, реализованы модели со 100 Мбит/с портами. Второй, с двумя ядрами, способными исполнять четыре потока, используется в устройствах с гигабитными портами. Более подробную информацию о конфигурациях устройств можно получить, например, в форуме iXBT.
Так что по сути, если взять по одному представителю на каждом чипе, можно охватить всю линейку роутеров компании в описываемой задаче, поскольку Wi-Fi, порты USB и объемы памяти здесь не существенны.
Для теста использовались устройства Keenetic City KN-1510 (младшая из двухдиапазонных) и Keenetic Ultra KN-1810 (старшая модель на данный момент).
Напомним, что прошивки у данного производителя модульные, так что в общем случае каждый пользователь может собрать свой уникальный вариант из требуемых сервисов и функций. Однако если для старших моделей с флешпамятью большой емкости можно не переживать про объем, то для младших ситуация существенно сложнее. В частности в данном тестировании приходилось добавлять на Keenetic City не более двух серверов за один раз. Кроме того, при анализе результатов не забываем, что эта модель имеет только 100 Мбит/с порты, что в определенных режимах будет выступать ограничением.
Все рассматриваемые в статье протоколы для своей работы в обязательном порядке требуют белого адреса на стороне сервера, что выглядит вполне логичным. Однако один из вариантов, благодаря специальным решениям Keenetic, можно использовать и без него.
Тестирование проводилось с прошивками версии 3.3.16. Режим подключения к Интернет – IPoE. В тестировании оценивалась скорость доступа внешнего клиента к компьютеру внутри локальной сети за роутером.
PPTP и L2TP
Одни из наиболее известных протоколов для реализации удаленного доступа – PPTP и L2TP. Первый уже считается небезопасным, хотя продолжает использоваться из-за невысокой требовательности к ресурсам. Заметим, что в нем предусмотрен как вариант без шифрования трафика, так и с ним. Одной из особенностей данного решения является использование специального протокола туннелирования, который часто бывает заблокирован домашними провайдерами, что приводит к невозможности использования данного типа подключения. Кроме того, используемые алгоритмы шифрования обычно не «ускоряются» специальными блоками в SoC.
Второй запомнился, прежде всего, использованием в сети одного из крупных отечественных провайдеров и отсутствием его поддержки у недорогих роутеров многих производителей.
Штатные клиенты для этих протоколов существуют во многих операционных системах, включая мобильные, что упрощает настройку подключения. Заметим, однако, что для L2TP обычно используется вариант L2TP/IPSec, в котором кроме привычного имени и пароля пользователя нужно также указать и общий ключ. Он и будет протестирован в этот раз.
Подключить сервисы несложно – после установки соответствующих модулей необходимо в меню «Управление» — «Приложения» включить серверы.
Из настроек предусмотрены разрешение нескольких одновременных входов для одного аккаунта, активация NAT для клиентов (они смогут выходить в Интернет через этот роутер), выбор IP-адресов для выделения клиентам и выбор сегмента сети для доступа.
Кроме того, для PPTP можно разрешить подключения без шифрования, а для L2TP/IPSec необходимо установить общий секретный ключ.
Оба сервиса позволяют запрограммировать в роутере несколько учетных записей пользователей и разрешить им доступ по VPN.
При настройке клиентов необходимо указать внешний адрес роутера (IP или имя хоста, что можно реализовать, например, через KeenDNS), аккаунт пользователя, для L2TP/IPSec – дополнительно общий секретный ключ. При работе с PPTP и штатным клиентом Windows необходимо учесть описанные в статье базы знаний особенности.
Для данных протоколов использовались штатные клиенты ОС Windows 10.
Keenetic City в PPTP без шифрования показывает близкие к скорости портов результаты. Хотя, вероятно, мало кого устроит незащищенное от перехвата данных подключение. Использование MPPE в PPTP снижает показатели примерно до 30 Мбит/с, что, в целом, очень неплохо для относительно недорогой модели (напомню, что сходные цифры будут и на самом младшем устройстве текущей линейки). Что касается L2TP/IPSec, то здесь можно рассчитывать не более чем на 10 Мбит/с, поскольку в данном случае применяется шифрование DES, а в Keenetic City оно не поддерживается аппаратно.
Заметно более мощная платформа Keenetic Ultra показывает и более высокие результаты: до 300 Мбит/с в PPTP без шифрования и в среднем около 80 Мбит/с в PPTP с шифрованием и L2TP/IPSec.
Итого мы видим, что данные реализации обеспечивают хорошую производительность, за исключением L2TP/IPSec на младшей модели, и просты в настройке благодаря стандартным клиентам.
OpenVPN
Следующий по распространенности в серверах домашних роутеров протокол VPN – OpenVPN. Благодаря реализации с открытым исходным кодом на базе библиотеки OpenSSL, данный протокол очень часто встречается в совершенно разных продуктах, а найти под него клиента не составляет труда для большинства операционных систем.
Данный сервис имеет очень гибкие настройки (включая режим работы, выбор опций шифрования, сертификаты, ключи, маршрутизация и так далее), которые обычно задаются в виде текстовых конфигурационных файлах. Это имеет и обратную сторону – новичкам может быть непросто настроить работу по данному протоколу. Но если говорить о Keenetic, то в статьях базы знаний можно скачать готовые конфигурационные файлы, в которых нужно будет только поменять адрес сервера. Впрочем, с точки зрения безопасности, безусловно, нужно будет сделать свои ключи или сертификаты.
Протокол использует через стандартные соединения TCP или UDP и позволяет выбрать порт. Так что работать с ним можно будет практически в любой ситуации.
В роутерах Keenetic нет отдельного пункта «сервер OpenVPN», данный тип соединений настраивается в разделе «Интернет» — «Другие подключения». Кроме того, потребуется настроить еще несколько опций в других местах (в частности правила для межсетевого экрана), а в некоторых случаях – и в консоли. На сайте поддержки Keenetic этому протоколу посвящено несколько подробных материалов. При определенном опыте, можно реализовать одновременное обслуживание сервером нескольких клиентов. Но это будет явно сложнее, чем простое добавление пользователей в общий список доступа. Для тестов использовался стандартный клиент для Windows с сайта OpenVPN.
По скорости на младшей модели мы получаем до 10 Мбит/с, а на старшей – примерно в два с половиной раза больше. Данный протокол, вероятно из-за своей гибкости, имеет определенные сложности работы через «ускорители», так что скорость работы принесена в жертву универсальности. Впрочем, на других SoC (в частности, топовых Broadcom) его реализация показывает в несколько раз более высокие результаты.
Данный вариант можно рекомендовать сторонникам открытого программного обеспечения и тем, кому требуется максимальная гибкость настройки сервисов. В плюсах также возможность работы по стандартным TCP/UDP соединениям и любым портам.
Относительно недавно был представлен VPN-протокол SSTP, основанный на SSL. Его преимуществом является работа через HTTPS и стандартный порт 443. Так что в общем случае, можно считать, что он способен легко проходить через межсетевые экраны и прокси. Первоначально он был интегрирован в ОС семейства Windows, но сегодня встречается и на других платформах.
Реализация данного сервера в Keenetic интересна тем, что позволяет осуществлять удаленный доступ без белого адреса на роутере – через сервис Keenetic Cloud с шифрованием на всем пути. Заметим, что при работе через облако Keenetic Cloud, по своей сути, невозможно обеспечить гарантированную скорость доступа, поскольку нагрузка зависит от числа пользователей и их активности. В тестах использовалось прямое подключение и штатный клиент в Windows.
Настройки в данном случае также очень простые. После обязательной регистрации на KeenDNS, получения сертификата SSL, разрешения доступа к роутеру из Интернет по HTTPS идем в «Управление» — «Приложения» и включаем VPN-сервер SSTP. В параметрах можно разрешить множественный вход, выход в Интернет через роутер, выбрать выдаваемые пользователям адреса, а также указать разрешенные для этого сервиса учетные записи.
В целом результаты аналогичны предыдущему участнику – до 10 Мбит/с на младшей модели и до 30 Мбит/с на старшей.
Основным плюсом данного сервиса является работа по стандартному протоколу HTTPS и возможность использования через облачный сервер без наличия белого адреса на роутере. Минус – необходимость использования сторонних клиентов на отличных от Windows операционных системах.
IPSec
Эта группа протоколов, пожалуй, наиболее часто упоминается для решения задачи объединения сетей у «больших компаний на серьезном оборудовании». Основной проблемой при работе с IPSec для обычных пользователей является сложность настройки, так что на наш взгляд, его использование с домашним оборудованием является уделом хорошо подготовленных сотрудников ИТ-отделов или энтузиастов. С другой стороны, его реализация в Keenetic присутствует, а на сайте поддержки есть соответствующие статьи базы знаний. Потратив немного больше времени, чем с другими участниками, вполне можно настроить его работу со стандартным клиентом Windows.
Как и для OpenVPN, работа с IPSec осуществляется в разделе «Интернет» — «Другие подключения». Набор параметров явно не для новичка в сетевых технологиях. Нужно выбрать вариант идентификации, опции для двух фаз осуществления соединения, маршруты и так далее. Непросто настроить и соединение со стороны клиента. Можно конечно попробовать действовать «по картинкам», но если что-то пойдет не так, разобраться, не имея определенной базы знаний, будет сложно. Посмотрим, стоила ли игра свеч с точки зрения скорости.
Судя по результатам – вполне. Младшая модель способна обеспечить защищенное соединение со скоростью порядка 50 Мбит/с, а старшая работает в три раза быстрее. Да, конечно это решение не для всех, учитывая сложности настройки. Скорее данный тип соединения будет интересен для сценария объединения сетей, а не подключения удаленных клиентов.
Кстати, в прошивках Keenetic есть и специальный сервер IPSec (Virtual IP), который позволяет легко настроить доступ к роутеру и локальной сети за ним с мобильных устройств на Android и iOS через их штатные клиенты. В нем используется общий ключ и учетная запись пользователя. Остальные параметры установлены автоматичеки по требованиям совместимости с клиентами.
WireGuard
Еще один новый игрок в сегменте VPN-сервисов – протокол WireGuard. Можно сказать, что ему буквально на днях исполнилось два года. Он похож на OpenVPN по своему статусу программного обеспечения с открытым исходным кодом. При этом авторы WireGuard постарались сосредоточиться на использовании современных технологий и протоколов согласования ключей и шифрования и обойти узкие места других реализаций. Это позволило существенно сократить объем кода, оптимизировать скорость и реализовать решение в виде модуля для ядра Linux. В настоящий момент есть клиенты для всех распространенных операционных систем для компьютеров и мобильных устройств.
Сложность настройки в текущей реализации Keenetic можно оценить как среднюю. Сервис заводится в разделе «Интернет» — «Другие подключения» и позволяет также объединять сети, а не только подключать удаленных клиентов. Сначала производится генерация пары ключей (закрытого и публичного) для сервера. На тоже клиенте будет проведена аналогичная операция. В настройках пиров нужно будет указывать публичные ключи второй стороны. Также на стороне роутера присутствует выбор номера порта, подсетей и другие параметры. В случае вопросов, лучше обратиться на сайт поддержки Keenetic, где описаны процедура настройки этого сервиса. Кроме того, потребуется настройка правил межсетевого экрана и маршрутизации. В случае необходимости выхода удаленного клиента в Интернет через роутер нужно будет поработать и в консоли. В фирменном клиенте для Windows конфигурация задается в виде текстового файла. Параметры аналогичны настройкам в роутере. При необходимости на стороне сервера можно запрограммировать несколько пиров, что позволит одному серверу обслуживать одновременно несколько клиентов.
Тестирование показало, что данных протокол выступает по скорости очень хорошо и его результаты сравнимы с традиционным IPSec. Младшая модель способна показать 40-50 Мбит/с, а старшая – 150-220 Мбит/с.
На наш взгляд, это очень неплохое начало. Если бы еще немного упростить конфигурацию (например, создавать все требуемые настройки на стороне роутера, так что пользователю останется только скачать готовый файл настроек и импортировать его на клиенте), то будет и удобно, и быстро, и безопасно.
Заключение
Все рассмотренные протоколы удаленного доступа имеют свои уникальные особенности и выбор будет зависеть от условий и требований пользователя, включая уровень подготовки и тип операционной системы на клиенте. С точки зрения простоты настройки оптимальным универсальным вариантом можно считать L2TP/IPSec. Однако на младших моделях он все-таки небыстрый, так что и PPTP найдется место. SSTP имеет смысл в случае отсутствия белого адреса на роутере. Если же хочется скорости, то стоит посмотреть в сторону WireGuard, но нужно будет потратить немного больше времени на настройку. OpenVPN и IPSec выберут те, кто уже знаком с этими протоколами и умеет с ними обращаться.
Как удаленно подключиться к другому компьютеру — обзор доступных решений
Чтобы организовать удаленный доступ к компьютеру, можно:
- установить специализированное программное обеспечение;
- использовать встроенные сервисы удаленного подключения;
- подписать договор с облачным провайдером, и создать виртуальное рабочее пространство.
Ниже рассматриваются особенности, преимущества и недостатки каждого доступного варианта.
LiteManager
Простая, но довольно таки мощная по возможностям программа, состоит из двух частей, первая это Server который нужно установить или запустить на удаленном компьютере и Viewer, который позволяет управлять другим компьютером. Для работы программа требует немного больше навыков и опыта от управляющего, хотя работа сервером даже проще чем в TeamViewer, сервер можно один раз установить и больше не каких действий от пользователя не нужно, ID будет всегда постоянный, его даже можно задать самому в ручную, что очень удобно для запоминания. Версия LiteManager Free является бесплатной для личного и коммерческого использования.
Преимущества:
В программе помимо основных режимов удаленного доступа: удаленного управления, передачи файлов, чата, диспетчера задач, редактора реестра, есть и уникальные функции, например: инвентаризация, запись экрана, удаленная установка. Программа бесплатна для использования на 30-ти компьютерах, ее можно использовать для круглосуточного доступа без каких либо дополнительных модулей. Отсутствуют какие-либо ограничения по времени работы. Есть возможность настройки своего собственного ID сервера для настройки корпоративной службы поддержки. В программе нет каких-либо ограничений по времени работы и блокировок.
Недостатки:
Не хватает клиента под мобильные платформы или другие системы, есть ограничения на 30 компьютеров в бесплатной версии, для администрирования большего количества необходимо приобрести лицензию. Некоторые, специфичные режимы работы доступны только в Pro версии.
Итог:
Программа Litemanager подойдет для оказания удаленной поддержки, для администрирования нескольких десятков компьютеров абсолютно бесплатно, для настройки собственной службы удаленной поддержки. Стоимость программы самая низкая в своем сегменте и лицензия не ограничена по времени.
Впечатления от использования Удаленного рабочего стола Chrome
В принципе, Удаленный рабочий стол Chrome позволяет вам управлять своим ПК практически также, как бы вы управляли им, была бы у вас сенсорная панель вместо экрана. Сочетания горячих клавиш, конечно, зажать не получится, но требуется ли оно обыкновенному пользователю, которому надо удаленно выключить компьютер, переключить плейлист, включить фильм? В принципе, вам ничего не составит труда теоретически играть таким образом в игры, но данное удовольствие уж точно для искушенных, хотя мне ничего не помешало, например, выключить с телефона компьютерную игру, находясь на улице:
Если вы плохо видите или не можете попасть, то вам не составит труда растянуть нужный участок рабочего стола, выполнив на дисплее смартфона простое растягивающее движение пальцами.
Также вам ничего не мешает включить экранную клавиатуру, нажав на соответствующую кнопку, чтобы напечатать в нужном вам месте текст, как бы вы сделали и в операционной системе при непосредственном контакте с ПК и реальной клавиатурой.
При использовании данного рабочего стола не стоит забывать о задержке. Ваши действия происходят на компьютере с небольшой задержкой, но, к слову, это не является проблемой при использовании, если вы не додумались играть таким образом в компьютерные игры. Теоретически таким образом можно смотреть кинофильмы, которые есть на вашем компьютере, прямо через смартфон, но звуковая дорожка серьезно отстает от видеоряда, который, к тому же, сильно подтормаживает, и картина превращается в слайдшоу.
Преимущества
- Высокая стабильность работы на всех популярных мобильных и десктопных ОС.
- Надежно защищенное от злоумышленников соединение.
- Удобный и понятный интерфейс на русском языке.
- Бесплатная программа для частного пользования.
- Множество дополнительных функций связи и обмена данными.
Недостатки
- Нет явных недостатков.
Средства Windows
Вам ну нежно скачивать или покупать программы, если вы используете операционную систему Windows. Для локального подключения настройки достаточно простые. Но, чтобы подключиться к другому компьютеру через интернет, нужно дополнительно прокидывать порт у шлюза. Обо всем по порядку. Покажу на примере двух компьютеров. Первый комп будет выступать как «Смотрящий». На второй комп мы попытаемся настроить удаленный рабочий стол.
ПРИМЕЧАНИЕ! Все ниже перечисленные инструкции подходят для настройки онлайн доступа к удаленному ПК с Windows версий: 7, 8, 8.1 и 10.
Настройка клиента
Тут мы будет настраивать именно ту машину, которой в будущем будем управлять. Для начала нужно зайти в настройки сетевой карты и установить статический IP адрес. Второй компьютер может быть подключен как по кабелю, так и по Wi-Fi.
- Нажимаем на две кнопки + R . Прописываем команду: «ncpa.cpl».
- Нажимаем один раз на 4 протокол IP и далее кликаем на кнопку «Свойства». Если два компьютера подключены к одному маршрутизатору, то лучше отталкиваться от его настроек. То есть первые 3 цифры пишем, как у шлюза (роутера). Я в качестве эксперимента указал IP: 192.168.1.105. Ниже маска указывается автоматически. Также не забываем указать IP шлюза. Я в качестве сетевого оборудования использую домашний роутер, у которого IP адрес: 192.168.1.1. Если шлюз подключен к интернету, то можно также указать DNS – я указал ДНС от Google: 8.8.8.8 и 8.8.4.4.
- Теперь на этом компьютере нужно разрешить подключение к удаленному рабочему столу. Заходим в меню «Пуск», далее кликаем по «Панели управления».
- Заходим в раздел «Система».
- Кликаем по «Настройка удаленного доступа».
- Убедитесь, что верхняя галочка включена. Далее нужно включить пункт «Разрешать подключения от компьютеров с любой версией удаленного рабочего стола». Теперь небольшое отступление. У нас сейчас на данном компьютере есть всего одна учетная запись с администраторскими правами. Но давайте для наглядности создадим ещё одну обычную учетку. Для этого нажимаем «Выбор пользователей» и далее нажимаем на «Учетные записи пользователей».
- Как видите, тут есть только одна учетная запись – «Татьяна» (Администратор). Нажимаем «Управление другой учетной записью».
- Далее выбираем «Создание учетной записи».
- Вводим логин учетки и назначаем ей обычные права доступа. Я в качестве примера использую имя «user1». В самом конце нажимаем «Создание учетной записи».
- Новая учетка у нас уже есть, но давайте назначим ей пароль. Для этого нажимаем по ней.
- Переходим по ссылке «Создание пароля».
- Два раза вводим ключ и нажимаем «Создать пароль».
- Теперь закрываем данное окошко и возвращаемся к настройке пользователей удаленного рабочего стола. Нам надо «Добавить» нашего нового юзера.
- В строке ниже вписываем логин и нажимаем «Проверить имена». После этого кликаем по кнопке «ОК».
На этом этапе настройка клиента завершена. Переходим к конфигурации администраторского места.
Настройка администратора
На самом деле никакая настройка и не нужна, и вы уже можете выйти на данный компьютер, который подключен и находится в одной локальной сети. Чтобы организовать подключение к ПК или ноуту:
- Открываем меню «Пуск» и находим «Подключение к удаленному рабочему столу». Данное название можно просто ввести в поисковую строку и запустить службу оттуда.
- Подключаться мы будем по IP – вписываем именно тот адрес, который мы указали в сетевом подключении. В моем случае это: 192.168.1.105. Нажимаем «Подключить».
- Далее вы указываете имя пользователя, которого создали ранее и вписываете пароль.
Для удаленного управление компьютером при подключении по локальной сети – это идеальный выбор. Вы можете настроить данные подключения для любой локальной машины.
Подключение через интернет
Все вышеперечисленные инструкции подходят для подключения по локальной сети. Но что делать, если нужно подключиться к другому компьютеру через интернет? – Для этого нужно у шлюза пробросить порт номер 3389 на данный компьютер (в качестве адресации будем использовать IP). Для этого надо зайти в настройки шлюза. У меня дома – это обычный Wi-Fi роутер. По пробросу портов смотрим отдельные инструкции по разным моделям:
Теперь давайте попробуем подключиться по внешнему IP. Его можно также узнать в системных данных в роутере или с помощью онлайн-сервисов в интернете. Для подключения сначала вводим внешний IP адрес, а потом через двоеточие номер порта (3389).
Если есть проблемы с подключением, то возможно ваш провайдер выдает вам серый IP – об этом подробно написано тут. Также можно попробовать вручную открыть порт 3389 на компьютере – смотрим инструкцию тут.
ПРИМЕЧАНИЕ! Если у вас динамический IP адрес, то через какое-то время он изменится. Тогда для подключения лучше всего использовать DDNS сервис, который прикреплен к вашему роутеру. Про настройку DDNS – читаем тут.