Iptables
如何在多個介面上複製多播數據包?
我想通過多播地址將流從 Linux 伺服器發送到多個 Linux 客戶端。客戶端直接連接到伺服器,但在不同的介面上:
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
andiptables -t mangle ... TEE
,但沒有成功。提前致謝。
解決方案不是為了在兩個介面上複製包而實施路由規則,而是將介面合併為一個。
為此,您必須創建和使用網橋。網橋應具有唯一的 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