====== Конфигурационный файл 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: {}
}
~~DISCUSSION~~