具有兩個 NIC 的 KVM 網橋
你好,
我正在嘗試使用 KVM 建立橋接網路,但無處可去。有關於該主題的文件和教程,但它們似乎都存在衝突或沒有提供足夠的資訊。我想知道是否有人可以給我一個關於如何使它工作的高級概述。我可能自己可以解決細節(配置介面、添加路由等),我只需要大局的幫助:一切是如何相互連接的。
我有一個安裝並執行 KVM 的 RHEL5 伺服器。它有兩個物理網卡,eth0 和 eth1 在同一個 VLAN 中。我想將 eth1 用於來賓與網路其餘部分之間的所有流量,並儘可能保留 eth0 用於主機管理、來賓遷移等。我並不挑剔哪一個獲得預設路由,儘管如果我們能將它設為 eth0 那就太好了。所有來賓都將擁有靜態 IP。我希望在添加新來賓時,只需要從來賓本身內部設置網路配置。基本上,我想要這個:
eth0:所有主機流量
eth1:所有訪客流量
如果這不可能或會很笨拙/困難,請接受任何其他建議。指向現有文件的指針可能沒有幫助,因為我已經了解了幾乎所有內容。
謝謝你的幫助。
更新
好的,這是我目前所擁有的:
- eth0 正常配置為靜態 IP 地址。那裡沒有驚喜。
- br0 作為沒有 IP 地址的網橋啟動
- eth1 啟動時沒有 IP 地址。它被添加到 br0 網橋。
- VM 實例配置為使用 br0 並配置了靜態 IP 地址
使用此配置,我可以從來賓內部連接到外部機器,但發往來賓的數據包永遠不會成功。到目前為止,這是我的配置:
# cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=none ONBOOT=YES # cat /etc/sysconfig/network-scripts/ifcfg-eth0 # host-only interface DEVICE=eth0 TYPE=Ethernet HWADDR=00:23:7D:E1:1F:22 IPADDR=10.8.91.18 NETMASK=255.255.252.0 GATEWAY=10.8.91.254 BOOTPROTO=none ONBOOT=yes # cat /etc/sysconfig/network-scripts/ifcfg-eth1 # guest-only interface DEVICE=eth1 TYPE=Ethernet BRIDGE=br0 HWADDR=00:23:7d:e1:1f:26 BOOTPROTO=NONE ONBOOT=YES (virbr0 is the default kvm/libvirt NAT bridge, it's not being used here) # brctl show bridge name bridge id STP enabled interfaces br0 8000.00237de11f26 no vnet0 eth1 virbr0 8000.000000000000 yes # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 10.8.88.0 * 255.255.252.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 10.8.91.254 0.0.0.0 UG 0 0 0 eth0
這是來賓的 libvirt XML 定義的相關部分:
<interface type='bridge'> <mac address='54:52:00:76:94:73'/> <source bridge='br0'/> </interface>
更新 2
好吧,我想我已經準備好了。我的客戶作業系統(SLES 11,我不熟悉)預設具有一組相當嚴格的防火牆規則,這讓我大吃一驚。一旦防火牆被清空,我就可以進出連接。
我想您知道如何在 NIC 上設置網橋,所以基本上您只需要在兩個 NIC 上設置兩個網橋,然後啟動 VM 以連接到正確的網橋。想想看,其中一個 NIC 可以不用橋接器,因為客人不需要使用它。
這是我看待問題的一般描述。你能不能展示一下你現在做了什麼,所以我們可以試著找出你犯的錯誤,如果有的話
我有一個類似的場景,將 ubuntu 12.04.02 作為伺服器作業系統。
我目前的單身客人正在執行 CentOS。
伺服器有 4 個 NIC,我想單獨為伺服器執行 eth0,將 eth1 用於 iSCSI 到儲存,eth2 和 eth3 用於來賓。
Eth0、eth2 和 eth3 連接到同一個區域網路。
我不確定我是否正確地弄清楚瞭如何設置介面。
到目前為止,我發現的描述僅涉及伺服器中的 1 個 NIC。
目前我已經使用 dhcp IP 配置了 eth0,因為我在 dhcp 伺服器上使用了固定預留。
我的 eth2 橋名為 br2
我已將 eth2 和 br2 配置如下
auto eth2 iface eth2 inet manual auto br2 iface br2 inet manual bridge_ports eth2 netmask 255.255.255.0 network 192.168.168.0 gateway 192.168.168.1 broadcast 192.168.168.255 bridge_stp off bridge_fd 0 bridge_maxwait 0
和
brctl addif br2 eth2
eth2 和 br2 介面按預期在沒有 IP 的情況下啟動。
然後,客人還使用 dhcp 請求他們的地址。