配置网络桥接

警告

本章节非常重要,请务必彻底理解。

注解

本章节详细介绍了如何使用Linux自带的软件配置桥接网络。如果要使用OpenVswitch,请看下一章节。

为了转发流量到实例,至少需要两个桥接网络: publicprivate

By default these bridges are called cloudbr0 and cloudbr1, but you do have to make sure they are available on each hypervisor.

最重要的因素是所有hypervisors上的配置要保持一致。

网络示例

配置网络有很多方法。在基本网络模式中你应该拥有2个 (V)LAN,一个用于管理网络,一个用于公共网络。

假设hypervisor中的网卡(eth0)有3个VLAN标签:

  1. VLAN 100 作为hypervisor的管理网络

  2. VLAN 200 for public network of the instances (cloudbr0)

  3. VLAN 300 作为实例的专用网络 (cloudbr1)

在VLAN 100 中,配置Hypervisor的IP为 192.168.42.11/24,网关为192.168.42.1

注解

Hypervisor与管理服务器不需要在同一个子网!

配置网络桥接

配置方式取决于发行版类型,下面给出RHEL/CentOS和Ubuntu的配置示例。

注解

本章节的目标是配置两个名为 ‘cloudbr0’和’cloudbr1’的桥接网络。这仅仅是指导性的,实际情况还要取决于你的网络布局。

在RHEL或CentOS中配置:

网络桥接所需的软件在安装libvirt时就已被安装,继续配置网络。

首先配置eth0:

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0

确保内容如下所示:

  1. DEVICE=eth0
  2. HWADDR=00:04:xx:xx:xx:xx
  3. ONBOOT=yes
  4. HOTPLUG=no
  5. BOOTPROTO=none
  6. TYPE=Ethernet

现在配置3个VLAN接口:

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0.100
  1. DEVICE=eth0.100
  2. HWADDR=00:04:xx:xx:xx:xx
  3. ONBOOT=yes
  4. HOTPLUG=no
  5. BOOTPROTO=none
  6. TYPE=Ethernet
  7. VLAN=yes
  8. IPADDR=192.168.42.11
  9. GATEWAY=192.168.42.1
  10. NETMASK=255.255.255.0
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0.200
  1. DEVICE=eth0.200
  2. HWADDR=00:04:xx:xx:xx:xx
  3. ONBOOT=yes
  4. HOTPLUG=no
  5. BOOTPROTO=none
  6. TYPE=Ethernet
  7. VLAN=yes
  8. BRIDGE=cloudbr0
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0.300
  1. DEVICE=eth0.300
  2. HWADDR=00:04:xx:xx:xx:xx
  3. ONBOOT=yes
  4. HOTPLUG=no
  5. BOOTPROTO=none
  6. TYPE=Ethernet
  7. VLAN=yes
  8. BRIDGE=cloudbr1

配置VLAN接口以便能够附加桥接网络。

  1. vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0

现在只配置一个没有IP的桥接。

  1. DEVICE=cloudbr0
  2. TYPE=Bridge
  3. ONBOOT=yes
  4. BOOTPROTO=none
  5. IPV6INIT=no
  6. IPV6_AUTOCONF=no
  7. DELAY=5
  8. STP=yes

同样建立cloudbr1

  1. vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1
  1. DEVICE=cloudbr1
  2. TYPE=Bridge
  3. ONBOOT=yes
  4. BOOTPROTO=none
  5. IPV6INIT=no
  6. IPV6_AUTOCONF=no
  7. DELAY=5
  8. STP=yes

配置完成之后重启网络,通过重启检查一切是否正常。

警告

在发生配置错误和网络故障的时,请确保可以能通过其他方式例如IPMI或ILO连接到服务器。

在Ubuntu中配置:

在安装libvirt时所需的其他软件也会被安装,所以只需配置网络即可。

  1. vi /etc/network/interfaces

如下所示修改接口文件:

  1. auto lo
  2. iface lo inet loopback
  3.  
  4. # The primary network interface
  5. auto eth0.100
  6. iface eth0.100 inet static
  7. address 192.168.42.11
  8. netmask 255.255.255.240
  9. gateway 192.168.42.1
  10. dns-nameservers 8.8.8.8 8.8.4.4
  11. dns-domain lab.example.org
  12.  
  13. # Public network
  14. auto cloudbr0
  15. iface cloudbr0 inet manual
  16. bridge_ports eth0.200
  17. bridge_fd 5
  18. bridge_stp off
  19. bridge_maxwait 1
  20.  
  21. # Private network
  22. auto cloudbr1
  23. iface cloudbr1 inet manual
  24. bridge_ports eth0.300
  25. bridge_fd 5
  26. bridge_stp off
  27. bridge_maxwait 1

配置完成之后重启网络,通过重启检查一切是否正常。

警告

在发生配置错误和网络故障的时,请确保可以能通过其他方式例如IPMI或ILO连接到服务器。