Virtual Network - How to use it in a guest

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Virtual Network - How to use it in a guest相关的知识,希望对你有一定的参考价值。

本文将讲述一个问题:kvm guest使用libvirt xml定义如何使用virtual network?


1)nat, route ,isolated类型

在host中定义virtual network会创建一个虚拟的bridge,相当于一个交换机。guest只需要连接到这个交换机上就可以了。

在guest的xml中添加:

# virsh edit vm
...
<interface type=‘network‘/>
<source network=‘net1‘/>  ====>net1是已经定义好的一个虚拟网络
</interface>
...

上述是最简单的xml,保存后会自动添加一些必要信息,如mac,pci address, model type等信息。当然也可以手动指定。


2)user(Userspace SLIRP stack),vhost-user,Multicast tunnel, TCP tunnel,UDP unicast tunnel等类型

只能在guest中以interface来引用。如user是qemu提供的非特权用户可以使用的类型,可以这样引用:

  <interface type=‘user‘/>(mac,pci地址,model type如果哦不指定,会自动生成)


3)bridge(use an exsiting host linux bridge)

本身存在一个linux bridge,可以定义成网络给guest用(不会再创建bridge),也可以直接给guest用。两种方式本质是一样的。


 # virsh net-dumpxml birdge-net
<network>
  <name>bridge-net</name>
   <forward mode=‘birdge‘/>
   <bridge name=‘br0‘/>
 </network>
# virsh edit vm
...
<interface type=‘network‘>
   <source network=‘bridge-net‘>
</interface>
...


直接给guest用:

<interface type=‘bridge‘>
      <source bridge=‘br0‘/>
</interface>


4)macvtap(包括bridge,vepa,private,passthrough四种), hostdev

可以定一个network作为interface pool,以network的形式引用,也可以直接引用。同 3),两种方式本质是一样的。

定义interface pool

  <network>
        <name>direct-macvtap</name>
        <forward mode="bridge">
          <interface dev="eth20"/>
          <interface dev="eth21"/>
          <interface dev="eth22"/>
          <interface dev="eth23"/>
          <interface dev="eth24"/>
        </forward>
      </network>
<network>
  <name>hostdev-net</name>
  <forward mode=‘hostdev‘ managed=‘yes‘>
    <driver name=‘vfio‘/>
    <address type=‘pci‘ domain=‘0‘ bus=‘4‘ slot=‘0‘ function=‘1‘/>
    <address type=‘pci‘ domain=‘0‘ bus=‘4‘ slot=‘0‘ function=‘2‘/>
    <address type=‘pci‘ domain=‘0‘ bus=‘4‘ slot=‘0‘ function=‘3‘/>
  </forward>
 </network>

guest中直接引用

# virsh edit vm
...
<interface type=‘direct‘>
 <source dev=‘enp0s25‘ mode=‘vepa‘/>
</interface>
...
# virsh edit vm
...
   <interface type=‘hostdev‘ managed=‘yes‘>
      <source>
        <address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x19‘ function=‘0x0‘/>
      </source>
    </interface>
...


本文出自 “11517071” 博客,请务必保留此出处http://11527071.blog.51cto.com/11517071/1843234

以上是关于Virtual Network - How to use it in a guest的主要内容,如果未能解决你的问题,请参考以下文章

How to install Zabbix4.0 LTS version with Yum on the Oracle Linux 7.3 system?

Virtual Network Midonet闲扯

《Learning to Compare: Relation Network for Few-Shot Learning》

Virtual Private Network(虚拟专用网络)详解

计算机网络学习笔记17网络安全加密技术“Virtual Private Network”技术

安装VPN时提示“安装Hillstone virtual network driver错误”,台式机可以,笔记本出错。