воскресенье, 12 января 2014 г.

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?

То-то и оно. Такое пропустить нельзя.


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, чтобы было представление, что умеет сервер и как все легко настраивается.


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

image


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

image


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

image


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

image


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

image


Настройка SecureNAT

image


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

image


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

image


VPNGate



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



Вот, наверное, и все. Буду с нетерпением ждать апреля, который, надеюсь, привнесет поддержку, как минимум, Radius и сертификатов.

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

SoftEther VPN

Репозиторий на github


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий