Linux-Networking

如何連接 veth 介面以橋接從埠

  • October 20, 2022

這可能會更容易用圖表來解釋,所以這是基本設置

有 2 個容器10.0.0.110.0.0.2在主機內執行,我還創建了一個 linux 橋br0

每個容器都將其自己的網路介面視為 eth0,但主機將其視為vethxxxx。查看基本設置中的圖片,容器之間沒有連接。

可以輕鬆地使用brctl addif將兩個 veth 介面添加到網橋中,它們將能夠立即進行通信,但這並不是我想要做的。

想做的是能夠對容器之間的轉發進行更精細的控制;模擬由主機控制的br0上的託管開關。如果這些是物理機器,我相信這可以使用 nmcli 來完成,例如:

nmcli connection add type ethernet slave-type bridge con-name br0-port1 ifname <port name> master br0

然後將機器的電纜連接到該命令中使用的埠。

有沒有辦法有效地虛擬實現相同的設置(如圖片#3)?

您不能將 veth 介面“附加”到網橋埠;您可以通過將其添加到網橋來使其成為網橋埠。

veth 介面實際上是在一對埠之間執行的虛擬乙太網電纜。您通常在容器上下文中使用它們的方式是“電纜”的一端eth0進入容器內部,另一端作為橋接埠添加,因此您最終得到:

在此處輸入圖像描述

linux 網橋設備的作用類似於託管交換機,您可以配置每個埠的 vlan、控制每個埠的 stp 等。

引用自:https://serverfault.com/questions/1113612