openvswitch vlan下的虚拟机与物理机通讯

1,安装openvswitch ,图形界面显示等用到的安装包。python

yum install libvirt openvswitch python-virtinst xauth tigervnc -yvim

 

2,移除默认的libvirt网络。网络

  virsh net-list --all  //查看命令xml

  virsh net-destroy default接口

virsh net-autostart --disable defaultip

virsh net-undefine default虚拟机

 

3,启动openvswitchit

   service openvswitch startio

   chkconfig openvswitch onconsole

 

4,建立一个openvswitch bridge :br-int。

   ovs-vsctl add-br br-int

 

5,利用openvswitch的br-int,定义一个libvirt网络名称为ovs-network。

   vim libvirt-vlans.xml  //建立3个网络(一个无id,两个带id。)

<network>

  <name>ovs-network</name>

  <forward mode=”bridge” />

  <bridge name=”br-int” />

  <virtualport type=”openvswitch”/>

  <portgroup name=”no-vlan” default=”yes”>

  </portgroup>

  <portgroup name=”vlan-100”>

   <vlan>

<tag id=”100” />

   </vlan>

  </portgroup>

  <portgroup name=”vlan-200”>

   <vlan>

<tag id=”200” />

   </vlan>

  </portgroup>

</network>

 

6,定义并启动libvirt网络。

定义:virsh net-define libvirt-vlans.xml

查看:virsh net-list --all

自动启动:virsh net-autostart ovs-network

启动: virsh net-start ovs-network

 

7,建立一个instance,并链接到ovs-network,网络接口部分配置以下:

可事先拷贝一个虚拟机的xml配置文件,修改interface的配置作以下替换。

<interface type='network'>

           <source network='ovs-network' portgroup='vlan-100'/>

           <model type='virtio'/>

         </interface>

8,利用instance.xml建立虚拟机。

定义虚拟机:virsh define instance1.xml

查看虚拟机:virsh list --all

启动虚拟机:virsh start instance1

virsh vncdesplay instance1

vncviewer查看:vncviewer :0

 

9,启动console后,给该虚拟机设置如下ip。

 ip addr add 192.168.1.20/24 dev eth0

 

在外层主机上执行:ovs-vsctl show

会看到,虚拟机启动后,自动在bridge上生成vnet0端口。

 

10,添加一个openvswitch port。实现物理机与虚拟机vlan-100的联通。

ip link add br-int-tap100 type veth peer name tap100

ovs-vsctl add-port br-int br-int-tap100

ovs-vsctl set port br-int-tap100 tag=100

ip addr add 192.168.1.21/24 dev tap100

ip link set tap100 up

ip link set br-int-tap100 up

相关文章
相关标签/搜索