10.4. デバイスリダイレクトの制限の設定
リダイレクトから特定のデバイスをフィルターリングするには、フィルタープロパティーを
-device usb-redir
に渡します。filter プロパティーは、フィルタールールで設定される文字列を取ります。ルールの形式は次のとおりです。
<class>:<vendor>:<product>:<version>:<allow>
-1
の値を使用して、特定のフィールドに任意の値を受け入れるように指定します。同じコマンドラインで、| を区切り文字として使用し、複数のルールを使用できます。デバイスがどのフィルタールールにも一致しない場合、リダイレクトは許可されないことに注意してください。
例10.1 Windows ゲスト仮想マシンによるリダイレクトの制限
- Windows 7 ゲスト仮想マシンを準備します。
- 以下のコード抜粋をゲスト仮想マシンの 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 を使用してゲスト仮想マシンに接続します。
- メニューでをクリックすると、一部の USB デバイスはホストポリシーによってブロックされていますというメッセージが表示されます。 をクリックして確定し、続行します。フィルターが有効になります。
- フィルターが正しくキャプチャーされていることを確認するには、USB デバイスのベンダーと製品を確認してから、USB リダイレクトを可能にするために、ホストの物理マシンのドメイン XML で次の変更を行います。
<redirfilter> <usbdev class='0x08' vendor='0x0951' product='0x1625' version='2.0' allow='yes'/> <usbdev allow='no'/> </redirfilter>
- ゲスト仮想マシンを再起動してから、virt-viewer を使用してゲスト仮想マシンに接続します。これで、USB デバイスはトラフィックをゲスト仮想マシンにリダイレクトするようになります。