Содержание

Конфигурационный файл Yggdrasil на русском

Yggdrasil версии 0.5

{
  # Ваш приватный ключ. НЕ ДЕЛИТЕСЬ этим ключом ни с кем!
  PrivateKey: e231c2d650f3739729ac7f95a9832024be334f065a28af905031254ce76fa6826f9e764d7d403edcc922118b6f37fdfab2f9aa9e97c0db459e38bdc4454f6c66
  # C помощью ключа запуска Yggdrasil -exportkey приватный ключ можно экспортировать в формате PEM
  # и после этого указать путь к нему с помощью параметра PrivateKeyPath. Пример:
  # yggdrasil -exportkey -useconffile /etc/yggdrasil/yggdrasil.conf >/etc/yggdrasil/privatekey.pem
  #
  # PrivateKeyPath: /etc/yggdrasil/privatekey.pem
  # Эту возможность можно использовать для создания шаблона конфигурационного файла, если
  # вы используете Yggdrasil на нескольких устройствах.

  # Список строк подключения для исходящих соединений с другими пирами в формате URI,
  # например, tls://a.b.c.d:e или socks://a.b.c.d:e/f.g.h.i:j. Эти соединения
  # будут подчиняться таблице маршрутизации операционной системы. Этот раздел следует
  # использовать, когда в системе несколько интерфейсов, через которые возможно подключение.
  Peers: []

  # Список строк подключения для исходящих соединений с другими пирами в формате URI,
  # упорядоченных по исходному интерфейсу, например { "eth0": [ tls://a.b.c.d:e ] }.
  # Обратите внимание, что эти параметры НЕ применимы к пирингу через SOCKS и вместо этого
  # SOCKS должны указываться в параметре "Peers".
  InterfacePeers: {}

  # Адрес прослушивания (ожидания) входящих подключений. Добавить Listener нужно, если вы
  # хотите, чтобы к вам могли подключиться другие нелокальные узлы, указав ваш адрес в параметре 
  # Peers.
  # Multicast peer discovery (протокол для обнаружения пиров в локальной сети) будет работать 
  # независимо от установок в этом разделе.
  # Каждый Listener должен быть указан в формате URI, как показано выше, например:
  # tls://0.0.0.0:0 or tls://[::]:0 для прослушивания на всех интерфейсах.
  # Если не хотите принимать входящие соединения, оставьте пустым.
  # Для публичных пиров Listener обязателен.
  Listen: []

  # Адрес прослушивания для административных подключений. По-умолчанию прослушивание локальных 
  # подключений осуществляется либо на TCP/9001, либо через сокет UNIX, в зависимости от вашей
  # платформы. Используйте это значение для yggdrasilctl -endpoint=X. Для отключения
  # сокета администратора используйте значение "none".
  AdminListen: tcp://localhost:9001
  #
  # либо: AdminListen: /var/run/yggdrasil/yggdrasil.sock #в настройках systemd-юнита разрешена
  # запись только в /var/run/yggdrasil/ и /run/yggdrasil/

  # Настройка интерфейсов, для которых Multicast Peer Discovery должно быть
  # включено. Каждая запись в списке должна быть объектом json, который может
  # содержать Regex, Beacon, Listen и Port. Regex  - это регулярное 
  # выражение, по которому выбирается имя интерфейса; выбирается первый 
  # соответствующий Regex интерфейс. Beacon определяет должен ли узел
  # отправлять link-local многоадресные сигналы для оповещения о своем существовании,
  # пока ожидаются входящие соединения на TCP порту Port.
  # Listen определяет будет ли узел ожидать/прослушивать многоадресные сигналы (beacons)
  # и открывать исходящие соединения.
  # ПОДРОБНЕЕ СМ. СТАТЬЮ "MULTICAST PEER DISCOVERY" НА ЭТОМ РЕСУРСЕ
  MulticastInterfaces: [
    {
      Regex: .*
      Beacon: true
      Listen: true
      Port: 0
      Priority: 0
      Password: ""
    }
  ]

  # Список открытых ключей узлов, от которых разрешены входящие подключения.
  # Если оставлено пустым/неопределенным тогда все соединения
  # будут разрешены по-умолчанию. Это не повлияет ни на исходящие соединения, ни на
  # локальные соединения с пирами, обнаруженными через multicast (многоадресная рассылка).
  AllowedPublicKeys: []

  # Имя локального сетевого интерфейса TUN-адаптера, или "auto" для выбора
  # интерфейса автоматически, или "none" для запуска без TUN.
  IfName: Yggdrasil

  # Максимальный размер передаваемого блока (MTU - Maximum Transmission Unit) 
  # для вашего локального TUN-интерфейса.
  # По умолчанию это самый большой поддерживаемый размер для вашей платформы. Наименьшее 
  # возможное значение - 1280.
  IfMTU: 65535

  # По-умолчанию, nodeinfo содержит некоторые значения, включая название платформы,
  # архитектуру и версию Yggdrasil. Эти значения могут помочь при изучении сети, диагностике
  # проблем сетевой маршрутизации. Включение приватности
  # nodeinfo предотвращает публикацию этих данных и только значения, указанные в 
  # "NodeInfo" (если указаны) будут отправлены запрашивающему узлу.
  NodeInfoPrivacy: false

  # Дополнительная произвольная информация об узле. Знечение должно быть строкой, 
  # представляющей собой map { "key": "value", ... } или null.
  # Это совершенно необязательно, но если значения заданы, они будут видны всем узлам сети
  # при выполнении соответствующего запроса.
  NodeInfo: {}
}

Yggdrasil версии 0.4

{
  # Список строк подключения для исходящих соединений с другими пирами в формате URI,
  # например, tls://a.b.c.d:e или socks://a.b.c.d:e/f.g.h.i:j. Эти соединения
  # будут подчиняться таблице маршрутизации операционной системы. Этот раздел следует
  # использовать, когда в системе несколько интерфейсов, через которые возможно подключение.
  Peers: []
  
  # Список строк подключения для исходящих соединений с другими пирами в формате URI,
  # упорядоченных по исходному интерфейсу, например { "eth0": [ tls://a.b.c.d:e ] }.
  # Обратите внимание, что эти параметры НЕ применимы к пирингу через SOCKS и вместо этого
  # SOCKS должны указываться в параметре "Peers".
  InterfacePeers: {}
  
  # Адрес прослушивания (ожидания) входящих подключений. Добавить Listener нужно, если вы
  # хотите, чтобы к вам могли подключиться другие нелокальные узлы, указав ваш адрес в параметре 
  # Peers.
  # Multicast peer discovery (протокол для обнаружения пиров в локальной сети) будет работать 
  # независимо от установок в этом разделе.
  # Каждый Listener должен быть указан в формате URI, как показано выше, например:
  # tls://0.0.0.0:0 or tls://[::]:0 для прослушивания на всех интерфейсах.
  # Если не хотите принимать входящие соединения, оставьте пустым.
  # Для публичных пиров Listener обязателен.
  Listen: []
  
  # Адрес прослушивания для административных подключений. По-умолчанию прослушивание локальных 
  # подключений осуществляется либо на TCP/9001, либо через сокет UNIX, в зависимости от вашей
  # платформы. Используйте это значение для yggdrasilctl -endpoint=X. Для отключения
  # сокета администратора используйте значение "none".
  AdminListen: unix:///var/run/yggdrasil.sock
  
  # Настройка интерфейсов, для которых Multicast Peer Discovery должно быть
  # включено. Каждая запись в списке должна быть объектом json, который может
  # содержать Regex, Beacon, Listen и Port. Regex  - это регулярное 
  # выражение, по которому выбирается имя интерфейса; выбирается первый 
  # соответствующий Regex интерфейс. Beacon определяет должен ли узел
  # отправлять link-local многоадресные сигналы для оповещения о своем существовании,
  # пока ожидаются входящие соединения на TCP порту Port.
  # Listen определяет будет ли узел ожидать/прослушивать многоадресные сигналы (beacons)
  # и открывать исходящие соединения.
  # ПОДРОБНЕЕ СМ. СТАТЬЮ "MULTICAST PEER DISCOVERY" НА ЭТОМ РЕСУРСЕ
  MulticastInterfaces:
  [
    {
      Regex: .*
      Beacon: true
      Listen: true
      Port: 0
    }
  ]
  
  # Список открытых ключей узлов, от которых разрешены входящие подключения.
  # Если оставлено пустым/неопределенным тогда все соединения
  # будут разрешены по-умолчанию. Это не повлияет ни на исходящие соединения, ни на
  # локальные соединения с пирами, обнаруженными через multicast (многоадресная рассылка).
  AllowedPublicKeys: []
 
  # Ваш публичный (открытый) ключ. Те, с кем вы соединяетесь могут попросить у вас этот ключ
  # для указания в разделе AllowedPublicKeys их конфигурации.
  PublicKey: a999ccc664e0d645e76ed1fa2cf169806e4674725f3d6213d2c92869976eb01e
  
  # Ваш приватный ключ. НЕ ДЕЛИТЕСЬ этим ключом ни с кем!
  PrivateKey: 711895e5625cc787c06e7e03c49ed71470cf87dfb626985f1cb669a24a479c3ea999ccc664e0d645e76ed1fa2cf169806e4674725f3d6213d2c92869976eb01e
  
  # Имя локального сетевого интерфейса TUN-адаптера, или "auto" для выбора
  # интерфейса автоматически, или "none" для запуска без TUN.
  IfName: auto

  # Максимальный размер передаваемого блока (MTU - Maximum Transmission Unit) 
  # для вашего локального TUN-интерфейса.
  # По умолчанию это самый большой поддерживаемый размер для вашей платформы. Наименьшее 
  # возможное значение - 1280.
  IfMTU: 65535
  
  # По-умолчанию, nodeinfo содержит некоторые значения, включая название платформы,
  # архитектуру и версию Yggdrasil. Эти значения могут помочь при изучении сети, диагностике
  # проблем сетевой маршрутизации. Включение приватности
  # nodeinfo предотвращает публикацию этих данных и только значения, указанные в 
  # "NodeInfo" (если указаны) будут отправлены запрашивающему узлу.
  NodeInfoPrivacy: false

  # Дополнительная произвольная информация об узле. Знечение должно быть строкой, 
  # представляющей собой map { "key": "value", ... } или null.
  # Это совершенно необязательно, но если значения заданы, они будут видны всем узлам сети
  # при выполнении соответствующего запроса.
  NodeInfo: {}
}

Yggdrasil версии 0.3.14

{
  # Список строк подключения для исходящих соединений с другими пирами в формате URI,
  # например, tcp://a.b.c.d:e или socks://a.b.c.d:e/f.g.h.i:j. Эти соединения
  # будут подчиняться таблице маршрутизации операционной системы, поэтому вы должны
  # использовать этот раздел, когда вы можете подключаться через различные интерфейсы.
  Peers: []

  # Список строк подключения для исходящих соединений с другими пирами в формате URI,
  # упорядоченных по исходному интерфейсу, например { "eth0": [ tcp://a.b.c.d:e ] }.
  # Обратите внимание, что эти параметры НЕ применимы к пирингу через SOCKS и вместо этого
  # SOCKS должны перейти в раздел "Peers".
  InterfacePeers: {}

  # Адрес прослушивания (ожидания) входящих подключений. Добавить слушателей необходимо
  # для того, чтобы принимать входящие соединения от нелокальных узлов.
  # Multicast peer discovery (протокол для обнаружения пиров в локальной сети) будет работать 
  # независимо от установок в этом разделе.
  # Каждый слушатель должен быть указан в формате URI, как показано выше, например:
  # tcp://0.0.0.0:0 or tcp://[::]:0 для прослушивания на всех интерфейсах.
  Listen: []

  # Адрес прослушивания для административных подключений. По-умолчанию прослушивание локальных 
  # подключений осуществляется либо на TCP/9001, либо через сокет UNIX, в зависимости от вашей
  # платформы. Используйте это значение для yggdrasilctl -endpoint=X. Для отключения
  # сокета администратора используйте значение "none".
  AdminListen: unix:///var/run/yggdrasil.sock

  # Регулярные выражения, в соответствии с которыми будет включено 
  # multicast peer discovery (см. выше). Если не указано ничего, multicast peer discovery будет
  # отключен. Значение по-умолчанию: .*, что соответствует всем интерфейсам.
  MulticastInterfaces:
  [
    .*
  ]

  # Список открытых ключей шифрования пиров, от которых разрешены входящие
  # подключения. Если оставлено пустым/неопределенным тогда все соединения
  # будут разрешены по-умолчанию. Это не повлияет ни на исходящие соединения, ни на
  # локальные соединения с пирами, обнаруженными через multicast (многоадресная рассылка).
  AllowedEncryptionPublicKeys: []

  # Ваш публичный (открытый) ключ шифрования. Те, с кем вы соединяетесь могут попросить у вас этот ключ
  # для указания в разделе AllowedEncryptionPublicKeys их конфигурации.
  EncryptionPublicKey: a999ccc664e0d645e76ed1fa2cf169806e4674725f3d6213d2c92869976eb01e

  # Ваш приватный ключ шифрования. НЕ ДЕЛИТЕСЬ этим ключом ни с кем!
  EncryptionPrivateKey: 711895e5625cc787c06e7e03c49ed71470cf87dfb626985f1cb669a24a479c3e

  # Ваш открытый ключ для подписывания. В общем случае, вам не нужно ни с кем делиться
  # этим ключом.
  SigningPublicKey: 050a7f72d7ad3917e0e1aa615d605653c9f82d2183b8b43ca97efb7d5cc49c93

  # Ваш приватный ключ для подписывания. НЕ ДЕЛИТЕСЬ этим ключом ни с кем!
  SigningPrivateKey: c2be71a619c9eb498d9fde9792ba7399223773bb063d0d6eefb213f623f387e2050a7f72d7ad3917e0e1aa615d605653c9f82d2183b8b43ca97efb7d5cc49c93

  # Номер порта, который будет использован локальными TCP слушателями для
  # сконфигурированных MulticastInterfaces (многоадресных интерфейсов). 
  # Эта опция не влияет на слушателей, указанных в параметре Listen.
  # Если вы не планируете использовать файервол для локального трафика,
  # будет лучше, если вы оставите это значение по-умолчанию равным 0. В настоящее время
  # этот параметр не может быть изменен путем перезагрузки конфигурации во время выполнения.
  LinkLocalTCPPort: 0

  # Имя локального сетевого интерфейса TUN-адаптера, или "auto" для выбора
  # интерфейса автоматически, или "none" для запуска без TUN.
  IfName: auto

  # Максимальный размер передаваемого блока (MTU - Maximum Transmission Unit) 
  # для вашего локального TUN-интерфейса.
  # По умолчанию это самый большой поддерживаемый размер для вашей платформы. Наименьшее 
  # возможное значение - 1280.
  IfMTU: 65535

  # Межсетевой экран сеанса управляет тем, кто может отправлять/получать исходящий/входящий
  # сетевой трафик. Это полезно, если вы хотите защитить узел без использования
  # настоящего файервола. Эта настройка не влияет на трафик, идущий через этот узел 
  # в другое место. Правила имеют следующие приоритеты:
  # черный список, белый список, всегда разрешенные исходящие, прямые, удаленные.
  SessionFirewall:
  { 
    # Включение или отключение файервола сессии. Если отключено, сетевой трафик  
    # от любого узла будет разрешен. Если включено, применяются правила, приведенные ниже. 
    Enable: false
 
    # Разрешить сетевой трафик от узлов, подключенных напрямую. 
    AllowFromDirect: true
 
    # Разрешить трафик с удаленных узлов сети, к которым вы
    # не подключены напрямую. 
    AllowFromRemote: true
 
    # Разрешить исходящий трафик, независимо от AllowFromDirect или  
    # AllowFromRemote. Это разрешает удаленному узлу отправлять вам обратно   
    # незапрашиваемый трафик на протяжении всей сессии. 
    AlwaysAllowOutbound: true
 
    # Список открытых ключей узлов, с которых трафик всегда будет разрешен,   
    # независимо от AllowFromDirect или AllowFromRemote. 
    WhitelistEncryptionPublicKeys: []
 
    # Список открытых ключей узлов, с которых трафик всегда будет отклонен,  
    # независимо от белого списка, AllowFromDirect or AllowFromRemote. 
    BlacklistEncryptionPublicKeys: []
  }

  # Разрешить туннелирование не-Yggdrasil трафика через Yggdrasil. Это позволяет
  # эффективно использовать Yggdrasil для маршрутизации в другие сети или соединения с другими сетями,
  # аналогично VPN-туннелю. Туннелирование работает между любыми двумя узлами и
  # не требует их прямого соединения.
  TunnelRouting:
  { 
    # Включить или отключить туннельную маршрутизацию. 
    Enable: false
 
    # IPv6-подсети, приналежащие удаленным узлам, сопоставленные по публичным   
    # ключам узлов, например: { "aaaa:bbbb:cccc::/e": "boxpubkey", ... } 
    IPv6RemoteSubnets: {}
 
    # IPv6-подсети, принадлежащие этой стороне туннеля этого узла. Трафик только  
    # из этих диапазонов (или IPv6-адреса/подсети узла Yggdrasil)  
    # будет туннелирован. 
    IPv6LocalSubnets: []
 
    # IPv4-подсети, приналежащие удаленным узлам, сопоставленные по публичным
    # ключам узлов, например: { "a.b.c.d/e": "boxpubkey", ... } 
    IPv4RemoteSubnets: {}
 
    # IPv4-подсети, принадлежащие этой стороне туннеля этого узла. Трафик только  
    # из этих диапазонов будет туннелирован.
    IPv4LocalSubnets: []
  }

  # Дополнительные опции настройки коммутатора. Обычно вам не нужно будет 
  # редактировать эти опции.
  SwitchOptions:
  { 
    # Максимальный суммарный размер всех очередей коммутаторов (в байтах). 
    MaxTotalQueueSize: 4194304
  }

  # По-умолчанию, nodeinfo содержит некоторые значения, включая название платформы,
  # архитектуру и версию Yggdrasil. Эти значения могут помочь при изучении сети, диагностике
  # проблем сетевой маршрутизации. Включение приватности
  # nodeinfo предотвращает публикацию этих данных и только значения, указанные в 
  # "NodeInfo" (если указаны) будут отправлены запрашивающему узлу.
  NodeInfoPrivacy: false

  # Дополнительная произвольная информация об узле. Знечение должно быть строкой, 
  # представляющей собой map { "key": "value", ... } или null.
  # Это совершенно необязательно, но если значения заданы, они будут видны всем узлам сети
  # при выполнении соответствующего запроса.
  NodeInfo: {}
}