Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о 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?
То-то и оно. Такое пропустить нельзя.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/818/8e7/c64/8188e7c648197526d22a0ec431a5d43d.jpg)
Скорее всего, вы раньше не слышали об этом проекте. Дело в том, что 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 работает быстрее эталонных реализаций.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/853/d48/746/853d487466de9007bd455fb0a104e8be.jpg)
ПО состоит из сервера, бридж-сервера, клиента, GUI (только Windows) и CUI утилит администрирования. Клиент нужен для подключения одного компьютера к LAN (Remote Access VPN), а бридж-сервер для соединения двух или более сетей (Site-to-Site VPN). К сожалению, CUI пока не очень хорошо задокументирован и запустить сервер только из CUI мне не удалось, пришлось воспользоваться Windows-версией сервера и GUI-утилитой. Нужно заметить, что GUI-утилита умеет работать не только с локальным сервером, т.е. можно запустить сам сервер на Linux, а администрировать его через GUI-утилиту под Windows. В GUI есть только основные настройки, для изменения продвинутых настроек придется лезть в конфиг или использовать CUI.
Вот вам несколько скриншотов GUI, чтобы было представление, что умеет сервер и как все легко настраивается.
Окно управления сервером
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/99b/ed7/8f3/99bed78f344184ae98fae38068988ccc.png)
Окно управления хабом
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/d0e/225/b35/d0e225b3520107207411888aa4e84281.png)
Редактирование пользователя
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/bb6/bc1/54c/bb6bc154c12001dede41b8dc21676c7e.png)
ACL c возможностью симулировать packet loss и jitter
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/774/797/bf7/774797bf7979e47273402589874131de.png)
Security Policy для пользователя
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/f47/145/648/f471456480a98ea2771ef925d8329524.png)
Настройка SecureNAT
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/c2b/c36/a36/c2bc36a3668b6afbd2ddf4683af79836.png)
Настройка L2TP/IPSec
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/3bc/12c/f49/3bc12cf493889632a7cb42efc0f7ca0b.png)
Настройка OpenVPN и SSTP
![image](https://habrastorage.org/r/w1560/getpro/habr/post_images/ba5/d1a/0de/ba5d1a0def87685398632ef038356af1.png)
Проект VPNGate был создан для обхода блокировок со стороны администратора, провайдера или правительства. Вы можете запустить у себя SoftEther-сервер, поставить галочку «использовать vpngate», и пользователи, которым нужен бесплатный VPN, смогут найти ваш сервер в каталоге VPNGate и подключиться к нему, причем они не смогут получить доступ к диапазону приватных адресов вроде 192.168.0.0/16, а только до интернета. Также, SoftEther пишет логи пользователей, которые используют ваш сервер через VPNGate.
Вот, наверное, и все. Буду с нетерпением ждать апреля, который, надеюсь, привнесет поддержку, как минимум, Radius и сертификатов.
На сайте хоть и мало документации по тонкой настройке SoftEther, но очень понятно, подробно и интересно расписано про сети и VPN в общем. Если у вас хорошо с английским и вы хотите узнать побольше про VPN, не поленитесь, почитайте документацию на сайте проекта. Ну, или хотя бы на картинки посмотрите.
SoftEther VPN
Репозиторий на github
То-то и оно. Такое пропустить нельзя.
![](https://habrastorage.org/getpro/habr/post_images/818/8e7/c64/8188e7c648197526d22a0ec431a5d43d.jpg)
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 работает быстрее эталонных реализаций.
![](https://habrastorage.org/getpro/habr/post_images/853/d48/746/853d487466de9007bd455fb0a104e8be.jpg)
ПО состоит из сервера, бридж-сервера, клиента, GUI (только Windows) и CUI утилит администрирования. Клиент нужен для подключения одного компьютера к LAN (Remote Access VPN), а бридж-сервер для соединения двух или более сетей (Site-to-Site VPN). К сожалению, CUI пока не очень хорошо задокументирован и запустить сервер только из CUI мне не удалось, пришлось воспользоваться Windows-версией сервера и GUI-утилитой. Нужно заметить, что GUI-утилита умеет работать не только с локальным сервером, т.е. можно запустить сам сервер на Linux, а администрировать его через GUI-утилиту под Windows. В GUI есть только основные настройки, для изменения продвинутых настроек придется лезть в конфиг или использовать CUI.
Вот вам несколько скриншотов GUI, чтобы было представление, что умеет сервер и как все легко настраивается.
Окно управления сервером
![image](https://habrastorage.org/getpro/habr/post_images/99b/ed7/8f3/99bed78f344184ae98fae38068988ccc.png)
Окно управления хабом
![image](https://habrastorage.org/getpro/habr/post_images/d0e/225/b35/d0e225b3520107207411888aa4e84281.png)
Редактирование пользователя
![image](https://habrastorage.org/getpro/habr/post_images/bb6/bc1/54c/bb6bc154c12001dede41b8dc21676c7e.png)
ACL c возможностью симулировать packet loss и jitter
![image](https://habrastorage.org/getpro/habr/post_images/774/797/bf7/774797bf7979e47273402589874131de.png)
Security Policy для пользователя
![image](https://habrastorage.org/getpro/habr/post_images/f47/145/648/f471456480a98ea2771ef925d8329524.png)
Настройка SecureNAT
![image](https://habrastorage.org/getpro/habr/post_images/c2b/c36/a36/c2bc36a3668b6afbd2ddf4683af79836.png)
Настройка L2TP/IPSec
![image](https://habrastorage.org/getpro/habr/post_images/3bc/12c/f49/3bc12cf493889632a7cb42efc0f7ca0b.png)
Настройка OpenVPN и SSTP
![image](https://habrastorage.org/getpro/habr/post_images/ba5/d1a/0de/ba5d1a0def87685398632ef038356af1.png)
VPNGate
Проект VPNGate был создан для обхода блокировок со стороны администратора, провайдера или правительства. Вы можете запустить у себя SoftEther-сервер, поставить галочку «использовать vpngate», и пользователи, которым нужен бесплатный VPN, смогут найти ваш сервер в каталоге VPNGate и подключиться к нему, причем они не смогут получить доступ к диапазону приватных адресов вроде 192.168.0.0/16, а только до интернета. Также, SoftEther пишет логи пользователей, которые используют ваш сервер через VPNGate.
Заключение
Вот, наверное, и все. Буду с нетерпением ждать апреля, который, надеюсь, привнесет поддержку, как минимум, Radius и сертификатов.
На сайте хоть и мало документации по тонкой настройке SoftEther, но очень понятно, подробно и интересно расписано про сети и VPN в общем. Если у вас хорошо с английским и вы хотите узнать побольше про VPN, не поленитесь, почитайте документацию на сайте проекта. Ну, или хотя бы на картинки посмотрите.
SoftEther VPN
Репозиторий на github