Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Используемые термины: SoftEther, Linux, VPN.

Установка SoftEther VPN на Linux выполняется из исходников. Мы рассмотрим процесс компиляции и установки программного продукта в командной строке Linux. Инструкция протестирована на Ubuntu и Rocky Linux (CentOS). Настройку сервера мы выполним в графическом интерфейсе Server Manager. В качестве решения VPN будет использоваться OpenVPN.

Предварительная настройка

Перед установкой сервера VPN выполним предварительные настройки.

Установка пакетов, необходимых для установки приложения

Для загрузки, сборки и установки SoftEther нам нужны дополнительные компоненты:

Их может не быть в системе и требуется установка. В зависимости от типа дистрибутива, наши действия будут немного отличаться.

а) Deb (Debian, Ubuntu, Astra Linux):

apt install wget tar make gcc

б) RPM (Rocky Linux, CentOS, Oracle Linux):

yum install wget tar make gcc

Настройка брандмауэра

В нашем примере мы хотим использовать OpenVPN, поэтому нам нужен порт 1194 (если мы захотим его поменять, то подставляем свое значение). Также нам нужно открыть порт 5555 — по нему мы будем подключаться к системе для управления настройками из графического интерфейса.

В зависимости от утилиты управления брандмауэром, наши действия будут отличаться.

а) Iptables (как правило, для Debian/Ubuntu):

iptables -I INPUT -p tcp –dport 1194 -j ACCEPT

iptables -I INPUT -p udp –dport 1194 -j ACCEPT

iptables -I INPUT -p tcp –dport 5555 -j ACCEPT

Для сохранения правил вводим:

б) Firewalld (как правило, для Rocky Linux/CentOS):

firewall-cmd –permanent –add-port=5555/tcp

Загрузка и установка SoftEther VPN

Переходим на страницу загрузки программного обеспечения, выбираем серверный компонент и платформу для установки:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

* в нашем примере установка будет выполняться на Linux 64-bit.

Ниже появятся ссылки для загрузки SoftEther VPN — копируем последнюю RTM:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

На сервере с помощью скопированной ссылки загрузим архив с исходниками:

Создадим каталог, где будут находиться файлы сервера:

Распакуем скачанный архив в созданную папку:

tar zxvf softether-vpnserver-v*.tar.gz -C /opt/vpnserver –strip-components 1

Переходим в распакованную директорию:

Мы должны увидеть что-то на подобие:

This HTML5 page is obviously under construction, and your HTML5 development contribution is very appreciated.

Серверная часть установлена.

Запуск сервера

Для запуска сервера используется команда /opt/vpnserver/vpnserver start. Но нам нужно настроить непрерывную работу системы, поэтому мы будем использовать systemd.

Перечитываем конфигурацию systemd:

Разрешаем автозапуск и стартуем vpnserver:

systemctl enable vpnserver –now

Смотрим, на каких портал слушает сервис:

Другими словами, vpnserver запускается на большом количестве портов.

Сервис работает и можно переходить к его настройке.

Создаем пароль администратора

Для администрирования SoftEther, создаем пароль администратора. Вводим:

Система задаст вопрос, какой сервис нам нужен — выбираем Management of VPN Server or VPN Bridge (номер 1):

1. Management of VPN Server or VPN Bridge 
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3:

На следующие два вопроса просто нажимаем Enter.

Мы окажемся в командной оболочке SoftEther. Вводим:

И дважды задаем пароль, который планируем использовать:

Password: ***********
Confirm input: ***********

The command completed successfully.

Готово — выходим в Linux shell:

Настройка сервера SoftEther

В нашем примере мы будем выполнять настройку сервера с помощью графической консоли, установленной на Windows. Рассмотрим подробнее:

Установка утилиты управления сервером VPN

Снова переходим на страницу загрузки SoftEther, выбираем VPN Server Manager и платформу для установки:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Скачиваем последнюю версию приложения:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

После загрузки файла, запускаем его — откроется мастер установки. Выбираем установку утилиты для администрирования:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

На остальные вопросы просто отвечаем Далее. Установка завершена.

Подключение к серверу и начальная настройка

Запускаем установленную утилиту SE-VPN Server Manager (Tools). Переходим к созданию нового подключения, кликнув по New Settings:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

В следующем окне ставим галочку Remote Access VPN Server (это наиболее встречаемый сценарий работы VPN — клиенты получают доступ к внутренней сети через сервер VPN):


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Подтверждаем наши действия по инициализации настройки:

Даем произвольное название для Virtual Hub Name:

Приложение позволяет зарегистрировать DNS имя для нашего сервера в домене softether.net — оставляем предложенное имя или задаем свое:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Остальные шаги мастера настройки можно пропустить. Начальная настройка завершена.

Создание пользователя

Для аутентификации на сервере VPN при подключении к нему клиентом, создадим пользователя. Для этого нажимаем по Manage Virtual Hub:

Переходим к созданию нового пользователя, нажав New:

Заполняем форму создания новой учетной записи — достаточно ввести имя пользователя и пароль:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

* нам доступно несколько способов аутентификации, но в данной инструкции ограничимся входом по паролю.

Нажимаем по OK для создания пользователя и закрываем окно со списком пользователей (Exit).

Включение SecureNAT

В окне настройки виртуального хаба, кликаем по Virtual NAT and Virtual DHCP Server (SecureNAT):

Кликаем по Enable SecureNAT:

Закрываем окно настройки виртуального хаба.

Наш сервер подготовлен для настройки VPN.

Конфигурирование OpenVPN

SoftEther поддерживаем возможность настройки VPN на базе различных протоколов и технологий. В нашем примере мы сконфигурируем OpenVPN.

Нашу настройку необходимо выполнить на сервере и клиенте. Рассмотрим процесс пошагово.

В окне настройки сервера кликаем по OpenVPN / MS-SSTP Setting:

Проверяем, чтобы стояла галочка Enable OpenVPN Clone Server Function, а также задаем порт, на котором будет слушать наш сервер OpenVPN:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

* порт 1194 является портом по умолчанию для OpenVPN.

Также кликаем по Generate a Simple Configuration File for OpenVPN Clients — появится окно выбора каталога, в котором нужно сохранить конфигурационные файлы. Переносим на компьютер, с которого нужно подключиться к серверу файл server_openvpn_remote_access_l3.ovpn.

Закрываем окно, кликнув OK.

Настройка клиента

Подробнее работа с клиентом OpenVPN рассмотрена в инструкции Настройка OpenVPN клиента. Мы для примера кратко рассмотрим подключение из под компьютера с Windows.

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Запускаем с рабочего стола программу «OpenVPN GUI».

Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.

Некоторые полезные команды

Мы уже немного пользовались утилитой командной строки для управления VPN. Это vpncmd. В данном разделе приведем несколько примеров ее использования.

Для начала, заходим в консоль управления SoftEther с помощью vpncmd:

На первый вопрос отвечаем 1 — управление сервером:

На второй вопрос можно не отвечать, нажав Enter:

Hostname of IP Address of Destination:

На третий вопрос вводим имя нашего хаба (его мы задали при настройке сервера через графическую утилиту):

Specify Virtual Hub Name: VPN_Server

Мы должны увидеть:

Мы подключились для управления сервером.

Управление пользователями

1. Для создания пользователя вводим:

2. Для удаления пользователя:

3. Чтобы сменить пароль пользователю вводим:

Управление сервером

Для смены пароля администратора сервера вводим:

Настройка анонимности

Для обеспечения полной анонимности при использовании VPN-сервера, делаем дополнительные настройки.

1. Необходимо, чтобы время на сервере совпадало с временем на компьютере/телефоне, откуда мы подключаемся к данному серверу.

На стороне сервера необходимо задать часовой пояс, например, если наш прокси находится в Германии, вводим:

timedatectl set-timezone Europe/Berlin

На стороне клиента либо меняем часовой пояс в системе, либо устанавливаем плагин для браузера, например, для Mozilla Firefox и меняем часовой пояс уже в нем.

2. Отключение icmp.

По времени ответа на ping можно определить отдаленноесть клиента от прокси. Чтобы проверку нельзя было выполнить, отключаем на сервере icmp. Для этого создаем файл:

И применяем настройки:

sysctl -p /etc/sysctl.d/icmp.conf

Однако, данный метод сработал не для всех операционных систем на базе DEB. В этом случае есть альтернативный способ — задать блокировку с помощью брандмауэра:

И сохраним настройки:

3. Проверяем анонимность.

Открываем браузер, который работает через прокси и переходим на страницу 2ip.ru/privacy — кликаем по Проверить:

Будет выполнена проверка анонимности нашего сервера.

Другие инструкции по работе с VPN, которые могут оказаться интересными:

1. Как настроить сервер OpenVPN на Windows.

2. Настройка и использование OpenVPN на Ubuntu.

3. Установка и настройка OpenVPN на Linux CentOS 7.

4. Настройка доступа к локальной сети клиентам OpenVPN в Linux.

5. Настройка IPSEC L2TP VPN-сервера на CentOS 7.

Время на прочтение

Как уже писалось на хабре, буквально в начале января сего года под лицензию GPL2 перешел очень интересный и, в своем роде, уникальный проект — SoftEther VPN. Написали его студенты японского University of Tsukuba. Данный продукт позиционирует себя как VPN-сервер с поддержкой огромного количества туннельных протоколов: L2TP, L2TP/IPsec, L2TPv3/IPsec, MS-SSTP, EtherIP/IPsec, OpenVPN, SSL-VPN (собственной разработки), L2VPN, а также такие хитрые штуки как туннелирование через ICMP и DNS. Поддерживает туннелирование как на третьем, так и на втором уровне, умеет VLAN и IPv6. Работает практически на всех известных платформах (даже ARM и MIPS) и к тому же не требует рутовых прав. С полной спецификацией можно ознакомиться вот тут. Если честно, когда я увидел список возможностей этой проги — я просто не поверил своим глазам и подумал: «Если ЭТО работает, то я ДОЛЖЕН это потестить!»
      Эта статья будет описывать процесс установки и настройки SoftEther VPN Server под Линукс. В следующей статье постараюсь нарисовать красивые сравнительные графики производительности.
      Данная софтина обладает на редкость приятным интерфейсом под Винду, однако под Линуксом вся настройка осуществляется через CLI. Мануал безусловно хорош, но мне например показался чересчур подробным, и к тому же с перекосом в сторону графического интерфейса и излишне красочных японских картинок. Поэтому решил выложить основные команды CLI для тех, кому лень лопатить много английских букв.

Прежде чем поставить прогу, рекомендую сходить сюда и узнать, что ей нужно для установки. Мне, например, понадобилось поставить ряд библиотек (потом их можно снести):

# apt-get install libreadline-dev libssl-dev libncurses5-dev zlib1g-dev

Дальнейшая установка не проста, а очень проста, однако хочу обратить внимание, что вместо «make install» я пишу «checkinstall», дабы менеджер пакетов apt знал о новой программулине и мог потом ее корректно удалить (подробнее здесь).

:/>  Как сменить DNS-сервер на Windows, macOS, Android и iOS - Лайфхакер

# git clone github.com/SoftEtherVPN/SoftEtherVPN.git
# cd SoftEtherVPN
# ./configure
# make
# checkinstall

В процессе установщик попросит вас прочитать Лицензионное соглашение, а также указать вашу платформу и разрядность ОС. Кстати, прогу он поставит по-любому в /usr/vpnserver/, а бинарники в /usr/bin/, имейте ввиду. Если путь установки не нравится, это можно руками поменять в makefile’е. В конце установки он скажет:

— Installation completed successfully.

Execute ‘vpnserver start’ to run the SoftEther VPN Server background service.
Execute ‘vpnbridge start’ to run the SoftEther VPN Bridge background service.
Execute ‘vpnclient start’ to run the SoftEther VPN Client background service.
Execute ‘vpncmd’ to run SoftEther VPN Command-Line Utility to configure VPN Server, VPN Bridge or VPN Client.
——————————————————————–

Отсюда можно логически понять, как это волшебство запускается и останавливается. Можно оставить и так, а можно взять с офф. сайта простенький init-скрипт, который будет более привычным нам способом делать то же самое.

Итак, VPN-сервер установлен и его можно запустить:

# vpnserver start
SoftEther VPN Server Service Started.

Приступаем к конфигурированию. Вообще, мануал предлагает нам два способа это сделать: через его собственную командную строку vpncmd или через конфигурационный файл vpn_server.config, причем огромное предпочтение отдается первому способу. Операции с конфигурационным файлом производитель считает рискованным занятием и всячески пытается нас от этого отговорить. Дело в том, что сервер непрерывно читает этот файл и любые изменения в нем мгновенно отражаются на работе сервера. Единственный случай, когда настройка из конфиг-файла оправдана — это когда VPN-сервер выключен. Не знаю, зачем так сделано, но автору, в любом случае, виднее. Да и вообще, у проги хорошая CLI, после работы с которой о существовании конфиг-файла просто забываешь за ненадобностью.

Кстати, сразу после установки обратил внимание, что прога зачем-то стукнулась по адресу 130.158.6.77:80. Оказалось в этом нет ничего подозрительного, просто таким образом сервер посылает keepalive-пакеты на свой сайт (keepalive.softether.org:80), чтобы не рвались по таймауту разные PPP-сессии. Сразу после установки я эту функцию отключил командой KeepDisable.

Итак, сразу после запуска VPN-сервер уже работает и принимает подключения на порты TCP 443 (SSL VPN), 992, 1194 (OpenVPN) и 5555 (номера портов можно поменять командами ListenerCreate и ListenerDelete), однако чтобы начать использовать его необходимо сделать ряд простых настроек. Заходим в CLI командой vpncmd:

1. Management of VPN Server or VPN Bridge
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Выбор 1 перенесет нас в режим редактирования сервера, выбор 2 — в режим редактирования свойств клиента, а выбор 3 — режим тестирования и создания сертификатов сервера. Выбираем 1, сервер предложит ввести айпи адрес сервера, к которому мы хотим подключиться (Hostname of IP Address of Destination:), просто нажимаем Enter, т.к. собираемся редактировать локальный сервер. В третий и последний раз прога спросит нас имя виртуального хаба (Specify Virtual Hub Name:), с которым мы будем работать. Мы пока что не собираемся работать с виртуальными хабами, поэтому снова нажимаем Enter и попадаем в командную строку самого сервера.

Необходимо пояснить, что такое виртуальные хабы в терминологии разработчика. Виртуальный хаб — это некая довольно самостоятельная инстанция VPN-сервера, обладающая собственным набором настроек виртуальных интерфейсов, политик безопасности и протоколов VPN. Всего можно создать до 4096 виртуальных хабов, при этом они никак не будут пересекаться друг с другом ни на 2-ом, ни на 3-ем уровне — то есть будут полностью изолированы друг от друга. Каждый виртуальный хаб работает со своим набором пользователей и ничего не знает про пользователей другого виртуального хаба, хоть они и находятся на одном физическом сервере. С другой стороны, если мы захотим, мы можем настроить их взаимодействие друг с другом, в терминологии автора это называется Virtual bridge/router. Таким образом, виртуальный хаб — это и есть то, с чем мы будем работать после указания определенных глобальных настроек сервера.

После входа в vpncmd перед нами возникнет приглашение:

Connection has been established with VPN Server “localhost” (port 443).

Можно задать админский пароль для нового хаба, тогда можно будет делегировать администрирование этого хаба другому человеку. А можно для простоты нажать Enter и не делать этого (для этого в дальнейшем есть команда SetHubPassword). После создания хаба мы должны перейти в режим администрирования этого хаба командой Hub vpn. Посмотреть статус хаба можно командой StatusGet. Не буду приводить здесь вывод этой команды, т.к. он длинный и довольно понятный. Хаб можно выключить командой Offline и вернуть обратно командой Online.

Мне понравилась команда SetEnumDeny. Дело в том, что когда в VPN-клиенте вводишь адрес VPN-сервера, он сразу же сдает тебе имена всех виртуальных хабов, зарегенных на сервере, как на картинке. Эта команда запрещает выводить имя данного хаба в списке. Типа небольшой, но бонус к безопасности.


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Допустим, наша задача более широка, и мы хотим использовать VPN-сервер для доступа в корпоративную сеть. Для этого нам понадобиться настроить NAT. Делается это довольно просто командой SecureNATEnable. Автоматом вместе с NAT включается и DHCP.

По умолчанию никакая фильтрация пакетов не применяется, т.е. впн-клиенты могут неограниченно ходить в корпоративную подсеть и пользоваться корпоративным Интернетом, если таковой имеется. При желании можно добавить правила файрволла командой AccessAdd. В качестве критериев файрволла можно указать имя пользователя, MAC и IP адреса источника и назначения, порты, протоколы и флаги TCP. И самое главное, что это работает, я проверял! Учтите еще, что правила фильтрации разных виртуальных хабов никак не влияют друг на друга, что позволяет гибко управлять доступом к корпоративной среде.

В качестве приятного бонуса доступен Dynamic DNS от softether.net. Свой VPN-сервер можно зарегить в DDNS командой DynamicDnsSetHostname, после чего нужно ввести желаемое имя домена 3-го уровня. Получится что-то вроде myvpn.softether.net. Согласитесь, мелочь, а приятно и притом совершенно бесплатно!

Сгенерировать конфиг-файл для OpenVPN можно командой OpenVpnMakeConfig, после чего указать местоположение, куда сохранить сгенереный файл. Этот файл можно тут же скормить OpenVPN клиенту и коннект пойдет. Файл предоставляется сразу в двух вариантах — Layer2VPN и Layer3VPN, то бишь VPN-сервер как свич, и VPN-сервер как роутер. И то, и другое прекрасно работает. Удобно!

Настройка L2TP/IPsec оказалась вообще тривиальной: на сервере после команды IPsecEnable ничего менять уже не надо, а в настройках например виндового встроенного VPN-клиента нужно указать протокол «L2TP IPsec VPN», в дополнительных параметрах указать предварительный ключ (PSK), который мы уже устанавливали, ну и, само собой, ввести учетные данные в формате, о котором я упоминал выше.
      Аналогичным образом все настраивается на Андроиде. Было проверено на 4.2.1, все работает с использованием только стандартных инструментов.

Вывод: SoftEtherVPN — очень мощное и, самое главное, удобное средство построения VPN-туннелей. Конечно, я протестировал далеко не все возможности, но в большинстве случаев хватает и тех, что я написал. В ближайшем будущем постараюсь выложить сравнительные тесты производительности, а также тесты таких смешных штук как VPN over ICMP и DNS. С протоколами SSL VPN и MS SSTP пока связываться не хочу, т.к. неохота возиться с сертификатами, к тому же надо еще посмотреть на такие фичи проги, как Load Balancing aka кластеризация, отказоустойчивость, авторизация из RADIUS и AD и Layer2 VPN, включая VLAN-транкинг!

Так что, мне кажется, софтина стоит, как минимум, того, чтобы приглядеться к ней повнимательнее. Производитель позиционирует свой продукт, как во всем превосходящий OpenVPN, даже обещает throughput под гигабит. В общем, надо тестить! На данном этапе мне эта штукенция очень даже нравится.

Ранее мы рассмотрели, как построить собственную VPN сеть на основе решения OpenVPN (1 2 3 4). Это очень хорошее решение, но есть ряд общих недостатков для конечного пользователя:

– относительно сложные установка и настройка;

– обязательное наличие на сервере TUN/TAP;

– трафик OpenVPN легко детектируется всякими Роскомнадзорами.

При этом OpenVPN является безусловным лидером с подтвержденной криптоустойчивостью. И если у вас нет необходимости маскировать VPN трафик под «обычный», то пользуйтесь OpenVPN.

А теперь отличная новость для тех кто в России/Украине/Казахстане/Китае и других странах, с контролем сети интернет на государственном уровне.

Встречайте решение от наших японских товарищей: SoftEther VPN.

SoftEther VPN — это мощный мультипротокольный VPN-сервер под лицензией CPLv2 (т.е. совершенно свободный к распространению и использованию).

Решение обладает огромным спектром возможностей:

– собственный протокол SSL-VPN, который не отличим от HTTPS траффика. При этом он может работать не только по TCP, но и по UDP, и, даже, ICMP.

– Поддерживает большинство существующих протоколов VPN: L2TP/IPsec, MS-SSTP, OpenVPN, L2TPv3 и EtherIP, причем для L2TP указана строгая совместимость со встроенными клиентами в iOS и Android. Т.е. к серверу SoftEther VPN вы можете подключить клиента OpenVPN или подключиться с использованием встроенных VPN-механизмов Windows. Причем одновременно.

– Сервер может быть установлен на Windows, Linux, OS X, FreeBSD и Solaris.

– И теоретически и практически работает быстрее OpenVPN.

– Имеет GUI через который можно управлять несколькими серверами.

– Ему не нужно TUN/TAP.

– Имеет встроенный NAT и DHCP. Не нужно настраивать iptables.

Нужно понимать, что хотя SoftEther VPN достаточно стабильное и надежное решение, но оно всё еще в стадии beta. А значит, теоретически, в его работе возможны неожиданные ошибки.

Хватит читать, нужно пробовать. Арендуем себе дешёвенький VPS, выполним его предварительную настройку. Исходим из того, что вы подключились к серверу по SSH через putty и WinCSP.

:/>  Языковая панель Windows 7. Восстановление языковой панели

Идём на страницу загрузки SoftEther VPN и выбираем нужный дистрибутив.


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Получив ссылку на нужный дистрибутив, переходим к консоли

Также нам понадобиться некоторой набор инструментов:

yum -y groupinstall “Development Tools”yum -y install gcc zlib-devel openssl-devel readline-devel ncurses-develyum -y install system-config-network-tui system-config-firewall-tuiyum -y install policycoreutils-pythonyum -y install net-tools

Переведем SELinux в разрешающий (permissive) режим:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Если она там есть, то используя кнопку TAB дл перемещения и пробел для «нажатия» убираем её. Затем переходим на кнопку ОК и нажимаем её. Если звёздочки нет, то сразу на ОК. В появившейся форме


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Создадим папку для нашего сервера:

Теперь распакуем скачанный ранее архив с VPN-сервером, установим права на папку и перейдём в неё:

tar xzvf 64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz -C /etc/sevpn/chmod -R 744 /etc/sevpncd /etc/sevpn/vpnserver

Скомпилируем наш сервер:

На все вопросы о лицензионных соглашениях вводим 1 и жмём Enter.

Сделаем скрипт запуска. Для этого в папке /etc/rc.d/init.d создадим файл sevpnserver со следующим содержимым:

По традиции пикабу не позволяет выкладывать скрипты и конфиги в нормальном структурированном виде. Работать будет и так, за красотой идём сюда.

И установим ему права 0755

Создадим папку /var/lock/vpnserver

Проверим работу сервера.

В появившемся запросе введём 3 и нажмём Enter.

Далее введём команду

Будет выполнено шесть тестов и в ответ на каждый мы должны получить Pass


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Отлично. Выходим из VPN Tools командой

Запустим наш сервер

Вводим 1, а потом два раза жмём Enter. Появится приглашение:

И вводим два раза пароль. Это административный пароль сервера. Он открывает доступ ко всем настройкам и управлению. Пароль должен быть стойким к перебору: не менее 10 символов, верхний и нижний регистр, цифры, спецсимволы.

Теперь установим на свой компьютер консоль управления для настройки сервера. Опять идём на страницу проекта и выбираем


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Скачиваем Server Manager по получившейся ссылке и запускаем установку.


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Затем всё время «Далее» и «Готово». В появившемся окне


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Жмём Connect и вводим административный пароль VPN сервера. Если пароль введен правильно, консоль подключится и запросит первоначальную конфигурацию. Выбираем как на скриншоте:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Придумываем имя виртуальному хабу


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Выберем протокол и придумаем PSK ключ (т.е. еще один стойкий пароль). Этот ключ, по сути, секретная фраза необходимая для первоначального соединения между клиентом и сервером VPN. SoftEther не рекомендует делать его больше 9 символов, так это вроде вызывает баги в Android.


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

И откажемся от VPN Azure


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

На следующем шаге создадим нового пользователя


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Заполняем необходимые поля. Поля Organization, Country, State, Locale заполняем любыми значениями. Длительность действия сертификата рекомендую ставить 365 дней (но тут уж как сами захотите), длину ключа 4096 бит.


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Жмём ОК и выбираем формат и место сохранения ключей. Также вы можете указать пароль для сертификата (обведено зелёным). Тогда при каждом подключении клиента к серверу нужно будет вводить пароль. Так, несомненно, лучше, но не очень удобно. Выбирать вам. Я всегда рекомендую делать сертификаты с паролями для тех устройств, которые вы не можете полностью контролировать (рабочий компьютер) или которые можно легко потерять, т.е. носимые устройства (ноутбук, смартфон).


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Нажимаем ОК и указываем имя файла сертификатов (будут сформированы открытый и закрытый сертификаты) и куда сохранить . В окне создания пользователя жмём ОК.

В окне VPN Easy Setup Tasks жмём Close.

Теперь выбираем наш хаб и жмём Manage Virtual Hub

Зайдем в настройки NAT


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Проверяем, что SecureNAT выключен (обведённая зелёным кнопка не активна) и жмём SecureNAT Configuration


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Настраиваем как на скриншоте и жмём OK и Exit

Теперь настроим Local Bridge (мост, по которому VPN будет общаться с внешним миром).


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Если появится предупреждение о недоступности физического LAN адаптера, просто жмём OK


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

И жмём Exit

Проверим, что наш виртуальный интерфейс действительно создался. В консоли putty выполним команду

Должны получить примерно такой вывод

yum -y install dnsmasq

Создадим файл /etc/dnsmasq.conf со следующим содержимым

IP адреса вписываете те, которые мы запомнили из настроек SecureNAT (см. выше). Сохраняем и закрываем файл.

Лимит на картинки кончился. Потому конец первой части. Часть вторая.

Введение

В этой статье объясняется, как установить и настроить многопротокольный VPN-сервер с помощью пакета SoftEther. Мы включаем и настраиваем OpenVPN и L2TP через серверы IPSec и SSTP VPN в Linux.

Что такое софтэфир

SoftEther VPN — одно из самых мощных и простых в использовании многопротокольных VPN-приложений, созданное хорошими ребятами из Университета Цукуба, Япония. Он работает на Windows, Linux, Mac, FreeBSD и Solaris, является бесплатным и открытым исходным кодом. Вы можете бесплатно использовать SoftEther в личных или коммерческих целях.

Создайте виртуальный сервер

Во-первых, вам нужно создать дроплет DigitalOcean. Как упоминалось на веб-сайте SoftEther, SoftEther будет работать практически со всеми дистрибутивами Linux с ядром версии 2.4 или выше; однако рекомендуется выбрать один из следующих дистрибутивов: CentOS, Fedora или Red Hat Enterprise Linux.

Лично я пробовал его на Ubuntu, CentOS и Fedora, как на 32-х, так и на 64-битных версиях, и он работал отлично.

Обновите серверное программное обеспечение

Используя приведенную ниже команду, обновите и обновите пакеты серверного программного обеспечения до последней версии:

apt-get update && apt-get upgrade

Скачайте SoftEther

Вы можете загрузить последний пакет сервера SoftEther для Linux с их веб-сайта:

К сожалению, на данный момент нет возможности получить последнюю версию через менеджеры пакетов (или даже с помощью одного URL-адреса). Поэтому вам нужно просмотреть их веб-сайт с помощью настольного браузера, чтобы загрузить пакет. Есть несколько способов справиться с этим: сначала просмотрите их веб-сайт на своем компьютере, а затем, в зависимости от конфигурации вашего сервера (ОС, x86/x64 и т. д.), найдите ссылку на соответствующий пакет, а затем используйте wget для загрузки. пакет на свой сервер. В качестве альтернативы вы можете использовать веб-браузер на базе терминала, такой как lynx, для просмотра веб-сайта SoftEther и загрузки нужного пакета.

Вот как это сделать с помощью lynx

Сначала установите lynx на свой сервер:

apt-get install lynx -y

yum install lynx -y

Теперь с помощью приведенной ниже команды просмотрите веб-страницу загрузки SoftEther:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

Эта страница содержит все доступные версии SoftEther. Выберите нужную версию (в этом руководстве мы используем v2.00-9387-rtm-2013.09.16), а затем нажмите Enter, чтобы перейти по ссылке. Теперь выберите Linux и на следующей странице выберите SoftEther VPN Server. В зависимости от аппаратной архитектуры вашего сервера выберите пакет; 32-битные — Intel x86 и 64-битные — Intel x64 или AMD64 работают для 32-битных или 64-битных дроплетов DigitalOcean. Наконец, загрузите tar-файл со следующей страницы, нажав клавишу «D» на ссылке, и выберите «Сохранить на диск», когда Lynx спросит. После сохранения файла мы можем нажать «Q», чтобы выйти из Lynx и продолжить установку.

Установите и настройте SoftEther

Теперь нам нужно извлечь пакет, который мы получили со страницы загрузки SoftEther, и скомпилировать его. Пакет, используемый в этом руководстве, называется softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz, поэтому мы извлечем его с помощью следующей команды:

tar xzvf softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz

После его распаковки в рабочей папке будет создан каталог с именем vpnserver. Для компиляции SoftEther на вашем сервере должны быть установлены следующие инструменты и пакеты:

make, gccbinutils (gcc), libc (glibc), zlib, openssl, readline и ncurses

Убедитесь, что они установлены. Вы можете установить все пакеты, необходимые для сборки SoftEther, используя следующую команду:

apt-get install build-essential -y

yum groupinstall “Development Tools”

Примечание. В Fedora я обнаружил, что пакет gcc не устанавливается с помощью приведенной выше команды, поэтому вам нужно установить его вручную с помощью yum install gcc.

Теперь, когда у нас установлены все необходимые пакеты, мы можем скомпилировать SoftEther с помощью следующей команды:

Сначала cd в директорию vpnserver:

А теперь запустите make, чтобы скомпилировать SoftEther в исполняемый файл:


Настройка VPN-сервера debian softether и анонимность в Интернете своими руками. Установка и настройка SoftEther VPN-сервера (часть 1)⁠⁠

SoftEther попросит вас прочитать и согласиться с лицензионным соглашением. Выберите 1, чтобы прочитать соглашение, еще раз, чтобы подтвердить прочтение, и, наконец, согласиться с лицензионным соглашением.

SoftEther теперь скомпилирован и преобразован в исполняемые файлы (vpnserver и vpncmd). Если процесс завершается сбоем, проверьте, установлены ли все необходимые пакеты.

Теперь, когда SoftEther скомпилирован, мы можем переместить каталог vpnserver в другое место, здесь мы перемещаем его в usr/local:

cd .
mv vpnserver /usr/local
cd /usr/local/vpnserver/

А затем измените права доступа к файлам, чтобы защитить их:

chmod 600 *
chmod 700 vpnserver
chmod 700 vpncmd

Если вы хотите, чтобы SoftEther запускался как служба при запуске, создайте файл с именем vpnserver в каталоге /etc/init.d и измените его на следующее:

Сначала создайте и откройте файл с помощью vi или nano:

И вставьте в файл следующее:

Наконец, сохраните и закройте файл, нажав esc и набрав: wq, чтобы закрыть vim.

Мы должны создать каталог в /var/lock/subsys, если он не существует:

Теперь измените разрешение для сценария запуска и запустите vpnserver с помощью команды ниже:

chmod 755 /etc/init.d/vpnserver && /etc/init.d/vpnserver start

Используйте приведенную ниже команду, чтобы она запускалась при запуске:

update-rc.d vpnserver defaults

chkconfig –add vpnserver

Теперь SoftEther VPN Server установлен и настроен для запуска при запуске. Наконец, мы должны проверить, работает ли VPN-сервер:

Теперь нажмите 3, чтобы выбрать «Использовать инструменты VPN», а затем введите:

Существует два способа настройки SoftEther VPN-сервера: вы можете использовать диспетчер серверов на базе Windows для удаленного управления и настройки любого количества SoftEther VPN-серверов; или используйте встроенный инструмент vpncmd для настройки ваших серверов.

Вы можете загрузить SoftEther Server Manager для Windows с их веб-сайта и выполнить настройку с помощью графического интерфейса, который он предоставляет, что является предпочтительным способом, если вы являетесь пользователем Windows.

:/>  Русские буквы отображаются кракозябрами

Здесь мы используем vpncmd для настройки нашего VPN-сервера.

Изменить пароль администратора

Теперь, когда у вас установлен VPN-сервер SoftEther, вам необходимо назначить пароль администратора для использования с SoftEther. Вы можете сделать это с помощью vpncmd, который является инструментом администрирования SoftEther на основе командной строки:

Нажмите 1, чтобы выбрать «Управление VPN-сервером или VPN-мостом», затем нажмите Enter, не вводя ничего, чтобы подключиться к серверу localhost, и снова нажмите Enter, ничего не вводя, чтобы подключиться к серверу в режиме администратора сервера.

Затем используйте команду ниже, чтобы изменить пароль администратора:

Создайте виртуальный концентратор

Чтобы использовать SoftEther, мы должны сначала создать виртуальный концентратор. Здесь в качестве примера мы создаем концентратор с именем VPN, чтобы сделать это, введите команду ниже в инструменте vpncmd:

Далее вам будет предложено ввести пароль администратора для хаба. Этот пароль будет использоваться всякий раз, когда вы не вошли в систему в режиме администратора сервера и хотите управлять этим конкретным хабом.

Теперь выберите виртуальный концентратор, который вы создали с помощью этой команды:

Шаг 7. Включите SecureNAT

Существует два способа подключения ваших концентраторов к серверной сети: с помощью подключения через локальный мост или с помощью функции SecureNAT.

Вы можете использовать каждый из них по отдельности, но использование этих двух вместе вызовет проблемы.

Здесь мы используем SecureNAT, который очень прост в настройке и хорошо работает в большинстве ситуаций. Вы также можете использовать локальный мост, но тогда вам также необходимо установить и настроить DHCP-сервер.

SecureNAT представляет собой комбинацию виртуального NAT и функции DHCP-сервера. Вы можете включить SecureNAT с помощью команды ниже:

Шаг 8. Создание пользователей и управление ими

Тип аутентификации по умолчанию — пароль, но мы можем изменить его на другой тип, используя команды ниже:

В этом руководстве мы используем пароль в качестве режима аутентификации для нашего тестового пользователя, поэтому с помощью этой команды установите пароль для тестового пользователя:

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

Чтобы включить сервер L2TP/IPsec VPN, вы можете использовать следующую команду:

После ввода этой команды вам будет предложено настроить функции L2TP-сервера:

Включить функцию сервера L2TP через IPsec: выберите «Да», чтобы включить L2TP VPN через IPSec с шифрованием с предварительным общим ключом. Теперь вы можете устанавливать VPN-подключения к этому серверу с помощью устройств iPhone, Android, Windows и Mac OS X.

Включить функцию Raw L2TP Server: это включит L2TP VPN для клиентов без шифрования IPSec.

Включить функцию сервера EtherIP/L2TPv3 через IPsec: Маршрутизаторы, совместимые с EtherIP/L2TPv3 через IPsec, могут подключаться к этому серверу, включив эту функцию.

Предварительный общий ключ для IPsec: введите предварительный общий ключ для использования с L2TP VPN.

Настройте SSTP/OpenVPN

SoftEther может клонировать функции Microsoft SSTP VPN Server и OpenVPN Server. Но прежде чем мы включим их, мы должны создать самозаверяющий сертификат SSL для нашего сервера. Вы можете использовать команду openssl или SoftEther для создания SSL-сертификата.

Примечание 1: SoftEther также поставляется со встроенной функцией динамического DNS, которая может назначить уникальное и постоянное имя хоста для вашего сервера. Вы можете использовать имя хоста, назначенное этой функцией, для создания SSL-сертификата и подключения к вашему серверу.

Примечание 2. Если у вас уже есть сертификат SSL или вы создали его с помощью openssl, его можно добавить на сервер с помощью команды ServerCertSet.

Теперь, когда мы создали сертификат, мы должны загрузить сертификат нашим клиентам и добавить их в качестве доверенных. С помощью приведенной ниже команды мы сохраняем сертификат сервера в файл с именем cert.cer:

Теперь вы можете загрузить сертификат в свой клиент с помощью FileZilla или любого другого SFTP-клиента.

Чтобы сделать сертификат доверенным в Windows, его необходимо установить в хранилище доверенных корневых центров сертификации. Вот статья, объясняющая, как это сделать (прочитайте часть Установка цепочки сертификатов):

Теперь, когда мы создали и зарегистрировали SSL-сертификат для нашего сервера, мы можем включить функцию SSTP с помощью этой команды:

И чтобы включить OpenVPN:

OpenVpnEnable yes /PORTS:1194

Примечание. Порт OpenVPN по умолчанию — 1194, но вы можете изменить его на любой другой, изменив часть команды /PORTS:1194 на нужный порт или порты (да, он поддерживает несколько портов).

После включения OpenVPN вы можете загрузить пример файла конфигурации для клиента OpenVPN. Здесь мы создаем образец файла конфигурации OpenVPN и сохраняем его в my_openvpn_config.zip:

Затем вы можете загрузить его с помощью любого SFTP-клиента, такого как FileZilla, и применить его к своим клиентам OpenVPN.

SoftEther также предоставляет специальное программное обеспечение VPN-клиента для Windows и Linux. Он поддерживает специальный протокол SoftEther, называемый Ethernet через HTTPS или SSL-VPN, который является очень мощным. Он использует протокол HTTPS и порт 443 для установления VPN-туннеля, и, поскольку этот порт хорошо известен, почти все брандмауэры, прокси-серверы и NAT могут передавать пакет. Чтобы использовать протокол SSL-VPN, вы должны загрузить и установить SoftEther VPN Client, который можно получить на их веб-сайте.

Подключение к SoftEther VPN-серверу (конфигурация клиента)

Поскольку SoftEther — это многопротокольный VPN-сервер, существует множество способов подключиться к нему в качестве клиента. Вы можете выбрать любой протокол для установки безопасного соединения с вашим сервером, включая L2TP, SSTP, OpenVPN и эксклюзивный для SoftEther протокол SSL-VPN.

В зависимости от клиентской операционной системы и конфигурации вы можете использовать любой из упомянутых протоколов. Тем не менее, я предпочитаю использовать SSL-VPN, так как он и безопасен, и быстр, а также, как упоминалось ранее, поскольку он использует общий и хорошо известный порт (443 или https-порт), он может проникнуть через большинство брандмауэров.

Здесь мы используем собственное программное обеспечение VPN-клиента SoftEther для подключения к нашему серверу:

Сначала загрузите VPN-клиент SoftEther для Linux с веб-сайта SoftEther. Мы можем загрузить его с помощью браузера lynx. Введите эту команду, чтобы открыть страницу загрузки SoftEther:

Затем, как и при загрузке программного обеспечения сервера, выберите последнюю версию (здесь мы использовали v2.00-9387-rtm-2013.09.16). Теперь выберите Linux и на следующей странице выберите SoftEther VPN Client. Теперь, в зависимости от аппаратной архитектуры вашей системы, выберите пакет (32-битный — Intel x86 и 64-битный — Intel x64 или AMD64 работает для 32-битных или 64-битных дроплетов DigitalOcean). Наконец, загрузите tar-файл со следующей страницы, нажав клавишу «D» на ссылке, и выберите «Сохранить на диск», когда Lynx спросит. После сохранения файла нажмите «Q», чтобы выйти из Lynx.

Извлеките только что загруженный tar-файл с помощью этой команды:

tar xzvf softether-vpnclient-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz

Примечание. Замените softether-vpnclient-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz на имя загруженного файла.

Теперь, как и в случае с сервером, нам нужно скомпилировать и сделать vpnclient исполняемым файлом, выполнив следующие команды (убедитесь, что на клиенте установлены инструменты разработки, упомянутые в шаге 4):

Введите 1 три раза, когда вас попросят прочитать и принять Лицензионное соглашение, а затем переместите файлы в другой каталог и измените разрешения:

cd .
mv vpnclient /usr/local
cd /usr/local/vpnclient/
chmod 600 *
chmod 700 vpnclient
chmod 700 vpncmd

Затем запустите службу VPN-клиента с помощью этой команды:

Для настройки нашего клиента мы будем использовать vpncmd. Пока вы находитесь в каталоге vpnclient, введите эту команду, чтобы запустить инструмент vpncmd:

SoftEther использует виртуальные адаптеры для установления соединения с нашим VPN-сервером. С помощью этой команды создайте виртуальный адаптер с именем myadapter:

Теперь с помощью этой команды создайте новое VPN-подключение с именем myconnection:

Теперь введите имя виртуального концентратора, к которому вы пытаетесь подключиться на своем сервере. В нашем случае это VPN:

Destination Virtual Hub Name: VPN

Затем введите имя пользователя, которого вы создали на своем сервере. Мы создали пользователя с именем test:

И, наконец, введите имя только что созданного виртуального концентратора:

Used Virtual Network Adapter Name: myadapter

Теперь наше VPN-соединение создано и готово к подключению. Последний шаг — изменить режим аутентификации на пароль, поскольку именно так мы настроили режим аутентификации нашего пользователя на сервере:

При появлении запроса введите стандартный метод аутентификации пароля:

Specify standard or radius: standard

Наконец, мы можем подключить наше соединение — используйте эту команду для этого:

Вы можете увидеть статус подключения с помощью этой команды:

Примечание. Чтобы сделать ваше подключение к серверу более безопасным и предотвратить атаки «человек посередине», лучше всего использовать SSL-сертификат для идентификации вашего сервера. Это можно легко сделать с помощью SoftEther. Для этого сначала вы должны загрузить файл сертификата на свой клиент, как описано в шаге 10, а затем с помощью CertAdd добавить его в доверенные сертификаты вашего клиента. Затем с помощью команды AccountServerCertEnable включите проверку сертификата для вашего VPN-подключения.

Заканчивать

В этой статье мы рассмотрели процесс настройки SoftEther VPN-сервера с помощью vpncmd — утилиты администрирования командной строки, предоставляемой SoftEther. Все, что здесь сделано, также можно сделать с помощью SoftEther Server Manager для Windows, и настроить SoftEther VPN Server с помощью этого инструмента еще проще. Поэтому я рекомендовал вам использовать его, если у вас есть машина с Windows.

Вот и все. Мы успешно установили и настроили многопротокольный VPN-сервер с использованием SoftEther. Теперь клиенты могут подключаться к нашему серверу по L2TP, IPSec, SSTP, OpenVPN и т.д.

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