# Руководство по SoftEther VPN Client

> Настройка SoftEther VPN Client - создание виртуальных сетевых адаптеров, подключение к серверу через SSL-VPN, управление учетными записями и маршрутами

Source: https://opennix.org/docs/softether-vpn/manual/softether-vpn-client-guide/

SoftEther VPN Client - это программное обеспечение VPN-клиента с функцией виртуального сетевого адаптера, позволяющее подключаться к Virtual Hub на SoftEther VPN Server.

## Требования к операционной системе
### Windows
- Windows 10/11 (рекомендуется)
- Windows 8.1/8 
- Windows 7 SP1 
- Windows Server 2019/2016/2012 

**Архитектуры**: x86, x64

### Linux
- Ubuntu 18.04 LTS и новее 
- Red Hat Enterprise Linux 7+ 
- CentOS 7+ 
- Debian 9+ 
- SUSE Linux

**Архитектуры**: x86, x64, ARM

## Использование VPN Client
### Установка службы

После установки SoftEther VPN Client в системе создается служба "SoftEther VPN Client Service", которая работает в фоновом режиме и обеспечивает VPN-функциональность.

### Компоненты клиента

- SoftEther VPN Client Service (vpncsvc.exe)
  - Основная служба клиента 
  - Работает в фоновом режиме 
  - Управляет виртуальными адаптерами

- SoftEther VPN Client Manager (vpncmgr.exe)
  - Графический интерфейс управления 
  - Настройка подключений 
  - Мониторинг состояния

- vpncmd 
  - Утилита командной строки 
  - Скриптинг и автоматизация

## Виртуальный сетевой адаптер

SoftEther VPN Client реализует VPN-коммуникацию путем создания виртуального сетевого адаптера в системе.
#### Создание виртуального адаптера
```shell

# Создание нового виртуального адаптера
vpncmd localhost /client /cmd:NicCreate "MyVPN Connection"

```
#### Управление адаптерами

```shell
# Список виртуальных адаптеров
vpncmd localhost /client /cmd:NicList

# Удаление адаптера
vpncmd localhost /client /cmd:NicDelete "MyVPN Connection"
```

## Настройка подключения к VPN Server
#### Создание профиля подключения
```shell

# Создание нового подключения
vpncmd localhost /client /cmd:AccountCreate "Company VPN" /SERVER:vpn.company.com:443 /HUB:CORPORATE /USERNAME:john /NICNAME:"MyVPN Connection"

# Установка пароля
vpncmd localhost /client /cmd:AccountPasswordSet "Company VPN" /PASSWORD:mypassword /TYPE:standard

```
#### Настройка параметров подключения

```shell

# Настройка дополнительных параметров
vpncmd localhost /client /cmd:AccountSet "Company VPN" /KEEPALIVE:yes /USECOMPRESS:yes /USEENCRYPT:yes

```
#### Управление подключениями
```shell

# Подключение
vpncmd localhost /client /cmd:AccountConnect "Company VPN"

# Отключение
vpncmd localhost /client /cmd:AccountDisconnect "Company VPN"

# Статус подключения
vpncmd localhost /client /cmd:AccountStatusGet "Company VPN"

```

## Автоматическое подключение
#### Настройка автостарта
```shell

# Включение автоматического подключения при запуске
vpncmd localhost /client /cmd:AccountStartupSet "Company VPN" /ENABLE:yes

```
#### Политики переподключения

```shell

# Настройка автоматического переподключения
vpncmd localhost /client /cmd:AccountRetrySet "Company VPN" /NUM:10 /INTERVAL:15

```
## Сертификаты и расширенная аутентификация
#### Использование клиентских сертификатов

```shell

# Добавление сертификата
vpncmd localhost /client /cmd:CertAdd /CERTFILE:client.crt /KEYFILE:client.key

# Настройка аутентификации по сертификату
vpncmd localhost /client /cmd:AccountSet "Company VPN" /AUTH:cert /CERT:client.crt

```
#### Смарт-карты

```shell

# Настройка аутентификации через смарт-карту
vpncmd localhost /client /cmd:AccountSet "Company VPN" /AUTH:secure /SECUREPASSWORD:pin

```

## Прокси и файрволы

#### Настройка HTTP прокси

```shell

# Настройка подключения через HTTP прокси
vpncmd localhost /client /cmd:AccountProxySet "Company VPN" /TYPE:http /SERVER:proxy.company.com:8080 /USERNAME:proxyuser /PASSWORD:proxypass

```
#### Обход файрволов

```shell

# Включение режима обхода NAT
vpncmd localhost /client /cmd:AccountSet "Company VPN" /DISABLEUDPACCELERATION:yes /USEUDP:no

```
## Мониторинг и диагностика
#### Просмотр статистики
```shell

# Статистика подключения
vpncmd localhost /client /cmd:AccountStatusGet "Company VPN"

# Детальная информация о сессии
vpncmd localhost /client /cmd:SessionGet "Company VPN"

```
#### Логирование
```shell

# Включение детального логирования
vpncmd localhost /client /cmd:LogEnable packet /SWITCH:yes

```

