使用Fedora20并从源qemu-2.1.1构建,我遇到了使用非根权限运行qemu的问题:
% qemu-system-x86_64 -hda vdisk.img -m 512M -netdev tap,helper=/usr/libexec/qemu-bridge-helper,id=net0 -device e1000,netdev=net0
failed to create tun device: Operation not permitted
failed to launch bridge helper
qemu-system-x86_64: -netdev tap,helper=/usr/libexec/qemu-bridge-helper,id=net0: Device 'tap' could not be initializedTun设备具有适当的权限:
% ls -la /dev/net/tun
crw-rw-rw- 1 root root 10, 200 Sep 30 09:22 /dev/net/tunqemu-桥助手已启用suid位,SELinux被禁用(“getenforce”返回禁用)。我还缺了什么?
发布于 2014-10-01 05:40:20
这就是QEMU的曲奇崩溃的方式。如果您阅读文档,您将得到以下内容:
点击连接后端利用主机中的抽头网络设备。它提供了非常好的性能,可以配置为创建几乎任何类型的网络拓扑。不幸的是,它需要对主机中的网络拓扑进行配置,根据所使用的操作系统的不同,这种配置往往是不同的。一般来说,它还要求您拥有根权限。
以用户身份运行QEMU可以简化网络连接。根据一个维基百科文章
如果没有指定网络选项,QEMU将默认使用连接到主机网络的用户模式网络堆栈来模拟单个英特尔e1000 PCI卡。以下三个命令行是等价的:
qemu -m 256 -hda disk.img &、、qemu -m 256 -hda disk.img -net nic -net user &、、qemu-system-i386 -m 256 -hda disk.img -netdev user,id=network0 -device e1000,netdev=network0 &、、-net选项在新的QEMU版本中被-netdev取代。客户操作系统将在10.0.2.2上看到一个带有虚拟DHCP服务器的E1000网卡,并将从10.0.2.15开始分配一个地址。虚拟DNS服务器可以在10.0.2.3访问,虚拟SAMBA文件服务器(如果存在的话)可以在10.0.2.4访问,允许您通过SAMBA文件共享访问主机上的文件。用户模式网络对于允许访问包括因特网在内的网络资源是很好的。但是,默认情况下,它充当防火墙,不允许任何传入通信量。它也不支持TCP和UDP之外的其他协议--例如,ping和其他ICMP实用程序将无法工作。
发布于 2015-12-05 04:38:05
我用的是Fedora 21,但也许Fedora 20已经有了
有一种为安装桥连接提供选项的新方法,即:
qemu-system-x86_64 -hda vdisk.img -m 512M -netdev bridge,id=net0,br=qemubr0 -device e1000,netdev=net0您不必设置helper=/usr/libexec/qemu-bridge-helper,这似乎是默认的
在使用默认助手时,必须确保文件/etc/qemu/ bridge ge.conf与您要使用的桥一起使用。
allow qemubr0 发布于 2014-10-01 02:51:21
检查下列各项的输出:
ls -l /dev/kvm查看用户权限段,看起来类似于用户组。
确保用户能够访问/dev/kvm
chown your_user:your_group /dev/kvm然后您可以从您的用户运行VM!
https://unix.stackexchange.com/questions/158539
复制相似问题