Files
XTLS_Xray-docs-next/docs/ru/config/inbounds/wireguard.md
T
2026-05-25 18:39:42 +08:00

2.6 KiB

Wireguard

Реализация протокола Wireguard в пользовательском пространстве.

::: danger Протокол Wireguard не предназначен для обхода блокировок. Использование его на внешнем уровне может привести к блокировке сервера из-за характерных признаков. :::

InboundConfigurationObject

InboundConfigurationObject соответствует элементу settings в InboundObject.

{
  "inbounds": [
    {
      // ...
      "protocol": "wireguard",
      // [!code focus:10]
      "settings": {
        "secretKey": "PRIVATE_KEY",
        "peers": [
          {
            "publicKey": "PUBLIC_KEY",
            "allowedIPs": [""]
          }
        ],
        "mtu": 1420 // необязательно, по умолчанию 1420
      }
    }
  ]
}

secretKey: string

Приватный ключ. Обязательное поле.

mtu: int

Размер фрагментации уровня tun в Wireguard.

Метод расчета MTU

Структура пакета Wireguard выглядит следующим образом:

- 20-байтный IPv4-заголовок или 40-байтный IPv6-заголовок
- 8-байтный UDP-заголовок
- 4 байта — тип
- 4 байта — индекс ключа
- 8 байт — nonce
- N байт — зашифрованные данные
- 16 байт — аутентификационный тег

N байт — зашифрованные данные — это и есть значение MTU, которое зависит от того, используется ли IPv4 или IPv6. Значение может быть 1440 (IPv4) или 1420 (IPv6). В особых условиях значение может быть дополнительно уменьшено (например, для PPPoE — минус 8 байт).

peers: [ Peers ]

Список серверов peers, каждая запись представляет конфигурацию одного сервера.

Peers

{
  "publicKey": "PUBLIC_KEY",
  "allowedIPs": ["0.0.0.0/0"] // необязательно, по умолчанию ["0.0.0.0/0", "::/0"]
}

publicKey: string

Публичный ключ для верификации.

allowedIPs: string array

Разрешенные исходные IP-адреса.