前言

测试平台

  • M1 Mac
  • macOS Ventura 13.0

软件版本

  • GNS3 for Mac 2.2.34
  • GNS3 VM arm64 2.2.34
  • UTM for Mac 4.0.9(68)
  • VMware Fusion Tech Preview 21H1

下载地址

GNS3 for Apple Silicon Mac
https://www.123pan.com/s/j29uVv-EE03H (提取码: CGKO)

GNS3 for Intel Mac
https://www.123pan.com/s/j29uVv-kE03H (提取码: Hh2y)

准备

  • 虚拟机程序

    例如:UTM、VirtualBox、VMware Fusion

    (本文将以UTM、VMware Fusion做演示)

  • GNS3 GUI 客户端

  • GNS3 VM 服务端虚拟机镜像

  • GNS3 路由交换IOS镜像

部署GNS3服务端

VMware Fusion

下载并安装

  1. 单击此处,跳转至VMware Fusion 技术预览版的下载页面。
  2. 登录VMware账户(如果没有需要提前注册),下载用于ARM64平台的的*.dmg镜像,由于是技术预览版,自带序列号,后续是否收费还未知。
  3. 随后,打开镜像,依照提示安装即可。

安装Fusion

  1. 安装完成,会启动VMware Fusion。

Fusion界面

创建虚拟机

  1. 在VMware Fusion的「选择安装方法」界面,选中 创建自定义虚拟机 ,单击「继续」。

  2. 在「选择操作系统」界面,选中 Debian 10.x 64 位 ARM ,单击「继续」。Fusion创建虚拟机

  3. 解压GNS3.VM.ARM64压缩包,用于虚拟机的磁盘导入。

解压GNS3VM压缩包

  1. 在「选择选择磁盘」界面,设置「虚拟磁盘选项」为使用现有虚拟磁盘

Fusion配置虚拟磁盘

  1. 单击「选择虚拟磁盘」,找到gns3vm-disk1.vmdk后保持默认选项,单击「选择」。

Fusion添加第一块磁盘

  1. 单击「继续」便跳转至「完成」界面,单击「自定设置」可以修改虚拟机文件的名称(同时也将修改虚拟机的名称);确认无误单击「完成」。

Fusion自定义设置

  1. 虚拟机创建完成,但还需修改配置;在虚拟机的设置界面,单击「添加设备…」选项。

Fusion虚拟机界面

  1. 在「添加设备」界面,选中「现有硬盘」并单击「添加」。

Fusion添加设备

  1. 找到gns3vm-disk2.vmdk后保持默认选项,单击「打开」。

Fusion添加第二块磁盘

  1. 添加完成,在「可移除设备」区域中应该能看到两块硬盘。

Fusion两块磁盘

  1. 在「设置」界面,单击「网络适配器」;在「网络适配器」界面,设置「此网络适配器已配置为使用」为仅供我的Mac专用,单击「高级选项」中「MAC地址」后面的「生成」按钮,以生成网卡物理地址;设置完成单击「显示全部」。

Fusion网卡设置

  1. 单击「隔离」选项,禁用「拖放功能」和「拷贝粘贴功能」;设置完成单击「显示全部」。

Fusion隔离设置

  1. 在「设置」界面,单击「启动磁盘」;在「启动磁盘」界面,选中磁盘为启动盘;设置完成单击「显示全部」。

Fusion启动磁盘设置

  1. 如果需要修改虚拟机硬件参数,在「设置」界面,单击「处理器和内存」,进行修改。(本文以2核处理器、3GiB内存为例)

Fusion资源配置

至此,GNS3虚拟机配置完成;此时可以启动虚拟机电源,显示下图界面时,则启动完成。

Fusion启动

UTM

下载并安装

  1. 单击此处,跳转至UTM虚拟机的下载页面,下载用于ARM64平台的的*.dmg镜像
  2. UTM.app程序拖入至「Application」文件夹中,随后在「应用程序」目录中打开UTM。

安装UTM

创建虚拟机

UTM主界面

在UTM主界面中,单击新建一个虚拟机

  1. 在「开始」页面中,单击虚拟化
  2. 在「操作系统」页面,单击其他
  3. 在「其他」页面,勾选暂不导入光盘镜像
  4. 在「硬件」页面,根据个人需要分配内存和CPU资源。(此处分配4GiB内存和2核心CPU)
  5. 在「存储器」页面,指定存储驱动器的大小为1GB。(待会会删除该磁盘,可以默认)
  6. 在「文件共享」页面,保持默认配置。
  7. 在「总结」页面,根据个人需要设定名称(此处设置为GNS3VM),并勾选打开VM设置

此时,会弹出该虚拟机的设置界面;还需要进行以下配置才能正常使用:

  1. 进入「共享」页面,取消勾选启用剪贴板共享
  2. 进入「网络」页面,将「网络模式」设置为Host Only
  3. 接着在底部的「驱动器」一栏中,右键VirtIO Driver,单击「删除」。

UTM删除自带磁盘

  1. 删除内置硬盘后,单击「新建」,设置「接口」为NVMe,并单击「导入」,找到gns3vm-disk1.vmdk磁盘镜像。

UTM导入第一块磁盘-1

UTM导入第一块磁盘-2

  1. 重复导入第一块磁盘的操作,导入gns3vm-disk2.vmdk磁盘镜像文件。

UTM导入第二块磁盘

至此,GNS3服务端的虚拟机搭建完成;此时打开该虚拟机的电源。

UTM虚拟机详情

UTM虚拟机启动

部署GNS3客户端

在此之前,你需要记录一下GNS3服务器端的IP地址,同时需要保证GNS3服务器端是开机状态的。

安装GNS3

  1. 单击此处,进入GNS3的下载页面;在「Assets」中找到GNS3-x.x.xx.dmg并单击下载。

    💡提示:截止文章撰写时,GNS3-GUI还未提供原生ARM64的版本,在Apple Silicon Mac上会通过Rosetta 2进行转译。

下载GNS3-GUI

  1. GNS3.app程序拖入至「Application」文件夹中,随后在「应用程序」目录中打开GNS3。

配置GNS3

  1. 打开GNS3,会弹出设置向导页面,此时选择Run appliances on a remote server (advanced usage),单击「Next」。

设置GNS3-1

  1. 在「Remote server」页面,输入GNS3服务器端端IP地址、端口、用户名、密码。(默认账号密码均为gns3

设置GNS3-2

  1. 稍等片刻,当连接成功时,如下图所示。

设置GNS3-3

  1. 在「GNS3」顶部的菜单栏,单击「Preferences…」,导入路由交换的IOS镜像。

设置GNS3-4

  1. 在「IOS on UNIX」选项卡,导入IOU许可证。

设置GNS3-5

  1. 随后,在「IOU Devices」选项卡,单击「New」。

设置GNS3-6

  1. 在「New IOU device template」页面,根据个人需要命名,镜像类型为「L2 image」,并导入交换镜像。

设置GNS3-7

  1. 重复上述操作(注意要先选择「New Image」才能导入新的镜像),导入路由镜像。

设置GNS3-8

  1. 导入完成,如下图所示。

设置GNS3-9

至此,你可以使用GNS3进行拓扑仿真啦。

GNS3-启动

总结

在macOS Ventura之前,苹果还未开放嵌套虚拟化(当然截止文章撰写时,GNS3的服务端镜像并未适配Apple Silicon的嵌套虚拟化),GNS3服务器端使用的是QEMU进行模拟,这会影响路由交换设备的模拟性能(Intel Mac则没这个顾虑)。同时,GNS3客户端程序还是以Rosetta 2的方式转译运行的,不过体验尚可。

GNS3-情况

最后,期待Apple Silicon Mac的生态会变得越来越好。