could not configure /dev/net/tun: Operation not permitted
.Host-only сеть создана через tunctl (входит в пакет uml-utilities). Соответсвующая секция /etc/network/interfaces:
auto tap0 iface tap0 inet static address 10.168.90.100 netmask 255.255.255.0 tunctl_user uml-net
Пользователь, под которым запускается kvm, входит в группу uml-net, но при запуске выдается ошибка
$ kvm -m 1024 -drive file=inet.it.img,if=virtio,boot=on,media=disk,aio=native -net nic,model=virtio -net tap,ifname=tap0,script=no,downscript=no -vga std could not configure /dev/net/tun: Operation not permitted
Проверяю права на /dev/net/tun
$ ls -l /dev/net/tun crw-rw---- 1 root uml-net 10, 200 Дек 27 15:22 /dev/net/tun
Выходит, что для группы uml-net, в которую входит пользователь запускающий KVM, доступ есть. Если же запустить KVM через трассировку, то видно чего ему не хватает
... timer_create(CLOCK_REALTIME, {(nil), SIGALRM, SIGEV_SIGNAL, {...}}, {(nil)}) = 0 open("/dev/net/tun", O_RDWR|O_LARGEFILE) = 7 ioctl(7, TUNGETFEATURES, 0xbfe1633c) = 0 ioctl(7, TUNSETIFF, 0xbfe1631c) = -1 EPERM (Operation not permitted) write(2, "could not configure /dev/net/tun"..., 58could not configure /dev/net/tun: Operation not permitted ) = 58 close(7) = 0 exit_group(1) ...
Как подсказал google не хватает привилегии CAP_NET_ADMIN. Чтобы ее выдать нужно установить пакет libcap2-bin и выполнить команду
$ sudo setcap CAP_NET_ADMIN=ep /usr/bin/kvm
После этого KVM запускается и работает без ошибок.
Комментариев нет:
Отправить комментарий