Routing
配置網橋以將流量發送到外部交換機
我使用橋接網路在 KVM/QEMU (RHEL 6.0) 之上創建了 3 個 VM。為 eth1 創建了一個網橋,所有虛擬機都使用該網橋進行網路連接。所有這些虛擬機都具有相同的子網地址。所有這些機器都能夠相互 ping 通,因為網橋負責這些機器之間的路由。我試圖實現的場景是我不希望網橋在這些機器之間進行路由。我希望網橋將所有流量從這些機器發送到外部邊緣交換機並讓他進行路由。所以我對如何做到這一點有以下想法,但不確定這些是否可行:
- 在 NIC (eth1) 上創建多個網橋,並將每台機器連接到同一 NIC 上的不同網橋。因此,我希望它將流量發送到外部交換機,但不確定如何處理反向流量。AFAIK 我們無法在單個 NIC 卡上創建多個網橋。但是如果有人知道方法,請分享。
- 在網橋中配置規則,所有來自 VM 機器埠的流量都應該被定向到 NIC 到外部交換機,並且可以像通常的網橋方式一樣路由傳入的流量。我也不確定這是否可行。如果它可行任何想法如何做到這一點?
不確定是否存在可用於實現此場景的任何其他聯網方式。請分享您的想法,如果您需要我的更多資訊,請告訴我。
您嘗試執行的操作存在問題:交換機不會將數據包轉發到原始埠以避免循環。
您正在尋找的是 VEPA aka Virtual Ethernet Port Aggregator aka 802.1Qbg。它在最近的 Linux 核心(2.6.34+)中。您可以在 RHEL6/Centos 6 中找到它,因為 RedHat 向後移植了它。但是您還需要一個支持 VEPA 的開關(我現在什至不確定它是否存在)。
您可以使用 libvirt 創建 VEPA 網路:
<network> <name>network1</name> <forward mode="vepa"> <interface dev="eth1"/> </forward> </network>