Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.2.2. 在 USB 设备重定向上设置限制

要从重定向过滤某些设备,请将过滤器属性传递给 -device usb-redir。filter 属性采用由过滤规则组成的字符串,规则的格式是:
<class>:<vendor>:<product>:<version>:<allow>
使用 -1 值指定它接受特定字段的任何值。您可以将 | 用作分隔符,在同一命令行中使用多个规则。
重要
如果设备与任何规则过滤器都不匹配,则不会重定向它!

例 9.1. 使用 windows 客户机虚拟机限制重定向的示例

  1. 准备 Windows 7 客户机虚拟机。
  2. 将以下代码摘录添加到 guest 虚拟机的 domain 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>
    
  3. 启动客户端虚拟机并确认设置更改:
    #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
  4. 将 USB 设备插入主机物理机器,并使用 virt-manager 连接到客户端虚拟机。
  5. 在菜单中,单击 Redirect USB Service,这将生成以下消息:"Some USB 设备受主机策略阻止"。单击确定以确认 并继续。
    过滤器生效。
  6. 为确保过滤器正确捕获了 USB 设备供应商和产品,然后在 guest 虚拟机的域 XML 中进行以下更改以允许 USB 重定向。
       <redirfilter>
          <usbdev class='0x08' vendor='0x0951' product='0x1625' version='2.0' allow='yes'/>
          <usbdev allow='no'/>
        </redirfilter>
    
  7. 重新启动 guest 虚拟机,然后使用 virt-viewer 连接到 guest 虚拟机。USB 设备现在会将流量重定向到客户端虚拟机。