当前位置:网站首页>QEMU guest与host通过网络通信——bridge/hostfwd/guestfwd
QEMU guest与host通过网络通信——bridge/hostfwd/guestfwd
2022-08-10 05:38:00 【denglin12315】
一.开篇大前提
qemu虚拟机器默认是使用nat来上网的——By default(默认qemu就帮你做了), QEMU invokes the -nic and -user options to add a single network adapter to the guest and provide NATed external Internet access. The host and guest will not see each other.
二. 通过hostfwd/guestfwd
1.hostfwd原理和用法说明:
hostfwd=[tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport
#将到主机端口 hostport 的TCP 或 UDP 连接重定向到来宾端口 guestport 上的来宾 IP 地址 guestaddr。如果未指定 guestaddr,则其值为 xxx15(内置 DHCP 服务器提供的默认第一个地址)。通过指定hostaddr,可以将规则绑定到特定的主机接口。如果未设置连接类型,则使用 TCP。可以多次给出此选项。
例如,要将主机 X11 连接从屏幕 1 重定向到访客屏幕 0,请使用以下命令:
# 在主机
qemu-system-x86_64 -nic user,hostfwd=tcp:127.0.0.1:6001-:6000
# 这个主机 xterm 应该在来宾 X11 服务器中打开
xterm -display :1
#要将 telnet 连接从主机端口 5555 (host侧申请的一个空闲端口)重定向到来宾上的 telnet 端口,请使用以下命令:
# 在主机上
qemu-system-x86_64 -nic user,hostfwd=tcp::5555-:23
#然后当您在主机上使用时,您连接到来宾 telnet 服务器:
telnet localhost 5555
2.hostfwd实际配置案例:
![]()
![]()
3.guestfwd原理和用法说明:(没有实际使用过)
guestfwd=[tcp]:server:port-dev; guestfwd=[tcp]:server:port-cmd:command
#将访客 TCP 连接转发到端口端口上的 IP 地址服务器到字符设备 dev 或由 cmd:command 执行的程序,该程序为每个连接生成。可以多次给出此选项。
#您可以直接使用 chardev 并在 QEMU 的整个生命周期中使用它,如下例所示:
#在启动时打开10.10.1.1:4321,连接10.0.2.100:1234到它每当
#客人访问它
#的qemu系统-x86_64的-nic用户,guestfwd = TCP:10.0.2.100:1234- TCP:10.10.1.1:4321
#或者,您可以在来宾建立的每个 TCP 连接上执行命令,以便 QEMU 的行为类似于该虚拟服务器的 inetd 进程:
# 在每个到 10.0.2.100:1234 的 TCP 连接上调用 "netcat 10.10.1.1 4321"
# 并将 TCP 流连接到它的 stdin/stdout
qemu-system-x86_64 -nic 'user,id=n1,guestfwd=tcp:10.0。 2.100:1234-cmd:netcat 10.10.1.1 4321'
四. 通过虚拟bridge
1. 软件安装
安装libvirt
2. 安装libvirt成功后,重启网络服务,如下:

3.网络拓扑结构

4.启动虚拟机的命令行
sudo tunctl -b -u ldeng
sudo ifconfig tap0 up
sudo brctl addif virbr0 tap0
qemu-system-x86_64 -hda debian.qcow -enable-kvm -cpu host -smp 8 -m 4096 -net nic -net tap,ifname=tap0,script=no,downscript=no &边栏推荐
猜你喜欢

Unity插件DOTween使用指南2(简释贝塞尔曲线)

Unity中实现Animation Clip动画片段的倒播(该案例可以防止动画延迟)

Unity中Xml简介以及通过脚本读取Xml文本中的内容

从零开始构建Google Protocol Buffer / protobuf 的helloworld工程(超级详细)

浅谈游戏中3种常用阴影渲染技术(2):阴影锥

Easy to master Unity of eight prior to rendering

8个问题轻松掌握Unity前向渲染

浅谈游戏中3种常用阴影渲染技术(1):平面阴影

开源游戏服务器框架NoahGameFrame(NF)客户端环境搭建(三)

unity在UI界面上展示旋转模型
随机推荐
UnityShader入门精要-unity shader基础
屏幕后期处理之:Sobel算子实现边缘检测
电池级碳酸锂除杂质钙镁离子工艺原理
UnityShader入门精要-立方体纹理、反射、折射、菲涅尔反射
UnityShader入门精要--Unity中的基础光照
ArgumentException: GetComponent requires that the requested component ‘GameObject‘ derives from Mono
在TypeScript中使用parseInt()
Linux的文件IO与标准IO,以及IO缓存
酸回收树脂工艺技术详解
UnityShader入门精要-基础纹理
剑指 Offer(第 2 版)7/6 9-13
优化Mysql运行OrderBy性能
浅谈游戏中3种常用阴影渲染技术(1):平面阴影
动态规划、背包问题 6/23 101-105
Kernel performance analysis summary
二叉树 6/20 86-90
初学者也能看懂的Ray March体积云
Unity2D动画生成操作(简单)
氨氮的有效吸附材料
Why need to hot update game?