Linux-Networking
如何連接 veth 介面以橋接從埠
這可能會更容易用圖表來解釋,所以這是基本設置:
有 2 個容器10.0.0.1和10.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 等。