QEMU 多端口转发

Ann*_*ker 13 port-forwarding qemu kvm-virtualization

我想转发多个端口。

此命令运行我的 VM 并成功转发 RDP 端口:

qemu-system-i386 -net nic,model=rtl8139 -net user,hostfwd=tcp::3389-:3389 -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet -k en-us -hda win.img -nographic
Run Code Online (Sandbox Code Playgroud)

尝试了其他命令,但没有运气,它们似乎都很糟糕:

qemu-system-i386 -net nic,model=rtl8139 -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet -k en-us -hda win.img -nographic -redir tcp:443::443,tcp:992::992,tcp:1194::1194,tcp:5555::5555,udp:1194::1194,udp:500::500,udp:4500::4500,tcp:3389::3389

qemu-system-i386 -net nic,model=rtl8139 -net user,hostfwd=tcp::3389-:3389,tcp:443::443,tcp:992::992,tcp:1194::1194,tcp:5555::5555,udp:1194::1194,udp:500::500,udp:4500::4500 -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet -k en-us -hda win.img -nographic
Run Code Online (Sandbox Code Playgroud)

正确的例子将非常受欢迎。谢谢你。

Ann*_*ker 12

让它工作:

-net

qemu-system-i386 -net nic,model=rtl8139 \
  -net user,hostfwd=tcp::3389-:3389,hostfwd=tcp::443-:443,hostfwd=tcp::992-:992 \
  -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet \
  -k en-us -hda win.img -nographic
Run Code Online (Sandbox Code Playgroud)

原始答案:(redir遗留)

qemu-system-i386 -net nic,model=rtl8139 \
  -net user,hostfwd=tcp::3389-:3389 \
  -redir tcp:443::443 -redir tcp:992::992 \
  -redir tcp:5555::5555 -redir udp:1194::1194 -redir udp:500::500 \
  -redir udp:4500::4500 \
  -m 512M -localtime -cpu core2duo,+nx -smp 2 -usbdevice tablet \
  -k en-us -hda win.img -nographic
Run Code Online (Sandbox Code Playgroud)

  • 请注意, -redir 是一个遗留选项。要与 hostfwd 一起使用,请尝试:`-net user,hostfwd=tcp::3389-:3389,hostfwd=tcp::443-:443,hostfwd=tcp::992-:992,etc...` . 此外,我只能在转发到来宾( 10.0.2.15 )的主界面时才能正常工作。 (9认同)