Skip to content

Конечные точки

endpoints содержат протокольные стеки, которые являются входящими и исходящими одновременно: экземпляр WireGuard или Tailscale и принимает соединения, приходящие через туннель, и сам инициирует соединения в него. Форма записи — тот же плоский конверт, что у входящих и исходящих: type / tag плюс собственные поля выбранного типа на том же уровне.

Конверт

ПолеТипПо умолчаниюДопустимые значенияОписание
typestringwireguard | tailscaleТип конечной точки. Определяет, в какую структуру параметров декодируется остальная часть объекта.
tagstringУникальное имя этой конечной точки. Может использоваться везде, где ожидается тег исходящего, и сопоставляться правилами маршрутизации на входящей стороне.

Исходный код: option/endpoint.go:16-20 · зафиксировано на v1.13.15 (3708fa1)

Поля конкретных типов описаны на страницах WireGuard и Tailscale.

Минимальный пример

json
{
  "endpoints": [
    {
      "type": "wireguard",
      "tag": "wg-ep",
      "address": ["10.0.0.2/32"],
      "private_key": "<base64-private-key>",
      "peers": [
        {
          "address": "wg.example.com",
          "port": 51820,
          "public_key": "<base64-public-key>",
          "allowed_ips": ["0.0.0.0/0"]
        }
      ]
    }
  ],
  "route": { "final": "wg-ep" }
}

Примечания

  • Конечные точки заменили удалённый в 1.13.0 исходящий wireguard — та же структура теперь покрывает оба направления туннеля.
  • wireguard требует сборки с тегом with_wireguard, tailscale — с with_tailscale (официальные релизные бинарники включают оба).
  • Правила маршрутизации могут сопоставлять трафик, выходящий из конечной точки, так же, как они сопоставляют тег входящего.

Сравнение с другими ядрами

  • Xray-core оставляет WireGuard обычным протоколом входящего или исходящего (protocol: "wireguard", где IsClient определяется положением). См. WireGuard в Xray.
  • mihomo моделирует WireGuard только как прокси (исходящий). См. WireGuard в mihomo.

Исходный код: option/endpoint.go:16-20 · v1.13.15 (3708fa1)

Core Tutorial от Argsment