GNS3

出自 ArchWiki

GNS3 允许您在计算机上模拟网络。

GNS3 是一个编排器,它命令启动或停止虚拟机Linux 容器和一些其他东西,并告诉 uBridge 将它们互连。 您可以通过 GNS3 管理任何虚拟机或容器:它们仍然通过 Docker/QEMU/VirtualBox/VMware 运行,GNS3 只是引导它们启动。

请参阅官方文档以获取更多信息。

安装

本地安装

安装 gns3-guiAURgns3-serverAUR 软件包以在本地运行 GNS3。 与运行官方 GNS3 虚拟机相反,本地安装可以用于提高性能,因为您无需在另一个虚拟化层上浪费资源。

启用/启动 gns3-server@user 服务,其中 user 是将在其上运行 GNS3 的用户级帐户的用户名。

libvirt 可用于创建终端设备 “Cloud”(提供虚拟 wan 接口,将测试网络与主网络中的其他设备隔离)和 NAT。 为了使 libvirt 正常工作,GNS3 需要 dnsmasqubridgeAUR。 安装它们并确保 libvirtd 守护程序在运行,然后再将 GNS3 与 Cloud 和 NAT 终端设备一起使用。

安装 virtualboxvirtualbox-sdk 以在拓扑中使用 VirtualBox 虚拟机。

安装 Wireshark 以嗅探虚拟拓扑设备之间链路的数据包。

官方虚拟机

官方 GNS3 虚拟机是预装了 GNS3 的 Ubuntu,可以用作本地安装的替代方案。 转到 GNS3 Github 并下载与您的 GNS3 版本号完全相同的 GNS3 虚拟机 VirtualBox 版本。 解压缩并在 VirtualBox 中导入虚拟机。

要在 GNS3 虚拟机和主机操作系统之间创建网络连接,必须配置仅主机网络。 在文件 > Host Network Manager 中,设置仅主机网络。 在大多数情况下,它将被称为 vboxnet0 或类似名称。 记下 GUI 中分配给接口的 IP 地址。 出于某种原因,VirtualBox 不会将 IP 分配给接口,也不会启用它。 因此,这必须在终端中手动执行。 有关分配 IP 地址的更多信息,请参阅 网络配置#路由表

# ip addr add IP_address/subnet_mask dev vboxnet0
# ip link set dev vboxnet0 up

启动 GNS3 启动向导,选择 GNS3 虚拟机,它应该能够启动虚拟机。

VPCS

Virtual PC Simulator (VPCS) 是一个小程序(每个实例消耗 2MB RAM),它允许您模拟轻量级 PC,支持基本的网络功能,如设置 IP 地址(静态或通过 DHCP),以及一些简单的网络命令,如 arppingtraceroute

VPCS 绝不是虚拟机,因此您无法向其中添加任何其他功能或服务。

注意
  • VPCS 已弃用。 考虑使用 Docker 容器或虚拟机代替。
  • VPCS 网络堆栈实现是有限的,您会看到错误。 例如,VPCS 在处理分片数据包时会崩溃
  • 由于代码未得到积极维护,您可能会遇到其他故障,例如打字时出现奇怪的缓慢。

要使用 VPCS,安装 vpcsAUR 软件包,或 vpcs-gitAUR 开发版本。

Dynamips

Dynamips 是旧(已停产)的 Cisco 7200、3700、3600、2600 和 1700 系列路由器的模拟器。

异步传输模式 (ATM) 是唯一无法在 IOU/IOSv 上模拟的技术。 要使用 ATM,您需要使用带有 PA-A1 端口适配器模块的 c7200 平台。

注意: 尽管 代码 受到社区的一些关注,但 Dynamips 是一种正在消亡的产品。 考虑使用 IOSv 或 IOU 代替。

要使用 Dynamips,安装 dynamipsAUR 软件包,或 dynamips-gitAUR 开发版本。

故障排除

GNS3 虚拟机与本地服务器不在同一网络

可能会遇到以下警告

The GNS3 VM (IP 192.168.56.101, NETWORK 192.168.56.0/24) is not on the same network as the local server (IP 127.0.0.1, NETWORK 127.0.0.0/8), please make sure the local server binding is in the same network as the GNS3 VM

要解决此问题,请转到编辑 > 首选项 > 服务器 > 主机绑定下拉菜单,并将本地服务器的绑定更改为与 GNS3 虚拟机中信息屏幕上列出的 IP 地址(子网和掩码)匹配的任何 IP 地址。 请参阅 https://gns3.com/initiatives/gns3-vm-is-not-on-the-same-netwo

virbr0 不存在,请安装 libvirt

如果已安装 libvirt,但 virbr0 不存在,则意味着默认网络尚未通过 libvirt 启动,您将无法在 GNS3 中设置 NAT。

要临时启动默认网络,请使用 virsh

# virsh net-start default

并在重启时自动启动它

# virsh net-autostart default