10.4. 在设备重定向上设置限制
要从重定向过滤某些设备,请将过滤器属性传递给
-device usb-redir
。filter 属性采用由过滤规则组成的字符串。规则的格式为:
<class>:<vendor>:<product>:<version>:<allow>
使用
-1
值指定它接受特定字段的任何值。您可以将 | 用作分隔符,在同一命令行中使用多个规则。请注意,如果设备没有匹配任何过滤器规则,则不会允许重定向。
例 10.1. 使用 Windows 客户机虚拟机限制重定向
- 准备 Windows 7 客户机虚拟机。
- 在 guest 虚拟机的 XML 文件中添加以下代码摘录:
<redirdev bus='usb' type='spicevmc'> <alias name='redir0'/> <address type='usb' bus='0' port='3'/> </redirdev> <redirfilter> <usbdev class='0x08' vendor='0x1234' product='0xBEEF' version='2.0' allow='yes'/> <usbdev class='-1' vendor='-1' product='-1' version='-1' allow='no'/> </redirfilter>
- 启动客户端虚拟机并确认设置更改:
# ps -ef | grep $guest_name
-device usb-redir,chardev=charredir0,id=redir0,/ filter=0x08:0x1234:0xBEEF:0x0200:1|-1:-1:-1:-1:0,bus=usb.0,port=3
- 将 USB 设备插入主机物理计算机中,并使用 virt-viewer 连接到客户机虚拟机。
- 点击菜单中的,这将生成以下信息:"Some USB 设备受主机策略阻止"。 并继续。过滤器生效。
- 为确保过滤器正确捕获了 USB 设备供应商和产品,然后在主机物理机器的域 XML 中进行以下更改,以允许 USB 重定向。
<redirfilter> <usbdev class='0x08' vendor='0x0951' product='0x1625' version='2.0' allow='yes'/> <usbdev allow='no'/> </redirfilter>
- 重新启动 guest 虚拟机,然后使用 virt-viewer 连接到 guest 虚拟机。USB 设备现在会将流量重定向到客户端虚拟机。