Как дублировать многоадресные пакеты на нескольких интерфейсах?

Как дублировать многоадресные пакеты на нескольких интерфейсах?

Я хотел бы отправить поток с сервера Linux нескольким клиентам Linux через multicast-адрес. Клиенты напрямую подключены к серверу, но наразные интерфейсы: bnep0и bnep1. Кроме того, насколько я понимаю, мои многоадресные пакеты направляются на мой шлюз по умолчанию eth0.

Таблица маршрутизации далее:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 bnep1
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 bnep0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Я полагаю, что мне нужно создать выделенное правило маршрутизации, чтобы мои многоадресные пакеты отправлялись не на eth0, а на bnep0и bnep1. Мой вопрос: как мне это сделать? Я пробовал использовать ip routeи iptables -t mangle ... TEE, но у меня ничего не получилось.

Заранее спасибо.

решение1

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

Для этого вам нужно создать и использовать сетевой мост. Мост должен иметь уникальный IP-адрес, тогда как «реальные» интерфейсы не должны, даже если они будут работать.

# apt-get install bridge-utils
# ifconfig bnep0 up
# ifconfig bnep1 up
# brctl addbr br0
# brctl addif br0 bnep0
# brctl addif br0 bnep1
# ifconfig br0 10.0.0.1 netmask 255.255.255.0

Связанный контент