У меня есть сервер с несколькими сетевыми адаптерами. Каждый сетевой адаптер подключен к отдельной изолированной сети, обслуживающей многоадресный трафик. У меня есть программа, которая прослушивает многоадресный трафик в каждой из этих сетей. Прямо сейчас я должен указать в своей программе, какой интерфейс использовать как часть многоадресного соединения. Это не страшно, но немного неудобно.
Можно ли использовать маршруты для воздействия на этот процесс? Предположим, у меня есть две группы многоадресной рассылки:
A. 224.1.2.32 39312 eth1
B. 224.1.11.19 59328 eth2
Могу ли я добавить два маршрута в таблицу маршрутизации, чтобы, когда я присоединяюсь к группе многоадресной рассылки из моего кода, ядро знает, что нужно отправить группу A, которая присоединяется к eth1, а группа B присоединяется к eth2? Мне не удалось заставить его вести себя так, как я хочу. Добавление различных маршрутов, похоже, не влияет на этот процесс, и я обнаружил, что единственный способ повлиять на выбор интерфейса - это указать его в коде как часть multicast_request
структура данных.
Я предполагаю, что вам, вероятно, нужно взглянуть на установку демона маршрутизации, чтобы включить многоадресную маршрутизацию и управление группами. У меня не было возможности много с ней поиграть. Мне нужно было настроить Xorp чтобы заставить работать некоторые функции многоадресной рассылки в системе VOIP.