QEMU guest与host通过网络通信——bridge/hostfwd/guestfwd

一.开篇大前提

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 &

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

denglin12315

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值