Теория
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5

Практика
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6

Руководство
Часть 1
Часть 2
Часть 3
Часть 4
Часть 5
Часть 6
Часть 7
Часть 8
Часть 9
Часть 10
Часть 11

О Проекте
О SoftEther VPN
Спецификация
Вопрос-ответ
Соглашение
Лицензия

Теория (часть 1)

1. Максимально пробивное VPN соединение.

1.1. Брандмауэр, прокси-сервер и обход NAT`а.

Одной из ключевых особенностей SoftEther VPN является то, что он хорошо работает через брандмауэры, прокси-серверы и NAT`ы (трансляторы сетевых адресов). NAT иногда реализуется в маршрутизаторах широкополосного доступа.

Рис.1. Только трафик HTTP/HTTPS может проходить через ограничивающий брандмауэр. SoftEther VPN основан на HTTPS.

Бакграунд.
Как правило, сейчас в сетях компаний устанавливают брандмауэры для изоляции внутренней и внешней сети друг от друга в целях обеспечения безопасности. Но не только в целях безопасности компании используются брандмауэры, прокси и NAT, они также необходимы чтобы сэкономить драгоценные реальные IP-адреса. Они позволяют использовать один реальный ip адрес на несколько пользователей в офисе. Поэтому такие устройства сегодня необходимы.
Туннели традиционных протоколов VPN, такие как IPsec, L2TP и PPTP, часто не могут быть установлены через брандмауэры, прокси-серверы и NAT. Они были разработаны в эпоху до широкого распространения NAT. Например, протоколы IPsec и L2TP используют пакеты ESP (Encapsulating Security Payload), а PPTP использует пакеты GRE (Generic Routing Encapsulation). Эти пакеты представляют собой специальные пакеты IP протокола. Таким образом, как правило, брандмауэры, прокси и NAT не могут пропускать пакеты этих традиционных VPN. Не так давно некоторые производители VPN-продуктов IPsec, L2TP и PPTP попытались доработать их для возможности прохода через эти устройства, и в некоторых продуктах VPN это было реализовано. Однако, такие расширения старых протоколов VPN по-прежнему имеют проблемы совместимости. Во многих случаях пользователь пытается установить VPN-подключение либо L2TP, либо PPTP в сети, использующей брандмауэры, прокси-серверы и NAT, но оно не устанавливается. Возможно, вы сами сталкивались с этим, когда, например, вы находились в номере отеля и пытались подключиться к сети вашей компании используя удаленный доступ VPN, используя протокол L2TP или PPTP, но вам не удавалось. Причина этого заключается в том, что брандмауэры, прокси-серверы и NAT в сети несовместимы с протоколом L2TP или PPTP.
Поэтому можно сказать то, что современные сетевые администраторы имеют головную боль в связи с проблемой несовместимости между VPN-подключениями и устройствами безопасности.

Решение SoftEther VPN: использование протокола HTTPS для создания VPN-туннелей.
SoftEther VPN использует протокол HTTPS для создания VPN туннеля. Протокол HTTPS (HTTP через SSL) использует в качестве назначения порт 443 TCP/IP. Этот порт хорошо известен, и почти все брандмауэры, прокси-серверы и NAT могут пропускать пакеты протокола HTTPS.

Рис.2. В отличие от традиционных протоколов виртуальных частных сетей, SoftEther VPN использует инкапсуляцию "Ethernet через HTTPS".

Протокол HTTPS широко используется в Интернете. Когда вы открываете веб-браузер и получаете доступ к веб-сайту используя безопасную связь, протокол HTTPS используется автоматически. Благодаря HTTPS можно передавать через Интернет такие секретные данные, как, например, номера кредитных карт. Сегодняшняя деятельность людей зависит от протокола HTTPS. Без него нельзя сегодня использовать Интернет как среду для электронной коммерческой деятельности.
Из-за того, что протокол HTTPS является стандартным, практически все брандмауэры, прокси-серверы и NAT разрешают его прохождение. Каждый, кто находится в локальной сети, может удаленно установить любое HTTPS-соединение между своими устройствами и любыми устройствами в Интернете. Использование этого протокола является лучшим способом достижения хорошей прозрачности для VPN.
Таким образом, SoftEther VPN использует HTTPS в качестве стабильного протокола и механизма туннелирования для создания VPN. SoftEther VPN может использоваться почти во всех сетевых средах, таких как корпоративная локальная сеть, гостиничный номер, бесплатный Wi-Fi в аэропорту, в отличие от других устаревших протоколов виртуальных частных сетей (VPN), таких как IPsec, PPTP и L2TP.
Из-за этой особенности используя SoftEther VPN можно легко спроектировать собственную топологию VPN, которая подходит под ваши требования, с приложением минимальных усилий, направленных на замену или изменение настроек существующих в настоящее время сетевых устройств безопасности. Если вы хотите использовать SoftEther VPN в вашей сети, вам не нужно изменять текущие конфигурации и политики в вашей сети благодаря хорошей совместимости SoftEther VPN с ними.
С другой стороны, если вы хотите использовать старые VPN в сети, необходимо изменить текущие сетевые политики на устройствах безопасности, таких как брандмауэр, чтобы разрешить передачу специального IP протокола, например ESP и GRE. Также необходимо изменить файл конфигурации брандмауэра. Такие работы требуют дополнительных усилий и могут вызвать определенные побочные эффекты в вашей стабильной и “драгоценной” сети)). Кроме того, что это потребует от вас дополнительных усилий, у вас есть риск подвергнуть сеть опасности из-за того, что вам придется изменить настройки брандмауэра, чтобы разрешить передачу пакетов устаревшего VPN. При использовании SoftEther VPN не требуется этих усилий и не возникает этого риска.
Некоторые сети, такие как доступ в Интернет через Wi-Fi в гостиничном номере, ограничивают использование других VPN-протоколов кроме HTTP и HTTPS в силу требований безопасности. В такой сети с большими запретами единственным способом использования VPN является использование VPN-туннелирования через HTTPS-пакеты, например, SoftEther VPN.
Выводы: SoftEther VPN - это не просто VPN, это очень хороший VPN обеспечивающий совместимость с брандмауэрами, прокси-серверами и NAT`ами.

1.2. Поддержка нескольких стандартных протоколов VPN.

SoftEther VPN-сервер поддерживает не только протокол VPN по HTTPS, описанный в разделе 1.1. SoftEther VPN-сервер поддерживает также протоколы L2TP/IPSec, OpenVPN, MS-SSTP, L2TPv3 и EtherIP. Это стандартные VPN протоколы Интернета.
Ваш iPhone, iPad, Android, Windows Mobile и другие мобильные устройства теперь могут подключаться к SoftEther VPN-серверу из любого места в любое время. Можно также использовать Cisco Systems или VPN-маршрутизаторы других поставщиков VPN продуктов, поддерживающих L2TPv3/IPSec или EtherIP/IPSec, для подключения к SoftEther VPN-серверу.

          Рис.3. SoftEther VPN-сервер поддерживает традиционные протоколы VPN, как показано выше.

Поддержка протокола L2TP/IPSec.
Следующие устройства имеют встроенные VPN-клиенты L2TP/IPSec. Они могут подключаться к SoftEther VPN-серверу без установки клиентского программного обеспечения на них.

Ваш Mac, iPhone, iPad или Android могут подключаться к SoftEtherVPN-серверу.

  • - iPhone
  • - iPad
  • - Android
  • - Windows Mobile
  • - Windows XP / Vista / 7 / 8 / RT
  • - Mac OS X

iPhone и Android могут подключаться к SoftEther VPN-серверу.

Настроить L2TP/IPSec очень просто, если использовать графический интерфейс пользователя.

Поддержка протокола OpenVPN.
SoftEther VPN-сервер имеет клон OpenVPN сервера. Если вы уже установили OpenVPN для VPN-подключений удаленного доступа VPN или site-to-site VPN, то можно заменить текущий OpenVPN Сервер на SoftEther VPN сервер, а также воспользоваться мощным функционалом и высокопроизводительными возможностями SoftEther VPN.
«Функция Close» OpenVPN`а на SoftEther VPN-сервере работает так же, как и с OpenVPN Technologies Inc, но c лучшей производительностью и функциональностью. Ваши OpenVPN-клиентские устройства или пограничные маршрутизаторы филиалов могут легко подключаться к новому SoftEther VPN-серверу. Вы можете использовать SoftEther VPN как для удалённого VPN доступа 3-ьего уровня, так и для site-to-site VPN 2-го уровня.
Преимущества использования SoftEther VPN-сервера вместо старой программы OpenVPN Сервер следующие:
- SoftEther VPN-сервер имеет более простую конфигурацию, чем OpenVPN Server от OpenVPN Technologies Inc.
- Для создания файла конфигурации (.ovpn) для OpenVPN-клиента можно использовать средство автоматического генератора файлов конфигурации.
- SoftEther VPN-сервер поддерживает не только OpenVPN. Он поддерживает все стандартные VPN, включая SSL-VPN, L2TP/IPSec, MS-SSTP, L2TPv3/IPsec и EtherIP/IPSec. Таким образом, можно интегрировать OpenVPN и другие протоколы VPN-серверов в один простой VPN-сервер используя SoftEther VPN-сервер.
- Параметры администрирования и безопасности пользователей можно настроить используя графический интерфейс пользователя. Функции управления интегрированы. Для управления сервером можно использовать однопутевую операцию.
- Все операционные системы, поддерживающие OpenVPN (например, Linux, Mac OS X, Linux, UNIX, iPhone и Android), могут подключаться к SoftEther VPN-серверу.

Можно легко активировать OpenVPN из графического интерфейса пользователя.

                      Не только PC-версия OpenVPN. Можно также использовать клиент OpenVPN на iPhone/Android.

Поддержка VPN протокола Microsoft SSTP.
SoftEther VPN-сервер имеет «функцию клона» VPN-сервера Microsoft SSTP. Можно подключиться к SoftEther VPN-серверу из Windows 7/8/RT/10 используя встроенные VPN-клиенты SSTP. SSTP (протокол безопасного туннелирования сокетов) — это протокол PPP через HTTPS, предложенный корпорацией Майкрософт.
Изначально функции VPN-сервера SSTP реализованы только на сервере Microsoft Windows Server 2008/2012/2016. Однако плата за лицензионное использование таких серверных операционных систем корпорации Майкрософт является очень большой. Их также трудно настроить обычным пользователям. При использовании SoftEther VPN Сервера можно получить практически те же самые функции и производительность, что и при применении родного Microsoft SSTP VPN Сервера.
Преимущества использования SoftEther VPN-сервера вместо VPN-сервера Microsoft SSTP следующие:
- Очень простая настройка по сравнению с VPN-сервером Microsoft SSTP.
- Нет необходимости устанавливать VPN-клиент на клиентах Windows. Встроенный VPN-Клиент SSTP в Windows может использоваться для подключения к SoftEther VPN-серверу.
-Windows RT (ARM версия Windows) также имеет встроенный VPN-Клиент SSTP.
- Параметры администрирования и безопасности пользователей можно настроить с помощью средств графического интерфейса пользователя. Функции управления интегрированы. Для управления сервером можно использовать однопутевую операцию.
- Вам больше не нужна покупка дорогостоящей операционной системы Windows Server 2008/2012/2016. Это может сэкономить ваши расходы.
- Клон SSTP VPN-сервера в  SoftEther VPN-сервере работает не только в операционных системах Windows. Он работает идеально на Linux, Mac OS X, FreeBSD и Solaris.

Поддержка протоколов L2TPv3/IPsec и EtherIP/IPSec.
Большинство маршрутизаторов Cisco System и других производителей поддерживают протоколы VPN L2TPv3/IPSec или EtherIP/IPSec. Эти протоколы предназначены для создания site-to-site VPN-ов второго уровня. SoftEther VPN-сервер поддерживает L2TPv3 и EtherIP поверх IPsec. Можно построить подключение site-to-site моста L2 с помощью маршрутизатора Cisco в филиале и SoftEther VPN-сервер в главном офисе. Такой вариант имеет преимущество в стоимости. Маршрутизаторы Cisco для центральных филиалов очень дорогие. Можно просто заменить high-end маршрутизатор Cisco в центральном филиале для VPN на SoftEther VPN-сервер.

1.3. SoftEther работает быстрее, чем VPN`ы от корпорации Майкрософт и OpenVPN.

Мы провели тест производительности в лаборатории Высшей школы информатики в Университете Цукуба в конце 2012 года.
Мы протестировали 5 протоколов: SoftEther VPN, L2TP/IPSec, SSTP, OpenVPN (в режиме L3) и OpenVPN (в режиме Layer-2). Мы тестировали наш SoftEther VPN-сервер и существующую реализацию корпорацией Майкрософт и OpenVPN Technologies Inc.  для оценки производительности SoftEther VPN. Тестовая среда была такой: Windows Server 2008 R2 x64 на сервере с процессором Intel® Xeon™ E3-1230 3.2 ГГц и 10-гигабитной серверной двух-портовой сетевой картой от Intel.
- Используя протокол SoftEther VPN на SoftEther VPN-сервере была достигнута скорость 980Мбит/с.
- Используя протокол L2TP/IPSec на SoftEther VPN-сервере была достигута скорость 614Мбит/c, в то время как службой маршрутизации и удаленного доступа (RRAS) на Microsoft Windows Server 2008 R2 была достигнута скорость 593Мбит/с.
- Используя протокол SSTP на SoftEther VPN-сервере была достигнута скорость 737Мбит/c, в то время как на Microsoft Windows Server 2008 R2 было получено только 715Мбит/с.
- Используя протокол OpenVPN (L3) на SoftEther VPN-сервере была получена скорость 89Мбит/с, в то время как на оригинальной реализации OpenVPN было получено только 76Мбит/с.
- Используя протокол OpenVPN (L2) на SoftEther VPN-сервере была достигнута скорость 90Мбит/с, в то время как на оригинальной реализации OpenVPN было получено только 83Мбит/с.
В результате протокол L2TP/IPSec на SoftEther VPN-сервере был в 103,5% быстрее, чем этот же протокол в реализации от компании Майкрософт на Windows Server`е, реализация SSTP более чем в 103,0% быстрее, чем его реализация от компании Майкрософт в Windows`е, и протокол OpenVPN оказался в 108-117% быстрее чем оригинальные реализации OpenVPN. Кроме того, наш протокол SoftEther VPN оказался в 159,6% быстрее реализации протокола L2TP/IPSec, в 133% быстрее SSTP-протокола и в 10,9 раза быстрее OpenVPN протокола (Здесь сравнивались скорости протоколов реализованных на SoftEther VPN сервере).

Этот результат доказывает, что SoftEther VPN-сервер самый быстрый VPN-сервер в мире.
Здесь больше подробностей о тестировании (http://www.softether.org/4-docs/9-research)

1.4. Встроенный динамический DNS (*.softEther.net)

Большинству существующих решений VPN требуется фиксированный глобальный IP-адрес для работы. Фиксированные глобальные IP-адреса требуют ежемесячных затрат для оплаты Интернет провайдерам. И глобальная нехватка IPv4-адресов в настоящее время является серьезной проблемой в нашем мире.
SoftEther VPN имеет встроенную функцию динамического DNS (DDNS) для решения вышеуказанных проблем. Функция Динамического DNS включена по умолчанию. Функция DDNS регистрирует IP-адрес VPN-сервера на DNS сервере в домене "*.softether.net", который управляется SoftEther Corporation и университетом Цукуба.
DDNS FQDN "abc.softether.net" ("abc" является идентификатором, который пользователь может указать) будет назначен вашему SoftEther VPN серверу. Можно сообщить DDNS имя хоста пользователям VPN-сервера. Пользователь VPN-сервера теперь может указать имя узла DDNS в качестве места назначения. Если соответствующий IP-адрес будет изменен в будущем, зарегистрированный IP-адрес DDNS имени хоста будет переназначен новому IP. Этот механизм делает фиксированные глобальные IP-адреса более ненужными, и можно сократить затраты на оплату ежемесячных услуг Интернет-провайдеру.

Динамический DNS поддерживается SoftEther VPN.

Показано как просто настроить функцию динамического DNS.

1.5. Обход NAT`а.

Используя существующие системы VPN, необходимо обратиться к администратору брандмауэра вашей компании с просьбой открыть для VPN сервера (TCP или UDP) порт на брандмауэре/NAT`е, который расположен между сетью компании и Интернетом.
Чтобы минимизировать необходимость открытия портов на брандмауэре, SoftEther VPN-сервер имеет функцию "обход NAT`а".
Обход NAT`а включен по умолчанию. Если он работает, компьютеры на которых установлен SoftEther VPN-клиент могут подключаться к вашему VPN-серверу находящемуся за брандмауэром/NAT`ом. Нет необходимости в специальных настройках брандмауэра/NAT`а.
Функцию обхода NAT можно отключить на VPN-сервере путем переключения значения «DisableNatTraversal» на «true» в файле конфигурации VPN-сервера. Его можно также отключить, добавляя суффикс "/tcp" к имени узла назначения.

Функция обхода NAT`а позволяет проходить через брандмауэр вашего офиса.

1.6. VPN по протоколу ICMP и VPN через DNS (Превосходно!)

В некоторых сетях запрещают почти все протоколы кроме ICMP или DNS. Мы не знаем причину этого. В такой сети фильтруются TCP и UDP.
Для того чтобы можно было установить сеанс SoftEther VPN между клиентом и сервером в такой очень ограниченной сети, SoftEther VPN имеет функцию «VPN через ICMP» и функцию «VPN через DNS».
Эта функция очень полезна для выхода в Интернет из такой ограниченной сети. Все пакеты VPN упаковываются в пакеты ICMP или DNS для передачи через ограничивающий брандмауэр. На другой стороне VPN туннеля приемник извлекает внутренний пакет из пакета оболочки(ICMP, DNS).
Это можно применить также для эксплуатации публичных Wi-Fi сетей. Некоторые общедоступные Wi-Fi сети позволяют передавать только пакеты ICMP или DNS. Они фильтруют пакеты TCP или UDP. Если у вас дома или в офисе установлен VPN-сервер,  выходя на улицу, вы можете пользоваться такими Wi-Fi сетями с закрытыми TCP и UDP протоколами. (Возможно тут авторы имеют ввиду Wi-Fi сети с авторизацией через web-портал (hotspot), когда ICMP протокол разрешён до любого узла в Интернете, но остальные протоколы закрыты до того момента, когда вы авторизуетесь на портале.)
VPN по протоколу ICMP и “VPN через DNS” реализуются на основе спецификаций протокола ICMP и DNS. Однако иногда их применение нежелательно. Так как может привести к переполнению памяти или возникновению каких-либо проблем на «глючных маршрутизаторах» в сети. Некоторые маршрутизаторы могут перезагружаться из-за этих проблем. Это повлияет на работу других пользователей Wi-Fi вокруг вас. В таком случае отключите VPN по протоколу ICMP и VPN через DNS, добавив суффикс "/tcp" к имени узла назначения в настройка подключения к VPN.

Трафик с полезной нагрузкой будет инкапсулирован в ICMP пакеты. Замечательная идея!

Можно активировать VPN по протоколу ICMP и VPN через DNS простым действием.

1.7. Облачная служба Azure (академический эксперимент).

Если ваш SoftEther VPN-сервер находится за брандмауэром или NAT`ом, и если все функции: обход NATа, динамического DNS и VPN по протоколу ICMP/DNS не помогают, не сдавайтесь. Можно использовать «облачный сервис VPN Azure» как последний козырь.
Все существующие системы VPN для своей работы будут требовать администратора брандмауэра открыть некоторые порты TCP или UDP, и требовать по крайней мере один фиксированный глобальный IP-адрес. Это очень неудобно.
Для решения существующих проблем мы представляем "облачный сервис VPN Azure". Эта услуга предоставляется SoftEther корпорацией и университетом Цукуба в качестве академического эксперимента.
VPN-клиенты могут подключиться к вашему VPN-серверу, находящемуся за брандмауэром, при этом не требуется открывать TCP/UDP-порты на нём, если вы активировали на VPN-сервере функцию VPN Azure.
VPN-сервер подключится по TCP "из внутренней сети во внешнюю через брандмауэр". Подключение будет сохраняться с сервером ретрансляции, находящимся в облаке серверов VPN Azure. Можно подключиться к точке ретрансляции на облачный сервер с VPN-клиента. Облачный сервер будет пересылать весь ваш трафик на конечный VPN-сервер, находящийся за брандмауэром. После установки подключения теперь можно получить доступ к любым компьютерам в сети вашей компании или домашней сети, защищенной брандмауэром.
После подключения VPN-сервера к облаку VPN Azure, сервер будет иметь уникальное имя узла «abc.vpnazure.com» («abc» является уникальным идентификатором). Имя узла назначается на соответствующем сервере ретрансляции VPN в облачном сервисе VPN Azure.
По умолчанию функция облачного сервиса VPN Azure отключена. Её можно легко активировать в диспетчере графического интерфейса VPN-сервера. Для получения дополнительных сведений обращайтесь к http://www.vpnazure.net/.

      Облачный сервис VPN Azure — это бесплатная мощная служба пересылки трафика VPN для возможности подключения за брандмауэры.

1.8. Работает на многих ОС и ЦП-х.

SoftEther VPN может работать на следующих операционных системах. Другие VPN продукты строго привязаны к некоторым конкретным системам. Например, программное обеспечение Cisco IOS может работать только на аппаратном маршрутизаторе Cisco, который продается только Cisco Systems. SoftEther VPN отличается от них. Он может работать не только на нескольких операционных системах, но и с несколькими архитектурами ЦП.
Это означает, что, например, если в данный момент SoftEther VPN-сервер выполняется на одной платформе, но требуется перейти на другую платформу, то это можно легко сделать в любое время. Все команды конфигурации и файлы состояния одинаковы на нескольких платформах, потому что программные коды SoftEther VPN были написаны на языке C с большой осторожностью, чтобы обеспечить совместимость и переносимость между различными системами.
- Windows
ОС Windows 98, 98 SE, Me, NT 4,0, 2000, XP, Server 2003, Vista, Server 2008, 7, Server 2008 R2, 8 и Server 2012 поддерживаются как на платформах Intel x86 (32 бит), так и на платформе x64 (64 бит, известной как, AMD64) SoftEther VPN-сервером, клиентом и мостом.
- Linux
Ядра Linux 2.4, 2.6 и 3.X поддерживаются на платформах Intel x86 (32 бит), x64 (64 бит), ARM, MIPS и PowerPC SoftEther VPN-сервером, клиентом и мостом.
- FreeBSD
FreeBSD 5. x, 6. x, 7. x, 8. x и 9. x поддерживаются на платформах Intel x86 (32 бит) и x64 (64 bit), SoftEther VPN-сервером и мостом.
- Solaris
Solaris 8, 9, 10 и 11 поддерживаются на платформе Intel x86 (32 бит), Intel x64 (64 бит), SPARC (и 32 бит, и 64 бит) SoftEther VPN-сервером и мостом.
- Mac OS x
Mac OS x 10.4, 10.5, 10.6, 10.7 и 10.8 поддерживаются на платформе Intel x86 (32 бит), Intel x64 (64 бит), PowerPC (32 бит) и PowerPC G5 (64 бит) SoftEther VPN-сервером и мостом.

В SoftEther VPN-программах, независимые модули от ОС помогают построить независимый от платформы VPN-сервер.

  © SoftEther Проект