Руководство по настройке WireGuard на сервере SoftEther VPN
SoftEther – это продвинутое VPN-решение с поддержкой нескольких протоколов, включая WireGuard, OpenVPN, L2TP/IPsec, SSTP и другие. В этом руководстве мы сосредоточимся на настройке протокола WireGuard на сервере SoftEther VPN с помощью утилиты vpncmd
, которая в данный момент является единственным поддерживаемым способом настройки WireGuard в SoftEther.
Предварительные требования
Перед началом убедитесь, что:
Шаг 1: Настройка UDP-порта для WireGuard
Убедитесь, что вы обладаете правами администратора на VPN-сервере перед настройкой подключения WireGuard. Запустите утилиту vpncmd
, выберите вариант №1 и войдите как Администратор:
./vpncmd
Чтобы проверить, ожидает ли ваш сервер SoftEther подключение на каком-либо UDP-порту, выполните следующую команду:
PortsUDPGet
Если ни один UDP-порт не активен, добавьте его с помощью команды ниже. Вы можете указать любой номер порта, при условии, что он не конфликтует с другими портами на вашем сервере Linux:
PortsUDPSet 51820
Примечание: Вы можете указать несколько портов, разделяя их запятыми. Убедитесь, что эти порты не блокируются брандмауэром или iptables вашего сервера.
Шаг 2: Установка шлюза и подсети для WireGuard
Поскольку WireGuard не поддерживает DHCP (использующий широковещательные сообщения, которые не работают в VPN-туннеле «точка-точка»), каждому клиенту (peer) необходимо вручную назначить статический IP-адрес для правильного шифрования и маршрутизации. Перейдите к вашему виртуальному хабу и задайте основной шлюз и маску подсети, которые будут использоваться вашими клиентами WireGuard со статическими адресами IP:
Hub myhub
SetStaticNetwork /GATEWAY=192.168.1.1 /SUBNET=255.255.255.0
Замените 192.168.1.1 и 255.255.255.0 на соответствующие IP-адрес шлюза и маску подсети — используйте те же значения, что и DHCP-сервер вашего хаба, выдаваемые подключенным клиентам. Проверьте правильность настройки хаба, выполнив команду:
OptionsGet myhub
Шаг 3: Включение протокола WireGuard
Хотя поддержка WireGuard обычно включена по умолчанию, убедитесь, что она активна, выполнив команду:
ProtoOptionsSet wireguard /NAME=enabled /VALUE=true
Шаг 4: Генерация и назначение ключей пользователей
WireGuard использует пары ключей X25519 для безопасной коммуникации. Вы можете сгенерировать их с помощью утилиты vpncmd
или при помощи любого другого генератора ключей. В примере ниже ключи генерируются через vpncmd
.
Выйдите из vpncmd
и запустите его вновь, выбрав опцию №3, чтобы перейти в режим Tools. Затем выполните следующую команду для генерации пары ключей:
GenX25519
Утилита сгенерирует пару ключей – Private Key и Public Key. Скопируйте их и храните в безопасности. Если у вас несколько виртуальных хабов или пользователей, требующих подключения по WireGuard, сгенерируйте отдельную пару ключей для каждого пользователя на каждом хабе.
После генерации ключей войдите в vpncmd
снова как администратор и назначьте Публичный ключ X25519 каждого пользователя соответствующему хабу:
WgkAdd "WFPFO/s8UXD6HNH+2P2UjfbkUP8BFITa7TXKculvDUk=" /HUB=myhub /USER=myuser
Замените WFPFO/s…ulvDUk=, myhub и myuser на вашу реальную строку публичного ключа пользователя, имя хаба и имя пользователя соответственно. Убедитесь, что такой пользователь существует в указанном хабе.
Теперь вы можете проверить, что ключи WireGuard добавлены корректно, выполнив команду:
WgkEnum
Шаг 5: Создание конфигурации клиента WireGuard
Ниже приведен пример конфигурационного файла. Скопируйте его в текстовый редактор и замените значения из примера на ваши реальные значения, о которых мы расскажем далее:
[Interface] PrivateKey = WFPFO/s8UXD6HNH+2P2UjfbkUP8BFITa7TXKculvDUk= Address = 192.168.1.15/32 DNS = 9.9.9.9,149.112.112.112 [Peer] PublicKey = pbnWflgIl4CUqYkgZKrtQg/jMAyytyS/AufEt4OAq3Y= PresharedKey = s/8eDb4r6BUtAMZEY8a+VC4Qs4HYzUJVqD8YzSNFzuk= AllowedIPs = 0.0.0.0/0 Endpoint = 150.151.152.153:51820 PersistentKeepalive = 21
[Interface]
[Peer]
Настроив UDP-порт, шлюз и подсеть, включив протокол WireGuard, сгенерировав и назначив ключи, а также создав файл конфигурации клиента, вы сможете установить безопасное подключение к вашему виртуальному хабу SoftEther через WireGuard. После подключения проверьте, действительно ли ваш трафик направляется через туннель WireGuard к серверу SoftEther.