UBUNTU: Устанавливаем VPN сервер SoftEther

Создаем свой VPN сервер на основе SoftEther 

В рамках данного блога была заметка об установке SoftEther VPN на FreeBSD.
Я решил, что будет интересно описать установку данного продукта в Ubuntu.

Пару слов о программе

SoftEther — это открытый и свободно распространяемый продукт (под лицензией Apache 2.0).
Написан студентом японского университета Цукубы в рамках академического проекта.
Проект является мультиплатформенным решением (MacOS, Linux, Windows и BSD).
По мимо этого, решение является мультипротокольным VPN сервером (l2tp, ipsec, openvpn)

Мы рассмотрим установку и первичную настройку VPN сервера с протоколом l2tp/ipsec.
Плюс данного протокола является нативная поддержка операционных систем Windows.

Задача

Предоставить удаленным пользователям защищенный доступ к серверу терминалов организации.
Сервер имеет прямой IP адрес.
В этой заметке останется за кадром использование Microsoft Azur для организации VPN сервера за NAT.

Схема сети   

UBUNTU: Устанавливаем VPN сервер SoftEther

Установку мы будем делать терминале, настройку SoftEther VPN с помощью его клиента в Windows.

Установка

Обновляем репозитории и устанавливаем компиляторы

sudo apt update
sudo apt install build-essential

Получение дистрибутива

В отличии от FreeBSD, где SoftEther доступен в портах и пакеджах, в Ubuntu в стандартных репозиторях его нет:)
Поэтому выбираем платформу на этой странице  и копируем ссылку на дистрибутив.

SoftEther VPN Download page
Страница загрузки дистрибутива

Скачиваем, разархивируем и компилируем

mkdir ~/tmp
cd ~/tmp
wget https://www.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz
tar zxf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x64-64bit.tar.gz
cd vpnserver
make && cd ../

В момент компиляции принимаем три раза условия, введя цифру 1

Переносим скомпилированный SoftEther, назначаем права на его файлы

sudo mv ~/tmp/vpnserver /opt
sudo chmod 600 /opt/vpnserver/*
sudo chmod 700 /opt/vpnserver/vpncmd
sudo chmod 700 /opt/vpnserver/vpnserver

Создаем автозапуск через systemctl

sudo vi /lib/systemd/system/vpnserver.service
[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/opt/vpnserver/vpnserver start
ExecStop=/opt/vpnserver/vpnserver stop

[Install]
WantedBy=multi-user.target

Разрешаем запуск сервиса

sudo systemctl enable vpnserver

Запускаем

sudo systemctl start vpnserver

Проверим:

sudo systemctl status vpnserver
● vpnserver.service - SoftEther VPN Server
     Loaded: loaded (/lib/systemd/system/vpnserver.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-11-05 11:23:05 MSK; 20s ago
    Process: 5179 ExecStart=/opt/vpnserver/vpnserver start (code=exited, status=0/SUCCESS)
   Main PID: 5227 (vpnserver)
      Tasks: 36 (limit: 629145)
     Memory: 105.1M
     CGroup: /system.slice/vpnserver.service
             ├─5227 /opt/vpnserver/vpnserver execsvc
             └─5228 /opt/vpnserver/vpnserver execsvc

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

sudo /opt/vpnserver/vpncmd

Выбираем Management of VPN Server or VPN Bridge, введя цифру 1 и нажав два раз Enter

  • Hostname of IP Address of Destination:
  • Specify Virtual Hub Name:
VPN Server> ServerPasswordSet

Скачиваем и устанавливаем SoftEther VPN Server Manager for Windows

С этой страницы выбрав нужную платформу и битность

SoftEther VPN Server Manager download page
Выбор SoftEther VPN Server Manager

Устанавливаем данный клиент

Выбираем только компонент SoftEther VPN Server Manager (Admin Tools Only)

SoftEther VPN Server Manager
Выбор нужного компонента

 

Запускаем SoftEther VPN Server Manager

Кликаем по кнопке New Setting и заполняем поля:

  • Имя соединения (Setting Name)
  • Адрес (host name)
  • Пароль, который мы установили (Password) 

New Connection Setting SoftEther VPN

Нажимаем ОК и соединяемся
Попадаем в мастер первоначальной настройки:

SoftEther Wizard
Для нашей задачи нам нужно выбрать «Remote Access VPN Server»

Жмем Next получаем окно с предупреждением:

SoftEther VPN Server Manager The current settings of this VPN Server or VPN Bridge will be initialized. Do you really want to do this?
Текущие настройки этого VPN-сервера или VPN-моста будут инициализированы.

Нажимаем Да, и появляется окошко с предложением создать виртуальный хаб (Virtual Hub), задаем ему имя и нажимаем ОК

Virtual Hub softether

Следующим окном будет Dynamic DNS Function
SoftEther Dynamic DNS Function

Нажимаем  Exit и попадаем в настройку IPsec

Включаем lt2tp/IPsec и устанавливаем IPsec Pre-Shared key

SoftEther IPsec Pre-Shared key

Жмем ОК и попадаем в настройку Azure
Я выключаю данную настройку, т.к. имею прямой IP адрес
SoftEther VPN Azure

Нажимаем OK и попадаем в мастер создания пользователя и установки локального моста
Создаем пользователя или пользователей (Create Users)
Локальный бридж не трогаем!
SoftEther Create UsersSoftEther Create UsersНажимаем  ОК, нажимаем Close на предыдущем мастере.
Попадаем наконец в администрирование VPN сервера:
UBUNTU: Устанавливаем VPN сервер SoftEtherГде нам доступны для редактирования все настройки VPN сервера.
Кликаем два раза по виртуальному хабу MY_VPN, чтобы попасть в настройки хаба.
SoftEther Virtual HubГде нас интересует настройка  Virtual NAT and Virtual DHCP Server (Secure NAT)
Кто-то должен раздавать адреса VPN клиентам и пробрасывать в локальную сеть.
В обсуждениях SoftEther VPN много жалоб, что Secure NAT требователен к ресурсам.
У меня было две успешные инсталляции с использованием Secure NAT, правда под FreeBSD.
Никаких проблем с ресурсами у меня не было, при чем одна машина VPS (WMVare ESXi) с минимальной конфигурацией.

Включаем  Secure NAT
SoftEther Secure NAT

Настраиваем VPN клиент как l2tp/IPsek не забыв указать ключевую фразу

Подключаемся
UBUNTU: Устанавливаем VPN сервер SoftEtherНа этом хотел сказать все:)

Пара слов о безопасности

Во-первых, в windows клиентах (в свойствах сети, IPv4) отключайте функцию «Использовать основной шлюз в удаленной сети».
Чтобы клиентам через VPN отдавались только локальные ресурсы.
Использовать основной шлюз в удаленной сети

Во-вторых, как правило компьютеры удаленных пользователей являются их личным материальном активом:)
Со всем зоопарком программ в том числе и антивирусного ПО.
Если для удаленных пользователей требуется только подключение к терминальному серверу, закройте остальные порты.
В первую очередь закройте SMB протокол.
SoftEther VPN имеет на свой борту firewall, настраивается в настройке Virtual Hub —> Manage Access List
SoftEther

SoftEther Access List

В-третьих, ограничьте пользователя числом одновременных сессий.
Настраивается в политиках учетной записи пользователя.
Будет правильным пользователей закидывать в группы и в группах править политики.

На этом все:)  

Рейтинг
( 3 оценки, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Комментарии: 4
  1. Евгений

    а как его сделать автозапускаемым на ubuntu server 18.04?

    1. Vladimir (автор)

      Добрый день!
      Сделать через systemctl (в статье поправил этот момент)
      Удаляете у себя скрипт запуска из /etc/init.d/
      Далее создаете файл:
      /lib/systemd/system/vpnserver.service
      С содержимым:
      [Unit]
      Description=SoftEther VPN Server
      After=network.target
      [Service]
      Type=forking
      ExecStart=/opt/vpnserver/vpnserver start
      ExecStop=/opt/vpnserver/vpnserver stop
      [Install]
      WantedBy=multi-user.target

      Разрешаете данный сервис:
      systemctl enable vpnserver

      И стартуете:
      systemctl старт vpnserver

      При перезагрузке поднимется автоматом

  2. Евгений

    Здравствуйте!
    Спасибо за статью. Помогите пожалуйста с настройкой softether vpn!

    У меня дома на raspberry (миникомп дальше) поднят умный дом на базе Home Assistant по адресу: http://миникомп:8123. Данный миникомп подключен к роутеру с интернетом от МТС. Провайдер выдает серый ip! Я хочу иметь доступ к Home Assistant через Интернет!

    Для решения этой задачи установил на миником softether vpn server. Т.к. ip у меня серый, то на softether включил опцию Azure VPN и выдачу адреса NAT. В итоге родным клиентом softether мне удалось подключиться через [hostname.azurevpn.net] к серверу. При подключении выдает ip = 192.168.0.30.

    Вопрос: какие настройки необходимо сделать, чтобы я с компа, на котором подключен клиент softether, мог иметь доступ на http://миникомп:8123?

    Если возможно, напишите свой телеграм, напишу вам в личку!

  3. Oleg

    Помогите, не подключаются пользователи. Административная прога подключается.
    Может файрвол в Ubuntu надо настроить?
    Или порт занят другим процессом?

Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.