
SoftEther VPN — продвинутый мультипротокольный VPN-сервер и клиент
Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о VPN-сервере, который может поднимать L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP-серверы, а также имеет свой собственный протокол «SSL-VPN», который неотличим от обычного HTTPS-трафика (чего не скажешь про OpenVPN handshake, например), может работать не только через TCP/UDP, но и через ICMP (подобно pingtunnel, hanstunnel) и DNS (подобно iodine), работает быстрее (по заверению разработчиков) текущих имплементаций, строит L2 и L3 туннели, имеет встроенный DHCP-сервер, поддерживает как kernel-mode, так и user-mode NAT, IPv6, шейпинг, QoS, кластеризацию, load balancing и fault tolerance, может быть запущен под Windows, Linux, Mac OS, FreeBSD и Solaris и является Open-Source проектом под GPLv2?
То-то и оно. Такое пропустить нельзя.

Скорее всего, вы раньше не слышали об этом проекте. Дело в том, что Daiyu Nobori (登 大遊) начал его разрабатывать, как только пошел в Тсукубский университет, и PPTP не заработал из сети кампуса. В 2003, когда ему было 18 лет, он выпустил первую версию SoftEther, и на него наехало правительство Японии, которое считало, что этот проект можно расценивать чуть ли ни как вредоносное ПО, т.к. оно позволяет обходить файрволлы (OpenVPN в то время еще только появлялся), а также может «навредить имиджу других VPN-продуктов» и запретило распространять программу. Он попытался объясниться, но т.к. из-за этого его могли, возможно, отчислить из университета, сильно он не настаивал и убрал программу из свободного доступа. Проходит некоторое время, и Mitsubishi Materials Corporation предлагает купить у него SoftEther 1.0 и подписать контракт на 10 лет (апрель 2004-апрель 2014), который дает корпорации право на продажу SoftEther и запрещает Daiyu Nobori продавать программу и/или основанные на ней, но в марте 2013 он начинает распространять SoftEther бесплатно, и вот только совсем недавно (4 января 2014) ее удалось открыть под GPLv2. К большому сожалению, сейчас еще пока остаются некоторые проблемы с копирайтом, поэтому в SoftEther до апреля 2014, вероятно, нельзя будет увидеть некоторые важные функции: аутентификация Radius / Active Directory, аутентификация по RSA-ключам, защита от DoS, Source IP ACL, Syslog transfer и Deep-inspect packet logging.
Чуть более подробно про возможности сервера:
По заявлению автора, SoftEther работает быстрее эталонных реализаций.

ПО состоит из сервера, бридж-сервера, клиента, GUI (только Windows) и CUI утилит администрирования. Клиент нужен для подключения одного компьютера к LAN (Remote Access VPN), а бридж-сервер для соединения двух или более сетей (Site-to-Site VPN). К сожалению, CUI пока не очень хорошо задокументирован и запустить сервер только из CUI мне не удалось, пришлось воспользоваться Windows-версией сервера и GUI-утилитой. Нужно заметить, что GUI-утилита умеет работать не только с локальным сервером, т.е. можно запустить сам сервер на Linux, а администрировать его через GUI-утилиту под Windows. В GUI есть только основные настройки, для изменения продвинутых настроек придется лезть в конфиг или использовать CUI.
Вот вам несколько скриншотов GUI, чтобы было представление, что умеет сервер и как все легко настраивается.
Окно управления сервером

Окно управления хабом

Редактирование пользователя

ACL c возможностью симулировать packet loss и jitter

Security Policy для пользователя

Настройка SecureNAT

Настройка L2TP/IPSec

Настройка OpenVPN и SSTP

Проект VPNGate был создан для обхода блокировок со стороны администратора, провайдера или правительства. Вы можете запустить у себя SoftEther-сервер, поставить галочку «использовать vpngate», и пользователи, которым нужен бесплатный VPN, смогут найти ваш сервер в каталоге VPNGate и подключиться к нему, причем они не смогут получить доступ к диапазону приватных адресов вроде 192.168.0.0/16, а только до интернета. Также, SoftEther пишет логи пользователей, которые используют ваш сервер через VPNGate.
Вот, наверное, и все. Буду с нетерпением ждать апреля, который, надеюсь, привнесет поддержку, как минимум, Radius и сертификатов.
На сайте хоть и мало документации по тонкой настройке SoftEther, но очень понятно, подробно и интересно расписано про сети и VPN в общем. Если у вас хорошо с английским и вы хотите узнать побольше про VPN, не поленитесь, почитайте документацию на сайте проекта. Ну, или хотя бы на картинки посмотрите.
SoftEther VPN
Репозиторий на github
То-то и оно. Такое пропустить нельзя.

Uh-oh, что же это за штука?
Скорее всего, вы раньше не слышали об этом проекте. Дело в том, что Daiyu Nobori (登 大遊) начал его разрабатывать, как только пошел в Тсукубский университет, и PPTP не заработал из сети кампуса. В 2003, когда ему было 18 лет, он выпустил первую версию SoftEther, и на него наехало правительство Японии, которое считало, что этот проект можно расценивать чуть ли ни как вредоносное ПО, т.к. оно позволяет обходить файрволлы (OpenVPN в то время еще только появлялся), а также может «навредить имиджу других VPN-продуктов» и запретило распространять программу. Он попытался объясниться, но т.к. из-за этого его могли, возможно, отчислить из университета, сильно он не настаивал и убрал программу из свободного доступа. Проходит некоторое время, и Mitsubishi Materials Corporation предлагает купить у него SoftEther 1.0 и подписать контракт на 10 лет (апрель 2004-апрель 2014), который дает корпорации право на продажу SoftEther и запрещает Daiyu Nobori продавать программу и/или основанные на ней, но в марте 2013 он начинает распространять SoftEther бесплатно, и вот только совсем недавно (4 января 2014) ее удалось открыть под GPLv2. К большому сожалению, сейчас еще пока остаются некоторые проблемы с копирайтом, поэтому в SoftEther до апреля 2014, вероятно, нельзя будет увидеть некоторые важные функции: аутентификация Radius / Active Directory, аутентификация по RSA-ключам, защита от DoS, Source IP ACL, Syslog transfer и Deep-inspect packet logging.
Описание
Чуть более подробно про возможности сервера:
- Множество виртуальных хабов. Т.е. не каждый экземпляр сервера обслуживает только своих клиентов, а все в пределе одного сервера.
- Remote-Access (клиент-к-LAN) и Site-to-Site (объединение двух и более LAN в одну) туннелей.
- Поддержка L2TP/IPsec, OpenVPN, MS-SSTP, L2TPv3, EtherIP и своего протокола
- VPN через ICMP и через DNS (только через свой протокол)
- Dynamic DNS и NAT Traversal через бесплатный релей (да-да, можно поднять VPN сервер с серым IP!)
- Логгирование
- Встроенный firewall
- Поддержка IPv6 в L3-режиме (ну и в L2, конечно, тоже)
- Шейпинг трафика по группам пользователей либо по конкретным пользователям
- SecureNAT (user-space NAT и DHCP-сервер). Удобно на не-серверных Windows
- Поддержка VLAN
- Поддержка QoS с автоматической приоритезацией
По заявлению автора, SoftEther работает быстрее эталонных реализаций.

ПО состоит из сервера, бридж-сервера, клиента, GUI (только Windows) и CUI утилит администрирования. Клиент нужен для подключения одного компьютера к LAN (Remote Access VPN), а бридж-сервер для соединения двух или более сетей (Site-to-Site VPN). К сожалению, CUI пока не очень хорошо задокументирован и запустить сервер только из CUI мне не удалось, пришлось воспользоваться Windows-версией сервера и GUI-утилитой. Нужно заметить, что GUI-утилита умеет работать не только с локальным сервером, т.е. можно запустить сам сервер на Linux, а администрировать его через GUI-утилиту под Windows. В GUI есть только основные настройки, для изменения продвинутых настроек придется лезть в конфиг или использовать CUI.
Вот вам несколько скриншотов GUI, чтобы было представление, что умеет сервер и как все легко настраивается.
Окно управления сервером

Окно управления хабом

Редактирование пользователя

ACL c возможностью симулировать packet loss и jitter

Security Policy для пользователя

Настройка SecureNAT

Настройка L2TP/IPSec

Настройка OpenVPN и SSTP

VPNGate
Проект VPNGate был создан для обхода блокировок со стороны администратора, провайдера или правительства. Вы можете запустить у себя SoftEther-сервер, поставить галочку «использовать vpngate», и пользователи, которым нужен бесплатный VPN, смогут найти ваш сервер в каталоге VPNGate и подключиться к нему, причем они не смогут получить доступ к диапазону приватных адресов вроде 192.168.0.0/16, а только до интернета. Также, SoftEther пишет логи пользователей, которые используют ваш сервер через VPNGate.
Заключение
Вот, наверное, и все. Буду с нетерпением ждать апреля, который, надеюсь, привнесет поддержку, как минимум, Radius и сертификатов.
На сайте хоть и мало документации по тонкой настройке SoftEther, но очень понятно, подробно и интересно расписано про сети и VPN в общем. Если у вас хорошо с английским и вы хотите узнать побольше про VPN, не поленитесь, почитайте документацию на сайте проекта. Ну, или хотя бы на картинки посмотрите.
SoftEther VPN
Репозиторий на github
Comments 45
Only users with full accounts can post comments. Log in, please.