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

相關文章
相關標籤/搜索