如何在多個介面上複製組播封包?

如何在多個介面上複製組播封包?

我想透過多播位址將流從 Linux 伺服器傳送到多個 Linux 用戶端。客戶端直接連接到伺服器,但在不同的介面bnep0bnep1。此外,據我了解,我的多播封包被路由到我的預設閘道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,而是同時發送到bnep0bnep1。我的問題是:我怎麼能做到這一點?我嘗試使用ip routeiptables -t mangle ... TEE,但沒有成功。

提前致謝。

答案1

解決方案不是為了在兩個介面上複製套件而實現路由規則,而是合併接口合而為一。

為此,您必須建立並使用網橋。橋接器應具有唯一的 IP 位址,而「真實」介面則不應具有唯一的 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

相關內容