SoftEther VPN — проходящий сквозь «огненную стену. SoftEther VPN Server сервер на Windows установка и настройка. Uh-oh, что же это за штука

Защита данных сегодня волнует все больше людей. Тенденции не только не радуют, они просто ужасают - следить за нами начинают даже телевизоры. Самый верный способ - всегда предполагать, что нас кто-то слушает, и превентивно обороняться. Можно поднимать SSH-туннели и SOCKS’ифицировать через них нужный трафик, можно везде, где получится, использовать HTTPS, устанавливая для этого плагины. Однако наиболее подходящей для этого технологией был, есть и еще долгое время будет VPN.

Где взять VPN, чтобы безопасно подключаться с различных устройств «на ходу» и в публичных местах? Простой и быстрый способ - воспользоваться одним из многочисленных сервисов. Но с точки зрения безопасности этот метод вызывает вопросы. Добровольно пускать свой трафик через «дядю», да еще и приплачивать за это не слишком секурно. Да и с анонимностью не так все хорошо, крупный сервис сдаст тебя с потрохами по первому запросу, достаточно вспомнить историю HideMyAss и LulzSec. Мелкие мутные конторы невозбранно могут снифать тебя сами. Проверить внутреннюю кухню VPN-сервиса невозможно, и полагаться на заверения, что никаких логов не ведется, наивно.

Что остается бедному параноику? Поднимать VPN-сервер самостоятельно, благо не так уж и много для этого нужно. Наиболее подходящей реализацией для собственного сервера до недавнего времени был OpenVPN. Ощутимым его минусом является довольно сложная настройка и недружелюбность к обычному пользователю. Установить и настроить его самому под силу лишь искушенному в сетевых делах человеку. Наличие в Сети большого количества step-by-step мануалов не сильно помогает ситуации. Кроме того, OpenVPN требует наличия на сервере доступа к TUN/TAP-устройствам, поэтому для него подходят не все VDS/VPS-хостинги. Однако с недавнего времени под лицензией GPLv2 открылся мощный мультипротокольный VPN-сервер - SoftEther VPN. На первый, да и на второй взгляд этот сервер поражает возможностями.

Он имеет собственный протокол SSL-VPN, который неотличим от обычного HTTPS-трафика (трафик OpenVPN все же возможно выделить при помощи DPI). Заявлена поддержка L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 и EtherIP, причем для L2TP указана строгая совместимость со встроенными клиентами в iOS и Android. Сам сервер имеет версии под Windows, Linux, OS X, FreeBSD и Solaris и, как утверждается на сайте, является оптимальной альтернативой OpenVPN, причем работает быстрее его.

Полный список всех вкусностей можно найти на официальном сайте . Отмечу лишь основные фишки. VPN-сервер может целиком управляться через весьма продуманный графический интерфейс, причем делать это можно удаленно. Да-да, теперь возможно распихать серверную часть по вдскам на линуксе и удаленно рулить ими из няшной GUI-версии для Windows. SoftEther VPN имеет встроенный NAT и DHCP-сервер, то есть под Linux и FreeBSD больше не нужно возиться с настройками iptables и natd. На мой взгляд, еще никогда создание собственной VPN-сети не было таким легкореализуемым. Собственный протокол SSL-VPN может работать через TCP, причем поддерживаются множественные TCP-сессии, UDP и даже ICMP.

Пробуем

Рассмотрим эту прелесть с практической точки зрения. Для установки нам понадобится дедик или VDS/VPS, SoftEther VPN не требует для работы TUN/TAP-устройств, поэтому подойдут даже хилые варианты с любым типом виртуализации. Установка серверной части довольна проста. На странице www.softether-download.com выбираем дистрибутив SoftEther VPN Server под нужную операционную систему и архитектуру (в *nix архитектуру ОС можно узнать по команде uname -m). Для примера рассмотрим Linux, как самый частый вариант на VDS. Скачиваем дистрибутив на сервер любым доступным способом, после чего распаковываем и устанавливаем:

Tar xzvf softether-vpnserver-v4.05-9416.tar.gz && cd vpnserver && make

Нас попросят подтвердить, что мы прочли License Agreement и с ним согласны. После чего наш SoftEther VPN Server будет установлен в этом каталоге и готов к запуску. В документации опционально советуют переместить его в /usr/local/vpnserver , однако никакой разницы нет, запускать его можно хоть из /var/tmp . Чуешь, куда клоню? 🙂 Запускаем

./vpnserver start

Все, наш собственный VPN-сервер готов и по умолчанию ожидает нашего подключения на портах 443, 992, 1194 и 5555. Управлять сервером можно через его конфигурационный файл или, что намного удобнее, с помощью утилит управления. Подключиться к нему для управления можно с помощью консольной утилиты vpncmd, находящейся в этом же каталоге, либо с помощью GUI для Windows, называющегося SoftEther VPN Server Manager for Windows. Он входит в состав SoftEther VPN Server для Windows, но можно установить его отдельно путем выбора нужных галочек в инсталляторе или же скачать отдельный ZIP-архив со страницы загрузки. Рассмотрим его, как наиболее дружелюбный.


Для подключения в Server Manager указываем хост и порт (любой из слушаемых) нашего сервера. При первом подключении нас попросят установить администраторский пароль. Задаем свой пароль и приступаем к настройке. Имеет смысл отредактировать список портов, дабы явно не палить присутствие VPN на сервере. Я оставляю только 443, а ты выбери себе по вкусу. SoftEther VPN поддерживает так называемые виртуальные хабы (Virtual Hubs), по сути отдельные виртуальные VPN-серверы, каждый со своими администраторами, VPN-пользователями, настройками и ACL-политиками. Создаем такой хаб, если его не было по умолчанию, и переходим в его настройки, где нам нужно создать пользователя в Manage Users . SoftEther VPN поддерживает различные методы аутентификации, включая авторизацию по сертификату, RADIUS и NT Domain. Нам для начала достаточно обычной Password Authentication, поэтому просто задаем логин и пароль пользователя. Также можно заглянуть в Security Policy , где можно ограничить юзеру ширину канала и запретить прочие радости.


Для того чтобы у подключившихся к VPN пользователей был доступ в интернет, задействуем NAT. Все настройки находятся по соответствующей кнопке в контексте хаба, нам достаточно просто включить NAT, оставив все остальное по дефолту. На этом этапе уже можно подключаться к серверу с помощью клиента SoftEther VPN, который работает по собственному протоколу SSL-VPN, настройка тривиальна и затруднений не вызовет. Для подключения по L2TP и L2TP/IPsec нужно задействовать их на сервере, соответствующие опции находятся в IPsec / L2TP Settings . Аналогично включается и поддержка OpenVPN-клиентов, причем в этом случае SoftEther даже предложит сгенерировать конфигурационный файл.ovpn для OpenVPN.


Вот теперь можно подключаться к VPN как с настольных операционных систем, так и с мобильных девайсов, инструкции по настройке подключения можно найти в сети, они ничем не отличаются от обычных. На сайте www.softether.org тоже доступны мануалы с иллюстрациями. Самое время ощущать себя гордым владельцем VPN-сервера или даже, купив с десяток серверов в разных странах, открывать собственный VPN-сервис:).

Нетрадиционный VPN

Иногда бывает, что прямое соединение между клиентом и VPN-сервером затруднено или невозможно по каким-то причинам (локальная сеть, выход из которой строго файрволится на граничном роутере, или же сервер не имеет внешнего IP и находится за NAT или имеет динамический адрес). Распространенный случай - мы установили дома VPN-сервер и хотим попадать домой по защищенному каналу, но вот беда, домашний провайдер не выдает нам валидного айпишника. Да мало ли по каким причинам может не быть прямой видимости до сервера. И тут SoftEther VPN есть что показать нам. Собственный протокол SSL-VPN обладает рядом интересных техник для преодоления сетевых барьеров. Причем они не потребуют от нас никаких усилий, все работает буквально на автомате. Помимо обычной поддержки SOCKS/proxy, которой уже не удивить после OpenVPN, SoftEther VPN умеет:

  • DDNS сервис;
  • NAT Traversal;
  • VPN over ICMP;
  • VPN over DNS;
  • VPN Azure Cloud.

Если сервер не имеет постоянного айпи или мы просто хотим удобства, SoftEther VPN любезно предоставит нам домен третьего уровня в домене *.softether.net . Не нужно даже регистрироваться, все, что требуется, - это выбрать себе поддомен по вкусу, а работать и обновляться он будет самостоятельно. Функции пробива NAT, ICMP- и DNS-туннелирования пока плохо документированы и никак не настраиваются. Поэтому, чтобы убедиться в их работе, может понадобиться Wireshark. Однако и по дефолту все работает более чем прекрасно. Техника обхода NAT Traversal успешно пробила мой файрвол на роутере, на котором я для теста правилом заблокировал исходящие пакеты к VPN-серверу, и не менее успешно сумела соединиться с VPN-сервером, который был размещен за Full-Cone NAT. Проблема соединения с домашним сервером для меня решена навсегда:). Стоит учитывать, что для NAT Traversal требуется третий хост, который пока что предоставляет SoftEther VPN.

Влиять на то, какая техника будет использована, в текущей версии нельзя. SoftEther VPN Client пробует их поочередно, если прямое соединение «в лоб» не удалось. Пробуются соединения на 137-й и 53-й порт сервера, задействуется NAT Traversal, посылаются ICMP-пакеты. Для VPN over ICMP используются ICMP ECHO, или, проще говоря, обычный пинг.

Заключение

SoftEther VPN очень динамично развивается, и к тому времени, как ты будешь читать эту статью, функционал может стать еще более вкусным. Столь мощного и одновременно с этим дружественного опенсорсного решения доселе еще не было. Проект однозначно заслуживает внимания.

Каждый раз когда возникает необходимость воспользоваться каким-нить VPN сервисом, я вхожу в ступор и трачу множиство часов на нахождение и запуска софта. Подготавливаю статью по настройке программы SoftEther VPN. Софт работает на Windows 10.

Шаг 1. Скачивание клиента.

Скачиваем файл по ссылке . Скачивается установщик клиента SoftEther VPN Client (Ver 4.21, Build 9613, beta) с интегрированным плагином VPN Gate Client Plugin для последней версии.

Скачав и распаковав, запускаем установку.

Шаг 2. Установка клиента.

Выполните установку программы:

  • Выбираем установку программы SoftEther VPN Client;
  • Соглашаемся со всеми соглашениями;
  • Выбираем директорию (или в стандартную).







Дождитесь завершения установки программы и переходите к:

Шаг 3. Первый запуск и настройка.

Предложенная версия имеет слеющующий интерфейс.

Запускаем плагин двойным нажатием на сточку VPN Gate Public VPN Relay Servers , который поможет автоматически находить активные сервера VPN. Всплывает окно:

Нажимаем Refresh List , чтобы обновить список серверов. Сортируем по Ping и Region. Выбираем необхъодимый регион и сервер с наименьшим пингом (главное чтобы в пинге было указано число, а не символ).

Выбрав сервер, жмем на большую кнопку внизу Connect to the VPN Server . Поропускаем следующее окно пока не дойдет до выбора типа подключения:


Предлагают подключить TCP или UDP Protocol. Пробуем первый вариант, если выдает ошибку то второй вариант. Если же ни один вариант не соединяет, то пробуем другой сервер.

В случае успешного подключения видим окошко такого рода:

Теперь можно спокойно заниматься своими грязными делами на закрытых или ограниченных сайтах.

Шаг 4. Завершение работы.

Возвращаемся в начальное окно программы:

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

Приятного Пользования!

Мегай

Существует два способа объединить сети при помощи SoftEther VPN.
1) Соединение мостом, при этом сети объединяются в один сегмент Ethernet. Этот вариант неудобен, т.к. если в обеих сетях есть сервисы, требующие работы в единственном экземпляре, то это приведет к конфликтам (например, DHCP). Кроме того, если узлов в сети много, то произойдет увеличение широковещательного трафика.
2) Второй способ основывается на первом. Но здесь создается виртуальный коммутатор третьего уровня OSI, который управляет трафиком между сетями. Также создается дополнительный виртуальный хаб (концентратор), к которому подключается удаленная сеть. Из минусов: не поддерживаются протоколы динамической маршрутизации, не поддерживается протокол IGMP, на узлах с общими ресурсами необходимо прописывать статические маршруты.

В данной статье рассматривается второй способ.

Преимущество данной схемы в том, что ненужно тратиться на дорогие роутеры с VPN, а параноикам использовать дырявый протокол PPTP. Включил ПК - и связь автоматически поднялась, если на другом конце ПК тоже включен. Производительность связи упирается в скорость вашего интернет-канала (включая производительность маршрутизации роутера) и мощность процессора ПК, т.к. шифрование трафика осуществляется именно им.

Имеем две сети, с центральными узлами в виде маршрутизатора с DHCP сервером и WAN. На ПК в одной сети необходимо установить SoftEther VPN Server, а в другой сети SoftEther VPN Bridge.

Установка VPN сервера на Windows

Установка SoftEther VPN Server достаточно проста. Проиллюстрирую ее картинками с небольшими комментариями. Скачиваем дистрибутив SoftEther VPN Server c официального сайта и запускаем.
Выбираем вариант установки - VPN Server и жмем «Далее».

Затем принимаем условия соглашения и выбираем стандартную установку.

После запуска VPN сервера появится окно администрирования, нажимаем кнопку «Connect». Задаем пароль администратора сервера.

Указываем тип сервера - Site-to-Site VPN Server. (Center)

Затем идет настройка функции dynamic DNS, жмем Exit. Позже её можно отключить, изменив в файле конфигурации строку на: “declare DDnsClient { bool Disabled true “ .

Далее необходимо указать физическую сетевую карту для соединения виртуального хаба с локальной сетью. Соединение осуществляется на канальном уровне OSI, поэтому виртуальный хаб не получает никакого IP адреса в сети. Однако некоторые роутеры могут заметить в локальной сети появление IP адреса подсети 172.31.0.0/16. Этот адрес используется для отслеживания соответствия ARP записей IP адресам или чего-то подобного.

Далее предлагается настроить доступ по L2TP и включить Azure VPN. Пропустим эти шаги, т.к. в этой схеме они не участвуют. Azure VPN можно отключить, если у вас белый IP. Если адрес серый, то не отключайте и используйте доменный адрес Azure VPN вместо IP.

Настройка VPN сервера

По окончании первичной настройки попадаем в окно администрирования сервера. Первым делом, удалим ненужные порты (все, кроме 5555 - он используется для подключения к панели администрирования). Задаем какой-нибудь нестандартный TCP порт для прослушивания, например, 7710. Если у Вас нет белого IP адреса, то для использования Azure VPN необходимо слушать 443 порт.
Теперь необходимо создать второй виртуальный хаб, к которому будет подключаться удаленная сеть. Чтобы создать второй хаб, кликаем кнопку «Create a Virtual Hub». Назовем его, например, по номеру удаленной сети - 12. В этом виртуальном хабе создавать Local Bridge ненужно.

Далее, выбираем 12 хаб и нажимаем «Mange Virtual Hub», затем «Manage Users» создаем пользователя для удаленной сети. Назовем его «Network 12», вместо пароля будем использовать самоподписанный сертификат с тайным ключом.

Кликаем «Create Certificate» и заполняем строчку “Common name”.

Выбираем формат сертификата - X509 (сертификат отдельно, тайный ключ отдельно).

Сохраненный сертификат и тайный ключ необходимо будет загрузить в клиент SoftEther VPN Bridge.
Далее необходимо открыть порт в роутере - тот самый, который слушает сервер, и настроить трансляцию порта на ПК с сервером. Подробнее о том, как открывать порты, можно прочитать в этой статье. .
Например, в pfSense правило для открытия порта выглядит примерно так. pfSense - при создании правила для NAT, автоматически создает правило и для Firewall. Другие роутеры могут этого не делать, поэтому надо создавать оба правила ручками.

Также, в межсетевом экране на обоих роутерах необходимо разрешить прохождение трафика между сетями. Для разрешения прохождения любого трафика правило будет выглядеть так:

Если на компьютерах включен брандмауэр, то там тоже необходимо разрешить прохождение трафика для нужной сети.
Далее необходимо создать виртуальный роутер. Кликаем кнопку «Layer 3 Switch Settings», создаем новый виртуальный роутер и кликаем кнопку «Edit». Затем, необходимо создать виртуальные интерфейсы для каждого хаба. Для хаба с именем 10 создаем интерфейс с адресом 192.168.10.100, для хаба с именем 12 - 192.168.12.100. Адреса можно придумать свои, главное, чтобы они не были заняты и принадлежали каждый к своей подсети. Разработчики уверяют, что маршруты добавлять необязательно, но лучше на всякий случай добавить. Для запуска роутера нажимаем кнопку «Start».

Настройка VPN клиента

Запускаем установку SoftEther VPN Server, при этом выбираем вариант установки SoftEther VPN Bridge. Жмем все время «Далее», затем задаем пароль администратора.

На этом шаге указываем сетевую карту для создания моста с локальной сетью.

После этого попадаем в панель управления SoftEther VPN Bridge. Как видим, многие функции в этом режиме отключены.

Далее необходимо создать каскадное подключение к серверу SoftEther VPN. Нажимаем «Mange Virtual Hub» затем «Mange Cascade Connection» и заполняем данные для подключения.
Settings name - имя подключения.
Host Name - белый IP адрес или доменное имя DDNS роутера сети, где установлен сервер. Если у вас нет белого IP адреса, то используем службу Azure VPN и пишем доменное имя, полученное в этой службе (vpn123456789.vpnazure.net). Думаю, понятно, что без белого IP адреса открывать порты на роутере ненужно.
Port Number - порт, который слушает сервер.
Virtual Hub Name - имя виртуального хаба на сервере.
User Authentication Settings - настройки аутентификации пользователя. Поскольку мы решили использовать вместо пароля самоподписанный сертификат, то выбираем строчку «Client Certificate Authentication». Пишем имя пользователя (в примере это - Network 12). Кликаем «Specify Client Certificate», загружаем сертификат и тайный ключ шифрования.

Теперь необходимо настроить параметры соединения - кликаем “Advanced Settings”. Здесь необходимо задать количество TCP соединений, для широкополосного соединения рекомендуется 8.

Настройка маршрутизации

Настройка заключается в прописывании статических маршрутов в роутерах обеих подсетей.
На роутере 192.168.10.1 (см. схему) прописываем маршрут до сети 192.168.12.0. Выглядеть он будет так: 192.168.12.0 маска 255.255.255.0 шлюз 192.168.10.100.
На роутере 192.168.12.1 прописываем маршрут до сети 192.168.10.0: 192.168.10.0 маска 255.255.255.0 шлюз 192.168.12.100.
Для надежности перезагружаем оба ПК и роутера.

Доступ к общим папкам через SoftEther VPN

После произведенных выше настроек все компьютеры в сети должны нормально «пинговать» друг друга (если не запрещено брандмауэром). Однако, получить доступ к общим папкам Windows невозможно. Эта проблема решается прописыванием статических маршрутов непосредственно на компьютерах с общими ресурсами. Запускаем командную строку Windows от имени администратора и пишем команду:
для компьютеров, находящихся в сети 192.168.10.0:
route -p add 192.168.12.0 mask 255.255.255.0 192.168.10.100
для компьютеров, находящихся в сети 192.168.12.0:
route -p add 192.168.10.0 mask 255.255.255.0 192.168.12.100
На этом настройка завершена. Для анализа маршрута трафика советую пользоваться командной строкой Windows, командой pathping .

Вопросы задаем в комментариях.

Рассмотрим установку и настройку VPN сервера SoftEther VPN на Windows. SoftEther VPN позволяет объединить в сеть различные устройства, так как поддерживает практически все популярные протоколы сетей.

Настройка SoftEther VPN топология клиент-сервер.

VPN сервер здесь будет центральным узлом, к которому будут подключаться клиенты для получения доступа во внутреннюю сеть. Скачиваем последнюю RTM версию и запускаем установку. Выбираем строчку SoftEther VPN Server и жмем далее.


Тут ставим галочку Remote Access VPN Server.

Затем вводим имя виртуального хаба.

Далее идет настройка функции динамического DNS, ее можно отключить позже.

Затем, если необходимо, то настраиваем подключение по L2TP, указываем общий ключ IPsec.

Далее идет настройка Azure VPN - это бесплатный облачный сервис, который позволяет устанавливать VPN соединение с сервером при отсутствии внешнего ip адреса и открытых портов. Для соединения через него, необходимо указывать доменный идентификатор Azure VPN и 443 порт.

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

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







Для того что бы настроить учетные записи нажимаем Manage Virtual Hub, затем Manage Users, создаем нового пользователя. Вводим имя, а также задаем тип аутентификации. Поддерживаются следующие виды аутентификации: анонимный, пароль, индивидуальный сертификат, подписанный сертификат, аутентификация через сервер RADIUS и контроллер домена Windows NT. Для примера, создадим пользователя Test с парольной защитой.



Настройка VPN клиентов.

На клиентском компьютере настроим подключение по протоколу L2TP/IPsec с общим ключом.

По умолчанию клиентам присваиваются IP адреса того же диапазона DHCP сервера, к которому подключен VPN сервер.

Нельзя не отметить, что у SoftEther VPN имеется собственный VPN клиент, который по заявлению разработчика работает быстрее и шифрует трафик с помощью SSL. Таким образом, его трудно отличить от HTTPS, следовательно, VPN будет работать даже в сетях где другие протоколы заблокированы.
Установка и настройка собственного клиента довольно проста. После стандартной инсталляции клиента нажимаем пункт Add VPN Connection и соглашаемся создать виртуальный сетевой адаптер.




Далее пишем имя адаптера.




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



Если вдруг, при подключении VPN соединения локальная сеть становится неопознанной, то необходимо нажать Advanced Settings (см. картинку выше) и поставить галочку No Adjustments of Route Table. Также можно изменить приоритеты сетевых подключений, подробнее в статье .




На этом всё, спасибо за внимание.




Top