如何替换`qemu-system -redir`命令参数?

时间:2017-09-04 16:28:21

标签: networking qemu

我有一个使用以下选项启动qemu的脚本:

qemu-system-x86_64 [...] -net nic,model=rtl8139 -net user,hostfwd=tcp::5555-:1522 -net dump,file=/tmp/vm0.pcap -redir tcp:9999::9 -redir tcp:17010::17010 -redir tcp:17013::17013

我想更新脚本以使用现代qemu选项。

我已尝试使用以下参数,如manual page

中所述

qemu-system-x86_64 [...] -net nic,model=rtl8139 -net dump,file=/tmp/vm0.pcap -net user,id=tcp1522,hostfwd=tcp::5555-:1522 -netdev user,id=tcp9,hostfwd=tcp::9999-:9 -netdev user,id=tcp17010,hostfwd=tcp::17010-:17010 -netdev user,id=tcp17013,hostfwd=tcp::17013-:17013

但访客无法再访问网络,转发端口上的主机无法访问该网络。

已弃用-redir选项的确切等效内容是什么?

1 个答案:

答案 0 :(得分:6)

在@PeterMaydell评论和更多阅读材料之后,我了解了qemu中-device-netdev选项的相关性。

我的脚本中使用的旧-redir选项的正确翻译是:

-netdev user,id=ethernet.0,hostfwd=tcp::5555-:1522,hostfwd=tcp::9999-:9,hostfwd=tcp::17010-:17010,hostfwd=tcp::17013-:17013
-device rtl8139,netdev=ethernet.0

-netdev user中,为guest虚拟机的单个虚拟以太网指定所有host-> guest虚拟机端口转发。 id选项标识此类虚拟网络接口(在这种情况下为ethernet.0)。

-device参数然后可以定义要为该接口模拟的硬件(与netdev=ethernet.0相关),以便访客看到该硬件并打开转发的端口。