Используйте ip route add для добавления многоадресных маршрутов к нескольким устройствам.

TLDR: есть ли способ использовать "ip route" для добавления многоадресных маршрутов для нескольких сетевых карт?

У нас есть программное обеспечение, которое соединяет два сокета, привязанных к разным IP-адресам в отдельной NICS, к двум отдельным группам многоадресной рассылки, например, сокет 1 связан с 192.168.0.2 и присоединен к группе многоадресной рассылки 233.255.10.1, а сокет 2 связан с 10.57.31.2 и присоединен к многоадресная группа 239.255.100.1.

В настоящее время мы используем скрипт bash (ядро Linux 3.14.39) для установки многоадресных маршрутов на двух сетевых интерфейсах с использованием маршрута, например

route add -net 224.0.0.0 netmask 240.0.0.0 eth0
route add -net 224.0.0.0 netmask 240.0.0.0 eth1

и проверено по маршруту -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth0
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth1

Я недавно прочитал, что маршрут устарел / устарел, и что вместо этого мы должны использовать ip route, например

ip route add 224.0.0.0/4 dev eth0
ip route add 224.0.0.0/4 dev eth1

К сожалению, второй вызов завершается с ошибкой "ответы RTNETLINK: файл существует", и, конечно, второй маршрут не отображается после этих вызовов.

Есть ли способ использовать IP-маршрут для добавления многоадресных маршрутов к нескольким сетевым картам?

Я могу использовать /8 в качестве сетевой маски? например

ip route add 233.0.0.0/8 dev eth0

а также

ip route add 239.0.0.0/8 dev eth1

но это проблематично, так как скрипт, который делает это, не знает, какой адрес многоадресной рассылки связан с каким устройством, и его не всегда гарантированно будет одинаковым в зависимости от конфигурации системы. Используя мой первый пример добавления маршрута, это не проблема.

0 ответов

Другие вопросы по тегам