为什么以太网桥接不能与 OpenStack 兼容?

为什么以太网桥接不能与 OpenStack 兼容?

我正在尝试使用 nova.network.manager.FlatManager 网络管理器设置 OpenStack,该管理器(在我的设置中)将每个虚拟机连接到 br100 网桥。

在我的主机上,我使用以下网络设置:

auto lo
  iface lo inet loopback

auto eth0
  iface eth0 inet static
  address 192.168.0.50
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1

auto eth0:0
iface eth0:0 inet static
  address 192.168.100.1
  netmask 255.255.255.0
  broadcast 192.168.100.255

其结果为以下接口配置:

eth0      Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
          inet addr:192.168.0.50  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:92ff:fe08:1543/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5177 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:572855 (572.8 KB)  TX bytes:1812681 (1.8 MB)
          Interrupt:43 Base address:0x6000 

eth0:0    Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
          inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:43 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:49079 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49079 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:25157104 (25.1 MB)  TX bytes:25157104 (25.1 MB)

virbr0    Link encap:Ethernet  HWaddr c6:b2:4f:da:cd:ff  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vnet1     Link encap:Ethernet  HWaddr fe:16:3e:3a:77:dc  
          inet6 addr: fe80::fc16:3eff:fe3a:77dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:153 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:6642 (6.6 KB)  TX bytes:468 (468.0 B)

桥接配置(brctl show)如下所示:

bridge name     bridge id               STP enabled     interfaces
br100           8000.fe163e3a77dc       no              vnet1
virbr0          8000.000000000000       yes

我已经创建了一个虚拟机(使用 vnet1),其分配了 IP 地址 192.168.100.2。

对我来说,一切似乎都很好,除了 eth0:0 没有连接到网桥。当我尝试通过运行 来更改这一点时brctl addif br100 eth0:0,网络完全中断(我无法再 ping 192.168.0.x 子网上的其他主机),但我仍然无法 ping 连接到网桥的虚拟机(使用 vnet1 接口)。

如何在不中断 eth0 LAN 连接的情况下将 eth0:0 连接到网桥?或者在只有一个物理网络适配器的主机上,是否有更好的方式在 OpenStack 测试环境中进行联网?

答案1

首先,忘记virbr0——这是由虚拟器且不相关。

对于具有一个 NIC 的“一体化” Openstack 服务器,不需要另一个别名虚拟接口。正如 Openstack 指南中讨论的那样,你应该桥br100接到你的民众IP 地址(eth0),并让 Nova 创建实例并将它们桥接到br100

例如将以下内容添加到/etc/network/interfaces,并根据需要修改为静态:

汽车 br100
iface br100 inet dhcp
    bridge_ports eth0
    bridge_stp 关闭
    bridge_maxwait 0
    bridge_fd 0

必须通过--fixed-range中的选项nova.conf并将--flat_network_bridge选项设置为 来配置允许的私有 IP 子网br100

请粘贴您的nova.conf问题以帮助进一步排除故障!

相关内容