Networking

如何用 ip/iproute2 橋接兩個介面?

  • November 29, 2021

我知道如何使用 來創建橋接器brctl,但有人建議我不要再使用它,而是使用iproute2orip代替(因為brctl可能已棄用)。假設這是一個很好的建議,我如何使用創建橋樑ip?例如,假設我想橋接eth0eth1.

您可以使用bridgeobject ipip命令,或bridge構成包一部分的命令iproute2

基本連結操作

要創建一個名為 的橋br0,該橋具有eth0eth1作為成員:

ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0
ip link set dev eth1 master br0

要從網橋中刪除介面:

ip link set dev eth0 nomaster

最後,在沒有介面成為成員後銷毀橋:

ip link del br0

轉發操作

要操作橋的其他方面,例如 FDB(轉發數據庫),我建議您查看bridge(8) 命令。例子:

顯示轉發數據庫br0

bridge fdb show dev br0

禁用埠(eth0)處理BPDU。這將使介面過濾任何傳入的 bpdu

bridge link set dev eth0 guard on

STP Cost設置為埠(eth1例如):

bridge link set dev eth1 cost 4

在 eth1 上設置 root 保護:

bridge link set dev eth1 root_block on

成本是使用一些因素計算的,鏈路速度是其中之一。使用固定成本並禁用 BPDU 處理並啟用 root_block 在某種程度上類似於guard-root交換機的功能。

其他功能,如 vepa、veb 和髮夾模式可以在bridge link子命令列表中找到。

VLAN 規則操作

bridge 命令中的vlan對象將允許您在網橋上創建入口/出口過濾器。

要顯示是否有任何 vlan 入口/出口過濾器:

bridge vlan show

向給定介面添加規則:

bridge vlan add dev eth1 <vid, pvid, untagged, self, master>

刪除規則。vlan add使用與命令末尾相同的參數刪除特定規則。

bridge vlan delete dev eth1

相關資料:

引用自:https://unix.stackexchange.com/questions/255484