小编Fre*_*ord的帖子

在用户模式网络中通过 libvirt 使用 qemu 转发主机端口

我在编辑 libvirt 的 host-xml 以让 qemu 将 TCP 连接转发到来宾时遇到问题。 这个问题链接到一篇建议添加-redir到 Qemu 命令行的博客文章。但这在最近停止工作。

错误:内部错误:qemu 意外关闭了监视器:qemu-system-x86_64:-redir tcp:5564::3389:不推荐使用 -redir 选项。请改用“-netdev user,hostfwd=...”。

但是,这不是开箱即用的,即我在主机上获得了开放端口,但它没有通过客户端。

我像这样编辑了我的 XML:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  .
  .
  .
  </devices>
  <qemu:commandline>
    <qemu:arg value='-net'/>
    <qemu:arg value='user,hostfwd=tcp::22222-:22,hostfwd=tcp::8000-:8000'/>
  </qemu:commandline>
</domain>
Run Code Online (Sandbox Code Playgroud)

我的测试是nc -l -p 8000在客户端和telnet localhost 8000主机上运行。Telnet 表示一个打开的 TCP 连接,但客户端没有收到任何东西。

我想这是因为 libvirt 已经包含了一个-net user,...选项,不知何故我新定义的选项没有正确处理。 ps aux | grep qemu显示这个:

qemu-system-x86_64 -enable-kvm -name guest=myguestsname,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=~/.config/libvirt/qemu/lib/domain-28 -myguestsname/master-key.aes -machine pc-i440fx-artful,accel=kvm,usb=off,vmport=off,dump-guest-core=off -cpu Skylake-Client -m …

networking port-forwarding forwarding libvirt qemu

5
推荐指数
1
解决办法
5640
查看次数

标签 统计

forwarding ×1

libvirt ×1

networking ×1

port-forwarding ×1

qemu ×1