Multicast Peer Discovery - это технология автоматического обнаружения пиров Yggdrasil в локальной сети.
Когда в локальной сети Yggdrasil запущен на нескольких устройствах благодаря этой технологии все эти узлы обнаружат друг друга и автоматически установят соединение между собой, прописывать их в секции Peers
конфиграционного файла нет необходимости.
ВАЖНО: Multicast Peer Discovery в Yggdrasil работает только с link-local IPv6 адресами устройств в локальной сети (диапазон fe80::/10
), с IPv4 не работает! Т.е., на интерфейсах вашей локальной сети должна быть включена поддержка IPv6 и устройства должны иметь IPv6 link-local адреса в локальной сети (между ними дожен работать ping). Если настроить IPv6 в локальной сети для вас затруднительно, вы можете вручную прописывать в конфигурационном файле Yggdrasil IPv4 локальные адреса устройств в качестве пиров (листенеры настраиваются в секции Listen
).
Multicast Peer Discovery включено по-умолчанию. Окрывает UDP порт 9001 (для прослушивания сигналов о существовании от других узлов). Настраивается MPD в параметре MulticastInterfaces
конфигурационного файла.
По-умолчанию параметр выглядит так:
MulticastInterfaces: [ { Regex: .* Beacon: true Listen: true Port: 0 Priority: 0 Password: "" } ]
0
, порт будет назначен случайным образом.Объектов json в массиве MulticastInterfaces может быть несколько (т.е., для каждого интерфейса свой объект). Пример:
MulticastInterfaces: [ { Regex: eth0 Beacon: true Listen: false Port: 0 }, { Regex: wlo1 Beacon: false Listen: true Port: 0 } ]
Для примера, если вы хотите, чтобы в локальной сети все узлы подключались к одному пиру в этой же сети и не соединялись между собой каждый с каждым, нужно на одном узле установить Beacon
в true
, а на остальных узлах Beacon
в false
и Listen
в true
.
Чтобы полностью отключить Multicast Peer Discovery нужно привести MulticastInterfaces к такому виду:
MulticastInterfaces: []
UPD порт 9001 после этого открыт не будет, «сигналы» о присутсвии отправляться не будут.