GNS3是什么

GNS3 是思科公司开源的网络模拟器,与packet tracer不同,packet tracer是纯软件模拟,而GNS3是更高级的模拟器,网络设备都是跑的虚拟机,需要自行准备网络设备的镜像;windowsmacos的可以运行在虚拟机里面,此时网络设备就是嵌套虚拟化的;而Linux直接运行于本地,此时网络设备可以是qemu的虚拟机,docker容器,或者Vbox的虚拟机;总的来说,这是一个很强大的网络模拟器。

安装GNS3

因为我只有这一台装着ArchLinux的笔记本,所以其他系统,以及其他Linux发行版的我就不写了。

从AUR安装需要的包

要提前安装好libvirt 能用KVM/QEMU

1
paru -S gns3-gui gns3-server dynamips dnsmasq ubridge vpvs wireshark

启动服务

这里用的用户,就是要运行GNS3的用户,用不着sudo提权

1
systemctl enable gns3-server@USER --now

此用户需要属于libvirt组,免得开个KVM虚拟机还要提权; 还要属于docker组,同理

1
2
sudo usermod -a -G libvirt USER
sudo usermod -a -G docker USER

设置要用的终端

用于调试设备,默认是xterm,设置里面可以改,我设置成了KDE自带的konsole

GNS3使用wireshark抓包

GNS3是可以和wireshark一起用的,用来抓取拓扑设备间的数据包。

1
2
mkdir $HOME/GNS3/wireshark
ln -s /usr/bin/wireshark $HOME/GNS3/wireshark

wireshark要用的话,此用户还得属于wireshark

1
sudo usermod -a -G wireshark USER

导入镜像

需要自己下载
这里找到两个提供资源的

https://ccie.lol/blog/2016/07/03/cisco-ios-image-download/

https://bbs.hh010.com/forum-ios-1.html

下载之后,到GNS3里面添加就好

初体验

填加了一个设备,开了起来,让我逝着玩一玩
gns3