如何替换 qemu-system -redir 命令参数?
How to replace `qemu-system -redir` command argument?
我有一个使用这些选项启动 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
选项的确切等价物是什么?
在 @PeterMaydell 的评论和更多阅读之后,我了解了选项 -device
和 -netdev
在 qemu 中的关系。
我的脚本中使用的旧 -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
中,您为来宾的单个虚拟以太网指定所有主机->来宾端口转发。 id
选项标识此类虚拟网络接口(在本例中为 ethernet.0
)。
然后 -device
参数可以定义要为该接口模拟的硬件(与 netdev=ethernet.0
相关),以便来宾看到该硬件并打开转发端口。
我有一个使用这些选项启动 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
选项的确切等价物是什么?
在 @PeterMaydell 的评论和更多阅读之后,我了解了选项 -device
和 -netdev
在 qemu 中的关系。
我的脚本中使用的旧 -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
中,您为来宾的单个虚拟以太网指定所有主机->来宾端口转发。 id
选项标识此类虚拟网络接口(在本例中为 ethernet.0
)。
然后 -device
参数可以定义要为该接口模拟的硬件(与 netdev=ethernet.0
相关),以便来宾看到该硬件并打开转发端口。