Настройка 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/

См. также

Linux Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

В очередной раз решая проблему с доступом к файлу программной лицензии - решил сделать памятку на будущее для себя и коллег.

10.03.2025    485    unichkin    10    

9

Рефакторинг и качество кода Linux Программист Платформа 1С v8.3 Бесплатно (free)

Во второй статье по докладу Александра Кириллова, с которым он выступил на конференции INFOSTART TECH EVENT 2024, поговорим об особенностях анализа конфигурации 1С на наличие платформеннозависимого кода.

31.01.2025    1633    it-expertise    1    

7

Linux Системный администратор Платформа 1С v8.3 Россия Бесплатно (free)

Как устроить зависание системы (Ubuntu) из 1С (толстый клиент) с помощью буфера обмена и что с этим делать.

29.01.2025    1061    Klok22    4    

13

Linux Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

23.12.2024    2553    capitan    7    

15

Linux Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Александр Кириллов, руководитель группы разработки компании «ИТ-Экспертиза», на конференции INFOSTART TECH EVENT 2024 выступил с докладом на тему «Как найти и устранить платформеннозависимый код менее, чем за 5 лет». Материал получился интересным и объемным, поэтому мы решили сделать на базе выступления Александра цикл статей. В первой части начнем с особенностей работы информационных систем 1С под управлением ОС Linux.

06.12.2024    2092    it-expertise    8    

23

Linux Системный администратор Программист Бесплатно (free)

Проект перевода 10+ систем 1С на 2000+ пользователей в Авито завершен успешно, преодолев технические трудности и «черных лебедей» в виде неопределенности, демотивации, потерь производительности и нереалистичных требований руководства. Расскажем об опыте проекта, в котором было «очень страшно», но в итоге всё получилось.

29.11.2024    1991    kirill.skoromykin    1    

7

Администрирование СУБД Системный администратор Программист

В крупных компаниях, где много типовых и сильно доработанных баз с режимом работы 24/7, переход с MS SQL на PostgreSQL затягивается. Получается гетерогенная структура – когда прод уже на PostgreSQL, а разработка и тестирование – пока на MS SQL. О том, какие варианты помогут постепенно перевести прод с несколькими базами MS SQL на PostgreSQL, не сломав среду тестирования и разработки, пойдет речь в статье.

21.11.2024    4268    a.doroshkevich    9    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Megaiff 11.02.20 01:31 Сейчас в теме
Картинки сдохли презалейте.
2. murat_zh 06.07.20 18:59 Сейчас в теме
Доброе время суток! можно вашей помощи по поводу маршрутизации с использованием softEther VPN под Windows
3. ClickUp 755 06.07.20 19:38 Сейчас в теме
Добрый день. Можно. вот статья под настройку виндовс.
https://infostart.ru/public/1176534/
4. ClickUp 755 06.07.20 19:40 Сейчас в теме
По маршрутизации и маршрутам можете написать в личку, описать строение сети что как и куда нужно попасть.
5. murat_zh 07.07.20 13:10 Сейчас в теме
(4) В личку сообщение не отправляются
6. user1092887 11.11.20 13:21 Сейчас в теме
После перезагрузки компьютера как вернуть опять подключение? Мои клиентские компьютеры и их владельцы это сами не сделают! Как это автоматизировать проще?
7. ClickUp 755 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 30 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
Оставьте свое сообщение