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

上一篇:Fibonacci_array


下一篇:利用Tkinter和matplotlib两种方式画饼状图