qemu中-net用户和-net nic之间的区别

时间:2014-03-26 07:53:14

标签: networking virtualization qemu

我正在尝试使用qemu-system-x86_64使用自定义IP地址启动虚拟机。参考qemu-system-x86_64's tutorials,我发现了这个:

  

-net nic [,vlan = n] [,macaddr = mac] [,model = type] [,name = name] [,addr = addr] [,vectors = v]           创建一个新的网络接口卡并将其连接到VLAN n(n = 0是   默认)。默认情况下,NIC在PC目标上是e1000。      -netdev user,id = id [,option] [,option] [,...]

-net user[,option][,option][,...]
    Use the user mode network stack which requires no administrator privilege to run. 

我无法理解这两个选项之间的区别。

  • 什么是用户模式网络堆栈?
  • 为什么我需要它?
  • nicuser参数之间有什么区别?

1 个答案:

答案 0 :(得分:13)

首先回答您的上一个问题,您需要两个选项:

qemu <other options> -net nic[,options] -net user[,options]
  • nic选项启用来宾中的网卡。
  • 用户选项设置虚拟NAT的子网,qemu启动的DHCP服务器向您的guest虚拟机发出(通常)10.0.2.15并将主机放在10.0.2.2上。

使用此配置,您的访客可以看到Internet,也可以连接到主机上的服务10.0.2.2

如果要访问guest虚拟机上的服务,则需要使用hostfwd

qemu <other options> -net user,hostfwd=tcp::60022-:22

这将允许您执行以下操作以从主机访问guest虚拟机上的ssh:

ssh -p60022 user@localhost

-net nic的选项可用于更改正在使用的qemu平台的默认网卡类型。例如,如果您的访客运行较旧的操作系统,您可能希望-net nic,model=ne2k_pci使用默认e1000

要使用自定义IP地址,您需要按照构建桥接并连接主机和来宾的教程进行操作。如果你只是想让一个访客在不同的操作系统中做一些工作,那么-net user选项会简单得多。