连接open vswitch和两个虚拟机

时间:2016-08-09 07:51:01

标签: linux mininet sdn openflow openvswitch

我在VirtualBox VM上运行Open VSwitch, 我想将在VirtualBox上运行的2个VM连接到OpenVswitch。我做了这些事情:

1)首先我创建了一个运行ubuntu(lubuntu)的虚拟机,并使用以下命令安装了ovs

sudo apt-get install openvswitch-switch

2)之后我在vm上定义了2个适配器,并将它们确定为Internal Network因为vms想要从虚拟框内部连接到这些机器

但是如何使用此OVS连接2个运行在不同子网(10.1.1.1 and 10.1.2.1)上的虚拟机的VM? 图表如下: http://www.gliffy.com/go/publish/image/10986491/L.png

1 个答案:

答案 0 :(得分:3)

我认为你不需要在这种情况下使用OVS,尽管你可以通过提供网关ip来实现这一点。

enter image description here

假设您已创建内部网络,子网192.170.10.0/24为internal1,其他internal2为子网192.170.20.0/24

VM1上的配置:

auto eth0
iface eth0 inet static
address 192.170.10.10
network 192.170.10.0
netmask 255.255.255.0
broadcast 192.170.10.255
gateway 192.170.10.20

VM2上的配置:

auto eth0
iface eth0 inet static
address 192.170.20.10
network 192.170.20.0
netmask 255.255.255.0
broadcast 192.170.20.255
gateway 192.170.20.20

OVS上的配置:

auto eth0
iface eth0 inet static
address 192.170.10.20
network 192.170.10.0
netmask 255.255.255.0
broadcast 192.170.10.255
gateway 192.170.10.20

auto eth1
iface eth1 inet static
address 192.170.20.20
network 192.170.20.0
netmask 255.255.255.0
broadcast 192.170.20.255
gateway 192.170.20.20

使用上述配置,您可以在不同子网上的VM之间执行ping操作

但是,如果您仍想使用OVS,可以通过以下方式进行配置。

VM1上的配置:

auto eth0
iface eth0 inet static
address 192.170.10.10
network 192.170.10.0
netmask 255.255.255.0
broadcast 192.170.10.255

VM2上的配置:

auto eth0
iface eth0 inet static
address 192.170.20.10
network 192.170.20.0
netmask 255.255.255.0
broadcast 192.170.20.255

OVS上的配置:

  1. /etc/network/interfaces

    中将界面设置为手动加载到手动
    auto eth0
    iface eth0 inet manual
    
    auto eth1
    iface eth1 inet manual
    
  2. 创建两座桥梁

    sudo ovs-vsctl add-br vm1-br
    sudo ovs-vsctl add-br vm2-br
    
  3. 添加相应的端口。

    sudo ovs-vsctl add-port vm1-br eth0
    sudo ovs-vsctl add-port vm2-br eth1
    
  4. 使用补丁接口桥接网桥

    sudo ovs-vsctl add-port vm1-br patch1
    sudo ovs-vsctl set interface patch1 type=patch
    sudo ovs-vsctl set interface patch1 options:peer=patch2
    
    sudo ovs-vsctl add-port vm1-br patch2
    sudo ovs-vsctl set interface patch2 type=patch
    sudo ovs-vsctl set interface patch2 options:peer=patch1
    
  5. 建立桥梁

    sudo ifconfig vm1-br up
    sudo ifconfig vm-br up
    
  6. 设置IP地址

    sudo ifconfig vm1-br 192.170.10.20/24
    sudo ifconfig vm2-br 192.170.20.20/24
    
  7. 现在您可以在虚拟机之间执行