Как скоро я смогу вас заинтересовать, если скажу, что в этой статье речь пойдет о 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, чтобы было представление, что умеет сервер и как все легко настраивается.Окно управления серверомОкно управления хабомРедактирование пользователяACL c возможностью симулировать packet loss и jitterSecurity 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
Рассмотрим установку и настройку 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. Также можно изменить приоритеты сетевых подключений, подробнее в статье. На этом всё, спасибо за внимание.
Как установить и настроить Softether VPN. Заинтересовались в установке Softether VPN, но не нашли подробной пошаговой инструкции на русском языке? Мы решили исправить данную ситуацию и подготовили статью по установке и настройке Softether VPN!
Как установить и настроить Softether VPN
Прежде чем начать рассказывать о то как поднять vpn — Softether VPN, возможно вы решите попробовать другие варианты личных VPN серверов:
Почему Softether VPN?
Softether VPN имеет ряд преимуществ перед другими скриптами и установщиками VPN на сервер:
- легкая и понятная установка на сервер
- Управление настройками VPN с помощью специальной программы клиента, устанавливаемой на личный компьютер
- тонкая настройка VPN
Создание Softether VPN Server
Сервера предоставляют хостинг провайдеры, поэтому чтобы они знали с кем имеют дело, необходимо вначале зарегистрироваться.
Регистрация у Хостинг провайдера
- Вводим свой Email
- Придумываем и вводим пароль
- Нажимаем кнопку Create an Account
- Зайти на свой электронный почтовый ящик и закончить регистрацию, перейдя по ссылке которая была указана в письме
Регистрация закончена, переходим ко второму этапу, подключение банковской карты
Подключение дебетовой/кредитной карточки
После регистрации вам будет необходимо ввести платежные данные, для этого у вас должна быть дебетовая/кредитная карточка с возможностью оплаты в интернет.
Все данные вводим на английском языке.
Далее переходим к третьему этапу — это выбор и создание сервера.
Создание личного сервера
Теперь о том, как создать личный сервер (на данном сервере вы также можете создать сайт, либо личный облачный диск по типу Yandex Disk или DropBox), провайдер DigitalOcean называет их Droplet.
Нажмите на кнопку Create Droplet, после чего вы попадете на страницу создания конфигураций сервера:
- в разделе Choose an image выберите дистрибутив Ubuntu (рекомендуется 16.04 x64)
- Выбираем тарифный план $5 в месяц или 0,007 центов в час.
- Выбираем расположение сервера, которое в дальнейшем будет эмулировать ваше расположение (если выбрать города США, то IP будет американским). Стоить также отметить, что чем ближе находиться сервер, тем быстрей у вас будут загружаться страницы и файлы.
- В конце нажимаем кнопку CREATE, чтобы создать Droplet (сервер)
Создание будет происходить в течение 2-5 минут. После чего на электронную почту вам придет письмо с IP адресом сервера, логином (обычно root) и паролем.
Вы также можете узнать IP на основной странице управления Droplet.
Переходим к предпоследней части, создание из обычного сервера в VPN. Превращаем наш простой VPS в vpn server ubuntu.
Создание VPN сервера
Подключение
После установки запускаем PuTTY, указываем IP адрес и нажимаем кнопку OPEN
- Далее вам необходимо ввести логин (root)
- Полученный пароль, который сразу вас попросят поменять
ВНИМАНИЕ ПРИ ВВОДЕ ПАРОЛЯ, СТРОКА ОСТАЕТСЯ ПУСТОЙ, КАК БУДТО НИЧЕГО НЕ ВВОДИТЕ
- password — «старый», текущий пароль
- (Curent) UNIX password — повторить еще раз пароль
- Enter new UNIX password — ввести новый пароль
- Retype new Unix password — повторить новый пароль
Настройка сервера Softether VPN
Для начала обновим программное обеспечение сервера Ubuntu:
sudo apt-get update && sudo apt-get upgrade -y
Далее установим программу checkinstall:
sudo apt-get install build-essential
Теперь необходимо скачать Softether VPN на наш VPS сервер DigitialOcean, для этого нам необходимо:
2. Скопировать ссылку на последнюю версию программного обеспечения Softether VPN Server, чтобы ее получить необходимо выставить в меню
- Select Component — Softether VPN Server
- Select Platform — Linux
- Select CPU Intel x64
после чего копируем ссылку на появившийся файл
3. На сервере пишем команду wget и скопированная ссылка для скачивания архива
wget http://www.softether-download.com/files/softether/v-XXXXXXXXXXXX-linux-x64-64bit.tar.gz
Распакуем архив
tar -xzf v-XXXXXXXXXXXX-linux-x64-64bit.tar.gz
Переходим в папку vpnserver полученную из архива
cd vpnserver
Запускаем компиляцию командой
make
Соглашаемся с лицензионным соглашением, после чего начнется компиляция
По окончанию компиляции выходим из папки vpnserver
cd ..
Перемещаем vpnserver в директорию /usr/local/
mv vpnserver/ /usr/local
Назначаем права доступа, что система была надежной и менее подвержена взломам
chmod 600 * /usr/local/vpnserver/ && chmod 700 * /usr/local/vpnserver/vpncmd && chmod 700 * /usr/local/vpnserver/vpnserver
Теперь необходимо Softether VPN добавить в автозапуск при старте сервера или после перезагрузки, для этого скопируйте данные из данного текстового файла и вставьте в терминал
Назначаем права процессу
chmod 755 /etc/init.d/vpnserver
Запускаем процесс vpnerver
update-rc.d vpnserver defaults
/etc/init.d/vpnserver start
Собственно на сервере все работы выполнены, необходимо скачать менеджер Softether VPN на операционную систему, выберите в разделе Select Component «SoftEther VPN Server Manager»
Настраиваем Softether VPN
Запускаем SoftEther VPN Server Manager и создаем новое подключение
Даем любое имя подключению и указываем IP адрес сервера
Если появилось окно брандмауэра, то даем разрешение
Подключаемся к серверу
При первом подключение указываем новый пароль
Ставим галочку напротив «Remote Access VPN Server» и кликаем по кнопке «Next»
В DNS ничего не меняем, закрываем окно
Включаем поддержку устройств, для этого ставим галочку напротив «Enable L2tP Function» (L2TP over IPSec)
Отключаем поддержку сервисов Azure «Disable VPN Azure» и кликаем по кнопке OK
Создаем нового пользователя
Указываем логин и пароль и нажимаем кнопку «OK»
Кликаем по новому подключению
Переходим в VirtualNat
Включаем «EnableSecureNAT» и выходим
Установка соединения
Скачиваем и устанавливаем Softether VPN Client
Запускаем Softether VPN Client и кликаем по «Add VPN Connection» чтобы подтянуть настройки
Еще раз кликаем по «Add VPN Connection» и указываем:
- Любое название подключения
- IP адрес сервера
- Логин и пароль пользователя
и после чего жмем «ОК»
Выбираем подключение VPN и подключаемся к нему!
init_script_for_softether_vpn_server.txt | [Размер файла — 676 Bt] |
Используемые источники:
- https://habr.com/post/208782/
- https://soft-navigator.ru/useful/softether_vpn_server
- https://4pda.biz/android-obshchee/5316-kak-ustanovit-i-nastroit-softether-vpn.html