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

> Полное руководство по настройке SoftEther VPN Server - создание виртуальных хабов, управление пользователями, настройка протоколов и сетевых мостов

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

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

## Требования к операционной системе

SoftEther VPN Server поддерживает широкий спектр операционных систем и аппаратных платформ:

### Windows

- Windows Server 2019/2022 
- Windows 10/11 
- Windows Server 2016 (и более старые версии)

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

### Linux

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

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

### Другие Unix-подобные системы

- FreeBSD 10 и новее 
- OpenBSD 
- NetBSD 
- Solaris 10 и новее 
- Mac OS X 10.4 и новее

## Режимы работы

SoftEther VPN Server может работать в двух основных режимах:

### Service Mode (Режим службы)

- Работает как системная служба 
- Автоматический запуск при загрузке системы 
- Работает в фоновом режиме 
- Рекомендуется для производственного использования

### User Mode (Пользовательский режим)

- Запускается в пользовательском контексте 
- Требует входа пользователя в систему 
- Полезен для тестирования и разработки

## Администрирование VPN Server
### Методы управления

- SoftEther VPN Server Manager (Windows GUI)
  - Графический интерфейс для Windows 
  - Удобное управление через GUI 
  - Мониторинг в реальном времени

- vpncmd (Командная строка)
  - Кроссплатформенная утилита 
  - Скриптинг и автоматизация 
  - Полный доступ ко всем функциям

- Web-интерфейс 
  - Управление через браузер 
  - Доступ из любой точки сети 
  - Базовые функции администрирования

## Virtual Hub
Virtual Hub - это ключевая концепция SoftEther VPN. 

Каждый Virtual Hub функционирует как отдельный виртуальный коммутатор Ethernet.

### Создание Virtual Hub

```shell

# Создание нового Virtual Hub через vpncmd
vpncmd localhost /server /cmd:HubCreate MYHUB /PASSWORD:mypassword

```

#### Управление пользователями

```shell

# Создание пользователя
vpncmd localhost /server /hub:MYHUB /cmd:UserCreate john /GROUP:employees /REALNAME:"John Smith"

# Установка пароля
vpncmd localhost /server /hub:MYHUB /cmd:UserPasswordSet john /PASSWORD:secretpassword
```

#### Настройка групп

```shell

# Создание группы
vpncmd localhost /server /hub:MYHUB /cmd:GroupCreate employees

# Установка политик группы
vpncmd localhost /server /hub:MYHUB /cmd:GroupPolicySet employees /NAME:MaxConnection /VALUE:3

```
### Локальные мосты
Локальный мост позволяет подключить Virtual Hub к физическому сетевому адаптеру компьютера, объединяя виртуальную и физическую сети.

#### Создание локального моста

```shell

# Создание моста с физическим адаптером
vpncmd localhost /server /cmd:BridgeCreate MYHUB /DEVICE:"Local Area Connection"

```
#### Мониторинг мостов

```shell

# Список активных мостов
vpncmd localhost /server /cmd:BridgeList

```
##  SecureNAT
SecureNAT - это встроенный NAT и DHCP сервер, который позволяет VPN-клиентам получать доступ к Интернету через VPN Server без дополнительной настройки сети.

#### Включение SecureNAT

```shell

# Включение SecureNAT для Virtual Hub
vpncmd localhost /server /hub:MYHUB /cmd:SecureNatEnable

```
#### Настройка DHCP

```shell

# Настройка DHCP параметров
vpncmd localhost /server /hub:MYHUB /cmd:DhcpSet /START:192.168.30.10 /END:192.168.30.200 /MASK:255.255.255.0 /GW:192.168.30.1 /DNS:8.8.8.8 /DNS2:8.8.4.4

```
## Виртуальный L3 коммутатор

Virtual Layer 3 Switch позволяет маршрутизировать IP-пакеты между различными Virtual Hub'ами и реализовать межсетевую маршрутизацию.

#### Создание L3 коммутатора

```shell

# Создание виртуального L3 коммутатора
vpncmd localhost /server /cmd:Layer3Add L3SW

# Добавление интерфейса
vpncmd localhost /server /cmd:Layer3IfAdd L3SW /HUB:HUB1 /IP:192.168.1.1 /MASK:255.255.255.0

```
#### Настройка маршрутизации

```shell

# Добавление статического маршрута
vpncmd localhost /server /cmd:Layer3TableAdd L3SW /NETWORK:10.0.0.0 /MASK:255.0.0.0 /GATEWAY:192.168.1.100

```

## Кластеризация

Кластеризация позволяет объединить несколько VPN серверов для обеспечения высокой доступности и распределения нагрузки.

#### Настройка кластера

```shell

# Включение кластерного режима
vpncmd localhost /server /cmd:ClusterSettingSet /CONTROLLER:yes

# Добавление члена кластера
vpncmd localhost /server /cmd:ClusterMemberAdd server2.example.com /PASSWORD:clusterpass

```
#### Мониторинг кластера

```shell

# Просмотр состояния кластера
vpncmd localhost /server /cmd:ClusterStatusGet

```

## Логирование и безопасность

#### Настройка логирования

```shell

# Включение логирования подключений
vpncmd localhost /server /hub:MYHUB /cmd:LogEnable connection

# Настройка ротации логов
vpncmd localhost /server /cmd:ServerLogSwitchSet /SWITCH:month

```
#### Списки доступа

```shell

# Создание правила доступа
vpncmd localhost /server /hub:MYHUB /cmd:AccessAdd /RULENAME:"Allow HTTP" /PRIORITY:100 /SRC_IP:192.168.1.0/24 /DEST_PORT:80 /ACTION:allow

```
## Мониторинг и статистика

#### Просмотр активных сессий
```shell

# Список активных сессий
vpncmd localhost /server /hub:MYHUB /cmd:SessionList

```
#### Статистика сервера

```shell

# Общая статистика сервера
vpncmd localhost /server /cmd:ServerStatusGet

# Статистика Virtual Hub
vpncmd localhost /server /hub:MYHUB /cmd:StatusGet

```
