我有一个使用以下选项启动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
选项的确切等效内容是什么?
答案 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
相关),以便访客看到该硬件并打开转发的端口。