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

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

yum install libvirt openvswitch python-virtinst xauth tigervnc -y

 

2,移除默认的libvirt网络。

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

  virsh net-destroy default

virsh net-autostart --disable default

virsh net-undefine default

 

3,启动openvswitch

   service openvswitch start

   chkconfig openvswitch on

 

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

 

posted @ 2018-06-06 22:35  山的那一边  阅读(1471)  评论(0编辑  收藏  举报