QEMU ELI5 — 第 7 部分,网络

admin 2024年5月18日09:54:16评论32 views字数 2891阅读9分38秒阅读模式

QEMU ELI5 — 第 7 部分,网络

QEMU 但适合初学者 |第 7 部分 — 网络

联网

QEMU 提供了一个非常灵活的网络基础结构,允许您配置各种模式(例如e.,g. ,)和访客和主机之间的网络选项。1 通常,您将创建自己的虚拟局域网 (VLAN)。2SharedBridged

linux

QEMU ELI5 — 第 7 部分,网络

  • QEMU ELI5 — 第 7 部分,网络

  • QEMU ELI5 — 第 7 部分,网络

  • windows

  • QEMU ELI5 — 第 7 部分,网络

  • windows()

  • QEMU ELI5 — 第 7 部分,网络

  • USB()

  • QEMU ELI5 — 第 7 部分,网络

  • ()

  • QEMU ELI5 — 第 7 部分,网络

  • ios

  • QEMU ELI5 — 第 7 部分,网络

  • windbg

  • QEMU ELI5 — 第 7 部分,网络

  • ()

  • QEMU ELI5 — 第 7 部分,网络QEMU ELI5 — 第 7 部分,网络QEMU ELI5 — 第 7 部分,网络

  • QEMU ELI5 — 第 7 部分,网络

  • QEMU ELI5 — 第 7 部分,网络

  • QEMU ELI5 — 第 7 部分,网络

QEMU中的网络可能看起来很可怕,但别担心,当您学习基础知识时,这样做相当容易。大多数“复杂”的东西都会从你身上抽象出来。

在深入研究操作方法之前,让我们回顾一下 QEMU 中的一些网络基础知识。

QEMU 中的网络可以分为两部分 和 ,并且有四种不同的网络连接模式可用。3front endback end

前端

这部分表示使用选项(例如 、 )提供给来宾的虚拟网络设备。有关更多信息,请参阅网络设备。-deviceEmulated NICvirtio-net

用法(提醒):

$ qemu-system-x86_64 ... -device rtl8139,mac=52:54:00:12:34:56,netdev=mynetdev ...

请注意上面的选项。它指定前端设备要连接的后端网络标识符。netdev=mynetdev

后端

另一方面,后端表示与[前端]模拟网卡交互的网络后端(例如,将数据包放到主机的网络上)。您还可以考虑这部分是否作为侦听前端的那部分处理网络数据包(例如并与主机通信。它就像模拟器的“代理服务器”!4TCP/IP

有关此主题的更多信息,请参阅有关网络基础知识的官方 QEMU 文档

为了配置后端,我们使用后跟网络后端的 TYPE 及其参数的选项。-netdev

定义后端:

$ qemu-system-x86_64 ... -netdev type=[TYPE],id=[NAME],...

正如您可能已经猜到的那样,这些选项是后端网络标识符。前端设备将使用它连接到后端。定义要使用的网络的 TYPE。现在,市面上有许多后端 TYPE,但是我只介绍一些最常用的类型:和 .5id=[NAME]idtype=[TYPE]usertap

user

用户模式网络是默认的网络后端,也是最容易使用的后端。它是使用“SLIRP”实现的,SLIRP在QEMU中提供完整的TCP/IP堆栈,并使用该堆栈来实现虚拟NAT'd网络。6

无耻插件:有关 NAT 的更多 [ELI5] 信息

大多数时候,只需使用.默认情况下,它处于启用状态,您无需进行大量配置即可使用它。7 但是,根据 QEMU 官方文件,它有以下限制:user

  • 开销很大,所以性能很差

  • 通常,ICMP 流量不起作用(因此您不能在客户机中使用 ping)

  • 无法从主机或外部网络直接访问客户机

上述一些限制是可以克服的(例如通过端口转发),但其他因素,如相对“差”的性能是不可避免的。唯一可用的网络模式是共享网络。user

tap

分流器后端使用 TUN/TAP。它提供了非常好的性能,可以配置为创建几乎任何类型的网络模式(例如桥接)。不幸的是,它需要在主机中配置该网络模式,这往往因您使用的操作系统而异。一般来说,它还要求您具有root权限。8

上面的句子几乎取自QEMU官方文档页面。

TAP网络克服了用户模式网络的所有限制,但需要根据网络模式进行一些配置。9.

模式

以下是一些可以在 QEMU 中配置的最常用的网络模式。10

共享网络(默认)

在共享网络模式下,后端充当来宾计算机和外部网络之间的网络地址转换 (NAT) 网关。11 后端网络将专用 IP 地址分配给访客计算机,并在访客和外部网络(例如 Internet)之间执行网络流量的转换。12

要使用以下命令创建共享网络:-netdev

$ -netdev type=user,id=my-shrd-net

然后,您可以将其连接到您的前端:-device

$ qemu-system-aarch64 -netdev type=user,id=my-shrd-net -device virtio-net-device,netdev=my-shrd-net ...

这是 QEMU 中的默认网络模式。它是最容易使用的,它基本上只是工作™。

在桥接网络模式下,后端直接连接到主机的物理网络接口(例如)。这允许访客计算机在网络(例如您的家庭网络)上显示为一个单独的节点,其自己的 IP 地址由路由器的 DHCP 服务器分配。客户机可以与网络上的其他节点通信,也可以由其他设备访问。13eth0

警告(来自 ArchLinux Wiki):如果将来宾 [网络] 设备和某些主机接口(例如 )桥接在一起,您的机器将直接出现在外部网络上,这将使它们受到可能的攻击。更好的解决方案可能是使用仅主机网络模式并设置 NAT。eth0

如果需要,此模式可能很有用:

  • 完全网络访问:来宾计算机将在外部网络上拥有自己的 IP 地址,使它们能够与其他设备进行通信。

  • 快速开发/测试驱动程序:访客计算机的网络将像真正的 NIC 一样运行。这使得测试驱动程序或操作系统变得快速而简单。-device

要在 QEMU 中设置桥接网络,该过程可能略有不同,具体取决于您的主机操作系统。 遗憾的是,我不会在这里解释这一点(由于复杂性)。我只会提供我在互联网上找到的其他有用指南的链接,供您遵循。也许将来我可以对它们进行更多扩展。

提醒,您可以随时为我/他人❤做出贡献和帮助

GNU/Linux

  • extremecoders-re 的 GitHub 要点:使用 tap 界面设置 Qemu

  • Linux KVM 的文档:公共桥接

视窗 10/11

  • OpenVPN 的 TAP 驱动程序:管理 Windows TAP 驱动程序

似乎没有关于这一点的 ACTUL 指南。我找不到任何有用的东西。不好意思。

macOS 11+(大苏尔)

  • SoBytes 的文章:在 macOS 上创建 qemu 桥接网络

  • Carl Montari 的文章:MacOS 上具有桥接接口的 Qemu

  • andriytk 的 GitHub Gist:在 macOS Mojave 上为 QEMU 配置 NAT-network

仅限主机

在仅主机模式下,后端仅提供来宾计算机和主机之间的网络连接。来宾计算机可以相互通信以及与主机通信,但它们与外部网络隔离。

此模式带来的隔离非常有利于安全性,因为来宾无法访问外部网络。就配置和使用方式而言,它实际上类似于 Bridged。来自 ArchLinux 的 Wiki:

如果为网桥指定了 IP 地址,并且允许发往它的流量,但没有实际接口(例如)连接到网桥,则虚拟机将能够相互通信并与主机系统通信。但是,只要您不在物理主机上设置伪装的 IP,它们将无法与外部网络上的任何内容通信。此配置称为“仅主机网络”...eth0

如果需要,此模式可能很有用:

  • 隔离网络环境:访客计算机无法访问外部网络(例如 Internet)。

设置与 Bridged 非常相似。只需按照那里的说明进行操作,但不要为您的网桥分配接口。之后,您将拥有仅限主机的网络!

原文始发于微信公众号(安全狗的自我修养):QEMU ELI5 — 第 7 部分,网络

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月18日09:54:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   QEMU ELI5 — 第 7 部分,网络https://cn-sec.com/archives/2753390.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息