Настройка 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 Программист Бесплатно (free)

При многолетней эксплуатации 1С на Windows и MS SQL в базе накапливаются не самые оптимальные запросы, COM-объекты и скрипты, зависящие от ОС. Из-за этого процесс перехода на PostgreSQL и переноса сервера 1С на Linux неизбежно осложняется длительным исправлением кода и оптимизацией запросов. Расскажем о том, как с задачей такого рефакторинга справились в компании Avito.

13.11.2024    4545    klimat12    15    

25

HighLoad оптимизация Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Мы исследуем проблему долгого выполнения запросов PostgreSQL при использовании конструкции VALUES: когда она возникает, как на нее можно повлиять, а главное, почему ее продуманная отработка важна для более быстрого функционирования решений на базе 1С

12.11.2024    829    Tantor    19    

14

HighLoad оптимизация Администрирование СУБД Механизмы платформы 1С Программист Платформа 1С v8.3 ИТ-компания Россия Бесплатно (free)

В данной статье мы рассмотрим, как работает механизм временных таблиц на postgres на платформе 8.3.23 и что изменилось в нем при добавлении новых возможностей в платформе 8.3.25. А также на примере покажу, как понимание работы платформы позволяет оптимизировать СУБД для работы с 1С.

29.10.2024    3139    Tantor    38    

34

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

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая, прочая... На закуску разбираемся с отказоустойчивостью. В этой публикации для серверов 1С заодно попробуем подобно сериалу «Разрушители легенд» подтвердить или опровергнуть пару устойчивых мифов о требованиях назначения функциональности.

18.10.2024    1702    capitan    5    

12

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

CDC - очень мощный механизм, который можно использовать во многих сценариях, возможность развернуть его в Docker показывает простоту и лёгкость данной технологии.

08.10.2024    731    AlexSvoykin    1    

7

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ и решение ошибок СУБД. Во время реиндексации базы Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось найти объект "ИмяБазы.dbo._RefSInf21806", так как он не существует, или отсутствуют разрешения. Во время проверки целостности Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Недопустимое имя объекта "dbo._RefSInf21806".

19.09.2024    4344    Xershi    10    

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