Как сделать домашний vpn сервер

VPN в домашнюю локалку

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

TL;DR: я устанавливаю Wireguard на VPS, подключаюсь к нему с домашнего роутера на OpenWRT, и получаю доступ к домашней подсети с телефона.

Если вы держите на домашнем сервере личную инфраструктуру или у вас дома множество девайсов управляемых по IP, то вы наверняка хотите иметь к ним доступ с работы, из автобуса, поезда и метрo. Чаще всего для аналогичных задач приобретается IP у провайдера, после чего порты каждого сервиса пробрасываются наружу.

Вместо этого я настроил VPN с доступом в домашнюю локалку. Плюсы такого решения:

Конфигурация VPS

Для дела хватит даже самого нищенского VPS за 30 рублей в месяц, если вам повезёт такой урвать.

Все операции на сервере я выполняю от рута на чистой машине, при необходимости добавьте `sudo` и адаптируйте инструкции.

Wireguard не успели завезти в стейбл, поэтому я выполняю `apt edit-sources` и добавляю бэкпорты двумя строчками в конец файла:

deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main

Теперь готовим конфиг. В файл /etc/wireguard/wg0.conf помещается конфиг:

[Interface]
Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=

[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24

[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32

Конфигурация OpenWRT

Всё, что нужно для этого этапа есть в модуле luci (веб-интерфейс OpenWRT). Залогиньтесь в нём и в меню System откройте вкладку Software. OpenWRT не хранит кэш на машине, поэтому надо обновить список доступных пакетов, нажав на зелёную кнопку Update lists. После завершения в фильтр вбиваете luci-app-wireguard и, глянув на окошко с красивым деревом зависимостей, устанавливаете этот пакет.

В меню Networks выбираете Interfaces и жмёте зелёную кнопку Add New Interface под списком уже имеющихся. После ввода имени (так же wg0 в моём случае) и выбора протокола WireGuard VPN открывается форма настроек с четырьмя вкладками.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

На вкладке General Settings надо вбить приватный ключ и IP адрес заготовленный для OpenWRT вместе с подсетью.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

На вкладке Firewall Settings заводите интерфейс в локальную сеть. Так соединения из VPN будут свободно попадать в локалку.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

На вкладке Peers жмёте единственную кнопку, после чего в обновленной форме заполняете данные VPS-сервера: публичный ключ, Allowed IPs (надо всю VPN-подсеть замаршрутизировать в сервер). В Endpoint Host и Endpoint Port вводите соответственно IP адрес VPS с портом в ранее указанным в директиве ListenPort. Отметьте Route Allowed IPs, чтобы были созданы маршруты. И обязательно заполните Persistent Keep Alive, иначе туннель туннель от VPS к роутеру будет обрываться, если последний за NAT.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

После этого можно сохранить настройки, а затем на странице со списком интерфейсов нажать Save and apply. При необходимости явно запустите интерфейс кнопкой Restart.

Настраиваем смартфон

Вам потребуется клиент Wireguard, он доступен в F-Droid, Google Play и App Store. Открыв приложение жмёте плюсик и в секции Interface вводите имя соединения, приватный ключ (публичный сгенерируется автоматически) и адрес телефона с маской /32. В секции Peer указываете публичный ключ VPS, пару адрес: порт VPN-сервера в качестве Endpoint и маршруты до VPN- и домашней подсети.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Жмёте на дискетку в углу, включаете и…

Готово

Теперь вы можете получить доступ к домашнему мониторингу, менять настройки роутера, или делать что угодно на уровне IP.

Источник

Гайд: Свой собственный L2TP VPN

Покопавшись по просторам интернета в поисках софта для построения своего собственного VPN, постоянно натываешься на кучу гайдов связанных с неудобным в настройке и использовании OpenVPN, требующим проприетарного клиента Wireguard, только один SoftEther из всего этого цирка отличается адекватной реализацией. Но мы расскажем, так сказать, о нативной для Windows реализации VPN – Routing And Remote Access (RRAS).

По странной причине, никто ни в одном гайде не написал про то, как это все развернуть и как включить на нем NAT, поэтому мы сейчас все исправим и расскажем, как сделать свой собственный VPN на Windows Server.

Ну а уже готовый и преднастроенный VPN можно заказать из нашего маркетплейса, он кстати работает из коробки.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

1. Устанавливаем службы

Сначала, нам понадобится Windows Server Desktop Experience. Установка Core нам не подойдет, ибо отсутствует компонент NPA. Если компьютер будет членом домена, можно остановиться и на Server Core, в таком случае все это дело можно уложить в гигабайт ОЗУ.

Нам нужно установить RRAS и NPA (Network Policy Server). Первый нам понадобится для создания туннеля, а второй нужен в случае если сервер не является членом домена.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

В выборе компонентов RRAS выбираем Direct access and VPN и Routing.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

2. Настраиваем RRAS

После того, как мы установили все компоненты и перезагрузили машину, нужно приступить к настройке. Как на картинке, в пуске, находим диспетчер RRAS.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Через эту оснастку мы можем управлять серверами с установленным RRAS. Жмем правой кнопкой мыши, выбираем настройку и переходим.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Пропустив первую страницу переходим к выбору конфигурации, выбираем свою.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

На следующей странице нам предлагается выбрать компоненты, выбираем VPN и NAT.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Далее, далее. Готово.

Теперь нужно включить ipsec и назначить пул адресов, который будет использовать наш NAT. Жмем правой кнопкой мыши по серверу и переходим в свойства.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Первым делом вводим свой пароль для l2TP ipsec.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

На вкладке IPv4 обязательно нужно установить выдаваемый клиентам диапазон ip адресов. Без этого NAT не заработает.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Теперь осталось добавить интерфейс за NAT. Переходим в подпункт IPv4, жмем правой кнопкой мыши по пустому месту и добавляем новый интерфейс.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

На интерфейсе (тот который не Internal) включаем NAT.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

3. Разрешаем правила в брандмауэре

Тут все просто. Нужно найти группу правил Routing and Remote Access и включить их всех.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

4. Настраиваем NPS

Ищем в пуске Network Policy Server.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

В закладках, где перечислены все политики, нужно включить обе стандартные. Это разрешит всем локальным пользователям подключение к VPN.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

5. Подключаемся по VPN

Для демонстрационных целей выберем Windows 10. В меню пуск ищем VPN.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Жмем на кнопку добавления подключения и переходим в настройки.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Имя подключения задавайте какое вам хочется.
IP адрес – это адрес вашего VPN сервера.
Тип VPN – l2TP с предварительным ключом.
Общий ключ – vpn (для нашего образа в маркетплейсе.)
А логин и пароль — это логин и пароль от локального пользователя, то есть от администратора.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Жмем на подключение и готово. Вот и ваш собственный VPN готов.

Как сделать домашний vpn сервер. Смотреть фото Как сделать домашний vpn сервер. Смотреть картинку Как сделать домашний vpn сервер. Картинка про Как сделать домашний vpn сервер. Фото Как сделать домашний vpn сервер

Надеемся, наш гайд даст еще одну опцию тем, кто хочет сделать свой собственный VPN не связываясь с Linux или просто хочет добавить шлюз в свою AD.

Источник

Создаём собственный VPN сервис за 5 минут

Немного предыстории

Тема обхода блокировок до сих пор является актуальной повесткой дня. Но на написание этой статьи, сподвигла меня несколько другая тема. Сейчас на рынке доступен огромный выбор различных VPN с разной ценовой категорией, плюс часто встречающиеся акции на получение VPN.

Разрабатываются новые технологии для VPN, появляются новые механизмы обхода блокировок типа SmartDNS. Как раз такой услугой воспользовался недавно. Работает хорошо, удобно было добавить DNS в роутер, но адреса обхода очень ограничены. В моем случае поддержка пошла на встречу и вместе мы смогли добавить сервис Кинопоиск от Яндекса. Правда, почти сразу я понял, что хочется большего, хочется самому управлять трафиком. Плюс лично мне не интересны VPN, направляющие весь трафик. Они снижают скорость, не так удобны для просмотра местных сайтов. К тому же мне надо этот трафик пропустить через роутер (в первую очередь для полной работы Яндекс Станции). Сейчас нахожусь в Молдове, здесь сайты не блокируют, но некоторые российские сервисы недоступны.

Какой VPS сервер выбрать и как подключиться к серверу

Само создание OpenVPN сервера займет меньше 5 минут, но сначала мы рассмотрим аренду сервера и подключение к нему.

Аренда сервера VPS

В первую очередь нужно арендовать VPS сервер. VPS сервер – виртуальный выделенный сервер, который соответствует физическому серверу, т.е пользователь получает root-доступ к операционной системе, IP-адресам и т.д.
Тут зависит от ваших целей, стоимости сервера, и того какие именно услуги этот сервер может поддерживать (например, не все хостинг-провайдеры разрешают использование VPN-серверов, поэтому перед заказом услуги предварительно у тех. поддержки узнайте разрешают ли они использование VPN сервера). Если вы хотите получить доступ к российским сайтам, то вы, конечно, можете выбрать европейские сервера, но на мой взгляд, стоит выбрать российские сервера, для получения полного доступа к сервисам. В таком случае (повторюсь, для доступа к российским серверам) рекомендую обратить внимание на следующую статью, в которой были протестированы некоторые российские хостинг-провайдеры: Обзор дешевых VPS-серверов. Я же воспользовался услугами хостинг-провайдера VDS.SH. С учетом того, что не все провайдеры разрешают использование VPS в качестве VPN сервера, перечислю тех, кто точно разрешает:

Если у вас есть достоверная информация о том какие хостинг-провайдеры разрешают использование VPS в качестве VPN-сервера, то поделитесь информацией. Можем добавить в статью.

Для тех, кому нужен доступ к заблокированным в РФ сайтам, нужно брать сервер за пределами России. Это может быть DigitalOcean или linode – из недорогих хостингов.

Если вы собираетесь использовать сервер только в качестве VPN сервера, то вам не нужны дополнительные панели управления, типа ISPmanager. Не заказывайте их.

Подключение к серверу VPS

Выбрав сервер, на электронную почту вы получили необходимые данные для доступа к нему.

Подключаться к серверу будем с помощью ssh клиента PuTTY, а скачивать нужные файлы (клиентские ovpn файлы) с помощью ftp-клиента FileZilla.

Запускаем приложение PuTTY, в графе Host Name вводим ip адрес нашего сервера (эти данные мы получили сразу после регистрации сервера), порт 22.

Далее нажимаем на Open и в появившемся окне нажмите на ДА. Откроется новое окно, в котором нужно ввести имя пользователя и пароль, которые мы получили на электронный адрес. Процесс ввода пароля не будет отображаться, но введя его все равно нажмите на Enter. Теперь мы подключились к нашему серверу.

Для вставки скопированного текста в операционную систем сервера удобно пользоваться нажатием правой кнопкой мыши.

Подключение с помощью FileZilla. Открываем FileZilla: Файл > Менеджер сайтов > Новый сайт > Протокол указываем SFTP, Хост – IP адрес сервера, а также Имя пользователя и пароль, полученные по почте.

Как создать OpenVPN сервер за 5 минут

На самом деле на установку OpenVPN сервера уйдет меньше 5 минут. Установка сервера будет рассматриваться на VPS с операционной системой Ubuntu, для Debian команды идентичны, но скорее всего без sudo (как правило он не предустановлен).

Устанавливаем утилиты, которые нам пригодятся:

Для операционных систем, версии которых не ниже Ubuntu 18.04, Debian 9, CentOS 7. Допускаются данные версии и выше. Скрипт автоматической установки OpenVPN:

Во время установки будет задано несколько вопросов с уже готовым по умолчанию ответом. Можно соглашаться, можно отредактировать и выбрать свой вариант. Протокол соединения, рекомендую, использовать udp. В качестве DNS использую Яндекс DNS (77.88.8.8). Последним вопросом будет предложено задать имя клиентского файла ovpn, который затем будет расположен в директории Root.

Повторный запуск скрипта позволяет:

Для операционных систем, версии которых ниже ранее перечисленных. Выполнять нужно следующий скрипт:

Этот скрипт подойдет для операционных систем не выше, но в том числе, Ubuntu 16.04, Debian 8, Centos 6.

Являясь обладателем роутера ASUS RT-AC59U, который поддерживает клиентские VPN, меня интересовало подключение через роутер. Опытным путем выяснил, что OpenVPN клиент роутера поддерживает подключение, созданное на сервере версии только Ubuntu 16.04.

После установки скрипта VPN уже готов и запущен. Можно с помощью FileZilla скачать файл ovpn и импортировать в нужное устройство. Как импортировать ovpn можно посмотреть на примере статьи: Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate.

По умолчанию через VPN будет проходить весь трафик.

Настройка OpenVPN для фильтрации только заблокированных сайтов

По умолчанию направляется весь трафик через VPN, а мы бы хотели пустить только определенные адреса для их разблокировки, а остальной трафик чтобы оставался без изменений.

Подключившись по PuTTY к серверу, открываем ранее установленный файловый менеджер mc (запускается командой: mc). Переходим к директории: /etc/openvpn/server/

Находим строчку push «redirect-gateway def1 bypass-dhcp» и закомментируем её, добавив перед ней значок #. Данную строчку можно и вовсе удалить. Именно она отвечает за то, чтобы весь трафик шел через VPN.

Затем нам нужно добавить ip адреса, которые будут идти через VPN. Узнать IP адрес сайта можно с помощью Командной строки, командой:

В том случае если адреса заблокированы провайдером и не пингуются, то можно воспользоваться онлайн сервисами, например этим.

Адреса без букв, будут являться адресами IPv4, которые нам нужны. Добавлять адреса в конце файла server.conf нужно следующим образом:

где 5.45.192.0 добавленный нами ip адрес.

Добавив адреса, нажимаем ctrl+O, затем ctrl+ X, для сохранения внесенных изменений и закрытия редактора.

Для пользователей, кому нужны адреса для доступа к российским сервисам, я взял открытую базу сервиса zaborona и немного добавил ip адресов. Предлагаю совместно наполнять эту базу.

Скриншот моего файла server.conf.

После внесения изменений в server.conf нужно перезапустить VPN сервер. Для Ubuntu 18.04, Debian 9, Centos 7 и выше:

Для Ubuntu 16.04, Debian 8, Centos 6 и ниже:

Существует еще один скрипт для автоматической установки OpenVPN сервера:

Данный скрипт является форком предыдущего скрипта, но с улучшениями безопасности. Кроме того, этот скрипт позволяет добавить пароль для подключения клиентов.

Источник

VPN на домашнем роутере: быстро и надежно

Обычно беспроводные роутеры используются для предоставления доступа к Интернет различным домашним устройствам. Но иногда требуется решить и в определенном смысле противоположную задачу – реализовать удаленный доступ к размещенным в домашней сети сервисам и системам. Традиционный вариант решения этой задачи обычно состоит из трех шагов – использовать сервис динамического DNS для автоматического определения внешнего IP-адреса роутера, назначить в параметрах сервиса DHCP роутера выделение фиксированного адреса для нужного клиента и создать правило трансляции портов для требуемого сервиса на этом клиенте. Заметим, что удаленный доступ в большинстве случаев возможен только при наличии «белого»/«внешнего» адреса на WAN-интерфейсе роутера (подробнее см. в статье), а DDNS может не требоваться, если ваш провайдер предоставляет фиксированный IP-адрес.

Правил трансляции портов часто вполне достаточно для реализации задачи, но у них есть определенные особенности. Например, в случае необходимости защиты передаваемой информации, вам потребуется решать этот вопрос для каждого соединения индивидуально. Вторая потенциальная проблема – ограничения в случае, когда программное обеспечение требует использования определенного номера порта, а серверов в локальной сети несколько. Кроме того, если сервисов и внутренних систем у вас много, то есть очевидные неудобства прописывания в роутер каждого правила трансляции.

Помочь справиться с этими вопросами помогут технологии VPN – виртуальных частных сетей. Они позволяют создать безопасное соединение между удаленным клиентом или локальной сетью и сразу всей сетью за роутером. То есть вам будет достаточно один раз настроить этот сервис и при подключении к нему клиент будет вести себя так, как будто он находится в локальной сети. Заметим, что эта схема тоже требует внешнего адреса на роутере и, кроме того, имеет некоторые ограничения связанные с использованием имен систем и других сервисов.

В прошивках многих современных роутеров среднего и верхнего сегмента предусмотрен встроенный сервер VPN. Чаще всего он работает с протоколами PPTP и OpenVPN. Первый является популярным вариантом, который был разработан более 15-ти лет назад при участии крупных ИТ-компаний, включая Microsoft. Его клиент встроен во многие современные ОС и мобильные устройства, что упрощает реализацию. Однако считается, что в этом решении не очень хорошо решаются вопросы безопасности. Скорость защищенного соединения для этого протокола в зависимости от производительности платформы роутера обычно составляет 30-50 Мбит/с, на самых быстрых устройствах мы встречали и 80 Мбит/с (см. например статью).

OpenVPN является свободной реализацией VPN сходного возраста и выпускается по лицензии GNU GPL. Клиенты для него есть для большинства платформ, включая мобильные. Серверы можно встретить во многих альтернативных прошивках для роутеров, а также в оригинальных версиях от производителей оборудования. Минусом этого протокола является требование значительных вычислительных ресурсов для обеспечения высокой скорости работы, так что 40-50 Мбит/с можно получить только на решениях верхнего сегмента (см. например).

Еще один вариант, который чаще связывают с «серьезными» решениями безопасных сетевых коммуникаций, – IPsec (см. статью). Его история началась немного раньше и сегодня его можно встретить во многих продуктах удаленного доступа корпоративного уровня.

Тем не менее, относительно недавно его реализация появилась и в таком явно массовом оборудовании, как роутеры серии Zyxel Keenetic. Используемый в них программный модуль позволяет реализовать безопасные сценарии удаленного доступа, а также объединения сетей без сложных настроек. Кроме того, он совместим с решениями серии ZyWall. К плюсам этого производителя стоит отнести удобную базу знаний с подробными статьями о реализации типовых сценариев. По данной теме можно обратить внимание на статьи по объединению двух сетей и подключению клиента с Windows. Приводить подробные скриншоты настроек не имеет смысла, поскольку они есть по указанным ссылкам. Отметим только что все просто и понятно.

Учитывая ресурсоемкость используемых в данном сценарии алгоритмов, важным является вопрос производительности такого решения. Для его изучения были выбраны три модели роутеров последнего поколения – топовые Keenetic Ultra II и Keenetic Giga III, а также бюджетный Keenetic Start II. Первые два имеют процессоры MediaTek серии MT7621, по 256 МБ оперативной памяти и по 128 МБ флэшпамяти, гигабитные сетевые порты, два диапазона Wi-Fi, поддержку 802.11ac, порт USB 3.0. При этом в старшей используется чип с двумя ядрами, работающими на частоте 880 МГц, а во второй – такой же чип, но только с одним ядром. А третий роутер оборудован 100 Мбит/с портами (причем в количестве двух штук – один WAN и один LAN) и однодиапазонным беспроводным модулем. Процессор в нем используется MT7628N с одним ядром и частотой 575 МГц, а объем оперативной памяти составляет 64 МБ. С точки зрения программных возможностей, связанных с IPsec, устройства не отличаются.

На все три роутера были установлены прошивки из ветки бета версий v2.07(xxxx.2)B2. Режим подключения к сети Интернет на всех устройствах выбирался самый простой – IPoE. Работа с другими вариантам, скорее всего, приведет к снижению результатов. На следующих двух графиках приводятся результаты тестирования пар с разными настройками параметров соединения – Ultra II и Giga III, Ultra II и Start II. В первой устройства в целом сравнимы по скорости (правда у старшего два ядра), а во второй ограничения будут от младшей модели. Направление указано относительно второго устройства. Использовались сценарии передачи, приема и одновременной передачи и приема данных между подключенными к роутерам клиентами.

Как мы видим, скорости здесь достаточно низкие и даже не дотягивают до 100 Мбит/с. При этом нагрузка на процессор во время активного обмена данными очень высока, что может иметь негативные последствия и для других решаемых устройством задач.

Однако, как мы помним по другим сходным ресурсоемким сценариям (например, обработке видео), существенный рост производительности на специализированных задачах можно получить благодаря использованию выделенных блоков чипов, «заточенных» на эффективную работу с определенными алгоритмами. Что интересно, в современных SoC от MediaTek такие как раз присутствуют и программисты компании в недавних обновлениях прошивок реализовали эту возможность.

При этом максимальный эффект можно получить на чипах MT7621 и RT6856, а на MT7628 поддерживаются не все режимы. Посмотрим, что изменится при использовании данного блока. Для его включения используем команду в консоли, как на скриншоте.

Старшая пара показывает скорость в 200 Мбит/с и более, что еще раз подтверждает правильность идеи создания специализированных блоков для определенных стандартных алгоритмов, которые существенно производительнее универсальных ядер.

Для младшей однокристальной системы эффект менее заметен, но и здесь можно отметить увеличение скорости в два раза для некоторых конфигураций.

Посмотрим теперь, насколько хорошо устройства справятся с обслуживанием подключений с достаточно быстрого компьютера с процессором Intel Core i5 и ОС Windows 8.1 x64 (описание настройки соединения доступно по ссылке выше). В роли условных серверов (в соединениях IPsec участники в определенном смысле равноправны) выступили старший Keenetic Ultra II и младший Keenetic Start II.

Топовый роутер в некоторых конфигурациях разгоняется более чем до 300 Мбит/с. Так что видимо второе ядро процессора помогает и в этом сценарии. Впрочем, на практике для достижения этих результатов вам понадобится и соответствующие Интернет-каналы.

Результаты Keenetic Start II по понятным причинам практически не отличаются от того, что мы видели выше.

Стоит заметить, что использование оптимизации не сказалось на стабильности соединения. Все участники успешно выдержали все тесты без каких-либо замечаний.

Проведенные тесты еще раз подтвердили, что современные продукты сегмента ИТ представляют собой программно-аппаратные комплексы и эффективность решения ими поставленных задач существенно зависит не только от установленного «железа», но и эффективной программной реализации его возможностей.

Пока я проводил тесты, оказалось, что компания в последних отладочных прошивках серии 2.08 для энтузиастов реализовала еще одну полезную возможность, позволяющую использовать сервис IPsec с мобильными клиентами. Описанный выше сценарий создания профиля соединения требовал постоянных IP-адресов с двух сторон соединения, что для смартфонов в обычных ситуациях не встречается. Подробности и инструкции можно прочитать в этих ветках: Android, iOS/OS X, Windows (Cisco VPN Client).

В настоящий момент этот режим не полностью поддерживается в Web-интерфейсе, однако это не помешало провести несколько быстрых тестов с Keenetic Giga III. С Apple iPhone 5S реальная скорость составила 5-10 Мбит/с в зависимости от направления, а Xiaomi Mi5 оказался побыстрее – 10-15 Мбит/с (оба устройства подключались через Wi-Fi). Штатный клиент Cisco IPsec в OS X 10.11 на современной системе показал 110 Мбит/с на передачу и 240 Мбит/с на прием (при использовании гигабитной локальной сети и с учетом описанной выше операции по настройке роутера в консоли). Windows с известным, хотя и уже не поддерживающимся клиентом Cisco VPN Client, работала также достаточно быстро – 140 Мбит/с на передачу и 150 Мбит/с на прием. Таким образом, данная реализация IPsec явно может быть интересна широкому кругу пользователей для реализации быстрого и безопасного удаленного доступа к своей локальной сети с мобильных устройств и компьютеров из любой точки мира.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *