- Установка и настройка SoftEther VPN на Linux
- Предварительная настройка
- 1. Установка пакетов, необходимых для установки приложения
- 2. Настройка брандмауэра
- Загрузка и установка SoftEther VPN
- Запуск сервера
- Создаем пароль администратора
- Настройка сервера SoftEther
- Установка утилиты управления сервером VPN
- Подключение к серверу и начальная настройка
- Создание пользователя
- Включение SecureNAT
- Конфигурирование OpenVPN
- Настройка сервера
- Настройка клиента
- Некоторые полезные команды
- Подключение
- Управление пользователями
- Управление сервером
- Настройка анонимности
- Читайте также
Установка и настройка SoftEther VPN на Linux
Обновлено: 25.08.2022 Опубликовано: 15.05.2022
Используемые термины: SoftEther, Linux, VPN. Установка SoftEther VPN на Linux выполняется из исходников. Мы рассмотрим процесс компиляции и установки программного продукта в командной строке Linux. Инструкция протестирована на Ubuntu и Rocky Linux (CentOS). Настройку сервера мы выполним в графическом интерфейсе Server Manager. В качестве решения VPN будет использоваться OpenVPN.
Предварительная настройка
1. Установка пакетов, необходимых для установки приложения
- wget — для загрузки исходников.
- tar — для распаковки архивов.
- make — компиляция приложения из исходников.
- gcc — набор компиляторов для разных языков программирования.
Их может не быть в системе и требуется установка. В зависимости от типа дистрибутива, наши действия будут немного отличаться.
а) Deb (Debian, Ubuntu, Astra Linux):
apt install wget tar make gcc
б) RPM (Rocky Linux, CentOS, Oracle Linux):
yum install wget tar make gcc
2. Настройка брандмауэра
В нашем примере мы хотим использовать 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
Для сохранения правил вводим:
apt install iptables-persistent
б) Firewalld (как правило, для Rocky Linux/CentOS):
firewall-cmd —permanent —add-port=1194/
firewall-cmd —permanent —add-port=5555/tcp
Для сохранения правил вводим:
Загрузка и установка SoftEther VPN
Переходим на страницу загрузки программного обеспечения, выбираем серверный компонент и платформу для установки:
* в нашем примере установка будет выполняться на Linux 64-bit.
Ниже появятся ссылки для загрузки SoftEther VPN — копируем последнюю RTM:
На сервере с помощью скопированной ссылки загрузим архив с исходниками:
Создадим каталог, где будут находиться файлы сервера:
Распакуем скачанный архив в созданную папку:
tar zxvf softether-vpnserver-v*.tar.gz -C /opt/vpnserver —strip-components 1
Переходим в распакованную директорию:
Мы должны увидеть что-то на подобие:
After you start the server daemon, you can open the HTML5 Web Administration Console is available at
https://127.0.0.1:5555/
or
https://ip_address_of_the_vpn_server:5555/
This HTML5 page is obviously under construction, and your HTML5 development contribution is very appreciated.
Серверная часть установлена.
Запуск сервера
Для запуска сервера используется команда /opt/vpnserver/vpnserver start. Но нам нужно настроить непрерывную работу системы, поэтому мы будем использовать systemd.
[Unit]
Description=SoftEther VPN Server
After=network.target
[Service]
Type=forking
ExecStart=/opt/vpnserver/vpnserver start
ExecStop=/opt/vpnserver/vpnserver stop
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
Перечитываем конфигурацию systemd:
Разрешаем автозапуск и стартуем vpnserver:
systemctl enable vpnserver —now
systemctl status vpnserver
Смотрим, на каких портал слушает сервис:
Мы должны увидеть что-то на подобие:
udp UNCONN 0 0 0.0.0.0:49032 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=5),(«vpnserver»,pid=15458,fd=5))
udp UNCONN 0 0 0.0.0.0:58441 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=11))
udp UNCONN 0 0 127.0.0.1:1194 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=47))
udp UNCONN 0 0 10.0.2.18:1194 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=46))
udp UNCONN 0 0 0.0.0.0:36046 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=16))
udp UNCONN 0 0 0.0.0.0:23986 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=43))
udp UNCONN 0 0 [::1]:1194 [::]:* users:((«vpnserver»,pid=15459,fd=49))
udp UNCONN 0 0 [fe80::a00:27ff:fedc:7a3d]%enp0s3:1194 [::]:* users:((«vpnserver»,pid=15459,fd=48))
tcp LISTEN 0 128 0.0.0.0:1194 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=35))
tcp LISTEN 0 128 0.0.0.0:5555 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=39))
tcp LISTEN 0 128 0.0.0.0:443 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=26))
tcp LISTEN 0 128 0.0.0.0:992 0.0.0.0:* users:((«vpnserver»,pid=15459,fd=31))
tcp LISTEN 0 128 [::]:1194 [::]:* users:((«vpnserver»,pid=15459,fd=37))
tcp LISTEN 0 128 [::]:5555 [::]:* users:((«vpnserver»,pid=15459,fd=41))
tcp LISTEN 0 128 [::]:443 [::]:* users:((«vpnserver»,pid=15459,fd=28))
tcp LISTEN 0 128 [::]:992 [::]:* users:((«vpnserver»,pid=15459,fd=33))
Другими словами, 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)
На следующие два вопроса просто нажимаем Enter.
Мы окажемся в командной оболочке SoftEther. Вводим:
И дважды задаем пароль, который планируем использовать:
The command completed successfully.
Готово — выходим в Linux shell:
Настройка сервера SoftEther
В нашем примере мы будем выполнять настройку сервера с помощью графической консоли, установленной на Windows. Рассмотрим подробнее:
- Установку утилиты для управления SoftEther.
- Базовую настройку сервера с помощью мастера настройки.
- Создание пользователя для подключения к VPN.
- Включение NAT.
Установка утилиты управления сервером VPN
Снова переходим на страницу загрузки SoftEther, выбираем VPN Server Manager и платформу для установки:
Скачиваем последнюю версию приложения:
После загрузки файла, запускаем его — откроется мастер установки. Выбираем установку утилиты для администрирования:
На остальные вопросы просто отвечаем Далее. Установка завершена.
Подключение к серверу и начальная настройка
Запускаем установленную утилиту SE-VPN Server Manager (Tools). Переходим к созданию нового подключения, кликнув по New Settings:
В открывшемся окне заполняем данные по нашему серверу — указываем произвольное имя для подключения, вводим имя сервера или его IP-адрес, выбираем порт для подключения 5555, вводим пароль администратора (который мы создали на шаге выше):
Нажимаем ОК.
В следующем окне ставим галочку Remote Access VPN Server (это наиболее встречаемый сценарий работы VPN — клиенты получают доступ к внутренней сети через сервер VPN):
Нажимаем Next.
Подтверждаем наши действия по инициализации настройки:
Даем произвольное название для Virtual Hub Name:
Приложение позволяет зарегистрировать DNS имя для нашего сервера в домене softether.net — оставляем предложенное имя или задаем свое:
Остальные шаги мастера настройки можно пропустить. Начальная настройка завершена.
Создание пользователя
Для аутентификации на сервере VPN при подключении к нему клиентом, создадим пользователя. Для этого нажимаем по Manage Virtual Hub:
Далее кликаем по Manage Users:
Переходим к созданию нового пользователя, нажав New:
Заполняем форму создания новой учетной записи — достаточно ввести имя пользователя и пароль:
* нам доступно несколько способов аутентификации, но в данной инструкции ограничимся входом по паролю.
Нажимаем по OK для создания пользователя и закрываем окно со списком пользователей (Exit).
Включение SecureNAT
В окне настройки виртуального хаба, кликаем по Virtual NAT and Virtual DHCP Server (SecureNAT):
Кликаем по Enable SecureNAT:
Нажимаем OK:
Закрываем окно настройки виртуального хаба.
Наш сервер подготовлен для настройки VPN.
Конфигурирование OpenVPN
SoftEther поддерживаем возможность настройки VPN на базе различных протоколов и технологий. В нашем примере мы сконфигурируем OpenVPN.
Нашу настройку необходимо выполнить на сервере и клиенте. Рассмотрим процесс пошагово.
Настройка сервера
В окне настройки сервера кликаем по OpenVPN / MS-SSTP Setting:
Проверяем, чтобы стояла галочка Enable OpenVPN Clone Server Function, а также задаем порт, на котором будет слушать наш сервер OpenVPN:
* порт 1194 является портом по умолчанию для OpenVPN.
Также кликаем по Generate a Simple Configuration File for OpenVPN Clients — появится окно выбора каталога, в котором нужно сохранить конфигурационные файлы. Переносим на компьютер, с которого нужно подключиться к серверу файл server_openvpn_remote_access_l3.ovpn.
Закрываем окно, кликнув OK.
Настройка клиента
Подробнее работа с клиентом OpenVPN рассмотрена в инструкции Настройка OpenVPN клиента. Мы для примера кратко рассмотрим подключение из под компьютера с Windows.
Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
Переходим в папку C:\Users\\OpenVPN\config (предполагается, что системный диск — диск С; — имя учетной записи, под которой мы зашли в систему). И копируем в нее файл server_openvpn_remote_access_l3.ovpn, который мы ранее сгенерировали на сервере.
Запускаем с рабочего стола программу «OpenVPN GUI».
Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:
Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.
Некоторые полезные команды
Мы уже немного пользовались утилитой командной строки для управления VPN. Это vpncmd. В данном разделе приведем несколько примеров ее использования.
Подключение
Для начала, заходим в консоль управления SoftEther с помощью vpncmd:
На первый вопрос отвечаем 1 — управление сервером:
By using vpncmd program, the following can be achieved.
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)
На второй вопрос можно не отвечать, нажав 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. В этом случае есть альтернативный способ — задать блокировку с помощью брандмауэра:
iptables -I INPUT -p icmp —icmp-type echo-request -j DROP
3. Проверяем анонимность.
Открываем браузер, который работает через прокси и переходим на страницу 2ip.ru/privacy — кликаем по Проверить:
Будет выполнена проверка анонимности нашего сервера.
Читайте также
Другие инструкции по работе с VPN, которые могут оказаться интересными: