Настройка SoftEther VPN Client на Linux Debian/Ubuntu/Mint (связка Linux-Windows)

04.02.20

База данных - Администрирование СУБД

На сервере установлен и настроен VPN через программное обеспечение SoftEter VPN Server, настроены клиенты с доступом по сертификату, встала задача настроить доступ клиента из Linux и подключиться по RDP (VNC) в Windows к серверу VPN.

Все документацию по приведенным ниже командам можно найти тут: https://www.softether.org/4-docs/1-manual/6._Command_Line_Management_Utility_Manual/6.5_VPN_Client_Management_Command_Reference#6.5.28_.22AccountCertSet.22:_Set_User_Authentication_Type_of_VPN_Connection_Setting_to_Client_Certificate_Authentication

Скачиваем SoftEteh VPN for Linux, распаковываем загруженный файл (tar.gz).

Извлечение произвел в домашний каталог (/home/clickup/vpnclient)

1. Установка

Открываем терминал (Ctrl+Alt+T) и вводим команды:

 cd ./vpnclient

Переходи в домашний каталог и вводим "make" принимаем лицензионные соглашения: 1

После завершения команды "make" запускаем установленный VPN клиент из того же каталога:

sudo ./vpnclient start

2. Первоначальная настройка vpn client

Чтобы перейти к конфигурированию клиентской части переходим в командную строку VPN-клиента:

sudo ./vpncmd

Перед настройкой проверим готовность клиента:

Выбираем "3" чтобы попасть в раздел Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool

Выполняем команду "check"

Если все тесты пройдены без ошибок, можно переходит дальше, выход из vpncmd Ctrl+C.

После выхода, опять выполняем команду: "sudo ./vpncmd" выбираем пункт "2" (Management of VPN Client)

Программа запросит IP адрес хоста, нажимаем "Enter" (по умолчанию подключается к "localhost").

2.1 Создание и настройка VPN адаптера, и аккаунта для подключение к VPN сети

  •  Создайте виртуальный интерфейс для подключения к VPN-серверу:

 - NicCreate vpn    (где "vpn" это имя виртуального адаптера), другие команды (NicDelete - удалить адаптер, NicList - список адаптеров)

  • Создайте учетную запись VPN-клиента с помощью следующей команды

- AccountCreate NameConnect /SERVER:<IPSERVER>:5555 /HUB:<NAMEVIRTUALHUB> /USERNAME:<username> /NICNAME:<name nic adaptera>

- ПРИМЕР: AccountCreate Terminal /server:91.91.91.91:5555 /HUB:VPN /USERNAME:Clickup /NICNAME:VPN  

   (где "NameConnect" это просто имя подключения), другие команды (AccountDelete - удалить, AccountList - список)

  • Настройка учетной записи по вашим данным для подключения по аналогии как в Windows клиенте:

Если вы получите сообщение "The command completed successfully", то все сделано верно, c помощью AccountList можно посмотреть созданное подключение.

ВАЖНО! Варианты аутентификации на сервере.

В некоторых случаях необходимо указать тип аутентификации пользователя и указать необходимые параметры. Чтобы изменить эту информацию, вы можете использовать такие команды, как AccountAnonymousSet, AccountPasswordSet, AccountCertSet и AccountSecureCertSet.

 AccountAnonymousSet - анонимная аутентификация

 AccountPasswordSet- аутентификация по пользователю и паролю

 AccountCertSet - аутентификация по пользовательскому сертификату

 AccountSecureCertSet- аутентификация пользователя по смарт-картам

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

 - AccountSecureCertSet [имя] [/ CERTNAME: путь до сертификата] [/ KEYNAME: путь до ключа]

 - ПРИМЕР: AccountCertSet Terminal /LOADCERT:/home/clickup/Serv/Terminal.cer /LOADKEY:/home/clickup/Serv/Terminal.key

После выполнения у вас запросит пароль для сертификата (если он установлен).

Подключение готово, можно посмотреть список подключений выполнив команду AccountList, в статусе подключение будет видно его текущее состояние (offline, connected).

Чтобы подключиться необходимо выполнить команду: 

 - AccountConnect Terminal   (где Terminal это имя созданного аккаунта для подключения)

После чего статус должен измениться на Connected.

Если все сделано верно то вы подключитесь к VPN сети со своими учетными данными.

На сервере VPN вы сможете увидеть активное подключение, работающее пока по Ipv6.

3. Получение IP адреса для виртуального адаптера и настройка маршрутизации.

Прежде чем начать необходимо проверить включен ли "ip forward" (маршрутизация), выполняем команду:

cat /proc/sys/net/ipv4/ip_forward    если после выполнения возврат "1", то все включено, если "0" то выполняем команду:

sudo nano /etc/sysctl.conf    (переходим к редактированию файла конфига), находим строку net.ipv4.ip_forward=1 и раскомментируем ее, сохраняем файл.

и проверяем cat /proc/sys/net/ipv4/ip_forward  команда должна вернуть "1".

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

В терминале выполняем команду:

- sudo dhclient <virtual_network_adapter_name>

- Пример: sudo dhclient vpn_vpn

VPN-сервер должен выдать вам IP-адрес для вашего виртуального адаптера (если на сервере не отключен DHCP).

  

Либо IP адрес можно прописать вручную выполнив команду:

sudo nano /etc/network/interfaces

Завершающем шагом будет указание статических маршрутов, выполняем команду, чтобы увидеть таблицу маршрутизации:

 sudo netstat -rn  

 ip route

Количество маршрутов зависит от сложности построения сети и как далеко необходимо пробиться в нашем случае схема была следующая:

Команда трассировки:  sudo traceroute -I 10.10.10.1 (параметр -I "icmp" отправлять пакеты из Linux, которые понимает Windows)

Поэтому в нашем случае достаточно 2 маршрутов.
sudo ip route add 10.10.10.0/24 dev vpn_vpn
sudo ip route add 192.168.100.0/24 via 10.10.10.1

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

Доступ был получен вход по RDP осуществлен во внутреннюю сеть.

Как настроить SoftEther VPN Server и Client для Windows рассмотрено в этой статье: //infostart.ru/public/1176534/

См. также

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    2852    n_mezentsev    14    

16

Автоматическое монтирование целевых папок по ключу при изменении местоположения источника (раздела диска)

Linux Бесплатно (free)

Вариант динамического автоматического монтирование целевых папок по ключу папки при изменении местоположения источника (раздела диска).

16.11.2023    272    NeSPEC    3    

2

Дефрагментация индексов MS SQL для платформы 8.3.22

Инструменты администратора БД Администрирование СУБД Абонемент ($m)

Начиная с 8.3.22 фирма "1С" убрала блокировки БД на уровне страниц; если БД расположена в MS SQL, то стала возникать проблема при дефрагментации индексов с использованием команды ALTER INDEX REORGANIZE. Предлагаю модификацию известного скрипта, который позволяет обойти эту проблему.

1 стартмани

15.11.2023    627    6    baturo    6    

8

Мигрируем с MS SQL на PostgreSQL

Администрирование СУБД Бесплатно (free)

Переход с MS SQL на PostgreSQL сопряжен с рисками для бизнеса и неизбежно вызывает множество вопросов. Статья посвящена тому, как заранее подготовиться к предстоящей миграции, провести нагрузочное тестирование, выявить возможные проблемы перехода и провести необходимую оптимизацию.

13.11.2023    7268    ivanov660    25    

68

Неочевидный баг Истории данных, убивающий rphost

Администрирование СУБД Платформа 1С v8.3 Бесплатно (free)

Расследование о том, почему команда ИсторияДанных.ОбновитьИсторию() убивала rphost.

08.11.2023    4623    dsdred    48    

66

Ограничение на запуск нескольких сеансов в 1С одним пользователем - УНФ, БП, УТ, Розница, КА, ERP

Администрирование СУБД Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

25.10.2023    891    12    KamranV21    5    

12

Ошибка: Microsoft SQL Cannot create a row of size

Администрирование СУБД HighLoad оптимизация Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Разбор исправления ошибки "Microsoft SQL Cannot create a row of size" в 1С при открытии формы.

1 стартмани

24.10.2023    646    vakham    5    

4
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Megaiff 11.02.20 01:31 Сейчас в теме
Картинки сдохли презалейте.
2. murat_zh 06.07.20 18:59 Сейчас в теме
Доброе время суток! можно вашей помощи по поводу маршрутизации с использованием softEther VPN под Windows
3. ClickUp 637 06.07.20 19:38 Сейчас в теме
Добрый день. Можно. вот статья под настройку виндовс.
https://infostart.ru/public/1176534/
4. ClickUp 637 06.07.20 19:40 Сейчас в теме
По маршрутизации и маршрутам можете написать в личку, описать строение сети что как и куда нужно попасть.
5. murat_zh 07.07.20 13:10 Сейчас в теме
(4) В личку сообщение не отправляются
6. user1092887 11.11.20 13:21 Сейчас в теме
После перезагрузки компьютера как вернуть опять подключение? Мои клиентские компьютеры и их владельцы это сами не сделают! Как это автоматизировать проще?
7. ClickUp 637 11.11.20 15:14 Сейчас в теме
Сделайте Bash скрипт который будет это делать при запуске.
https://losst.ru/napisanie-skriptov-na-bash
8. user1553633 01.03.21 08:28 Сейчас в теме
Здраствуйте, можно пожалуйста уточнить, как правильно подключаться по логину/паролю и что значит "Specify standard or radius"
9. user1553633 01.03.21 09:40 Сейчас в теме
AccountConnect ES
input pass
confim....

Далее
Specify standard or radius

Если пишу standard, ошибка, если radius то всё ок, но при подключении (AccountConnect) AccountConnect command - Start Connection to VPN Server using VPN Connection Setting
Error occurred. (Error code: 35)
10. Old_School 102 27.11.22 13:22 Сейчас в теме
Прочитал, установил по статье - работает. Поставил +.
Копеечка по автозапуску.
Можно через юниты сделать.

Например вот так:
Это первый - который запускает службу:
[Unit]
Description=SoftEther VPN Client
After=network.target

[Service]
Type=forking
ExecStart=/home/<Имя пользователя>/vpnclient/vpnclient start
ExecStop=/home/<Имя пользователя>/vpnclient/vpnclient stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

Это второй - который поднимает подключение через dhсp (вариант через статику также привел - закоментирован)
[Unit]
Description=DHCP Client for SoftEther VPN
After=softether_client.service
Requires=softether_client.service
PartOf=softether_client.service

[Service]
Type=forking
RemainAfterExit=true
ExecStart=/sbin/dhclient vpn_vpn
#это для статики
#ExecStart=/sbin/ifconfig vpn_vpn 192.168.37.202 netmask 255.255.255.0 up
#ExecStartPost=/etc/network/if-up.d/routes
ExecStop=/sbin/dhclient -r vpn_vpn
#ExecStop=/sbin/ifconfig vpn_vpn down
Restart=always
RestartSec=30

[Install]
WantedBy=multi-user.target
11. user1681229 05.12.22 15:14 Сейчас в теме
(6)
для автоматизаии такой ss.sh ::

ps. правда аутентификаия там по паролю, а не по сертификату.
Прикрепленные файлы:
ss.sh
Оставьте свое сообщение