千家信息网

Virtual Network (1) - How to use it in a guest

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本文将讲述一个问题:kvm guest使用libvirt xml定义如何使用virtual network?1)nat, route ,isolated, open类型在host中定义virtual
千家信息网最后更新 2025年01月20日Virtual Network (1) - How to use it in a guest

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


1)nat, route ,isolated, open类型

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

在guest的xml中添加:

# virsh edit vm...  ====>net1是已经定义好的一个虚拟网络...

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


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

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

  (mac,pci地址,model type如果哦不指定,会自动生成)


3)bridge(use an exsiting host linux bridge)

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


 # virsh net-dumpxml birdge-net  bridge-net       # virsh edit vm...   ...


直接给guest用( 1)中由libvirt创建的bridge也可以这样引用 ):

      


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

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

定义interface pool

          direct-macvtap                                                                        
  hostdev-net          

guest中直接引用

# virsh edit vm... ...
# virsh edit vm...                 
...


0