安装
我这里安装架构为Ubuntu GNS3桌面端 + Virtulbox后端。
首先安装Ubuntu 桌面端。
1 | sudo apt update |
然后安装后端
https://github.com/GNS3/gns3-gui/releases/tag/v2.2.38
这里找到virtualbox版下载,下载后打开virtualbox导入虚拟电脑即可。
启动GNS3 前端,选择Run Application on virtual machine。
选择我们刚刚导入的虚拟机GNS3 VM
。
安装L2 L3 IOS
目前只能加自带的交换机,VPC,Cloud等节点。想加L2 L3设备要去这里下载镜像
https://networkrare.com/download-cisco-iou-iol-images-gns3-gns3-iou-vm-oracle-virtual-box-l2-l3-cisco-switch-images/
我这里是L2 L3各选了个。选择方法详细参考cisco文档,这里不展开。
在Edit -> Preference 中选择IOU Devices
我这里已经加过了两个设备,如果要新加设备点击New
选择Run this IOU devices on the GNS3 VM
导入我们下载的IOS镜像,他会自动识别出是L2还是L3的镜像。
然后cisco的设备需要加license
cisco keygen配置方式
配置方式,原文这里 https://www.systemconf.com/2019/01/03/generate-cisco-iourc-license-key-on-gns3-vm-using-python-3/
登录到我们刚导入的Virtulbox中,点击shell执行:
1 | wget http://www.ipvanquish.com/download/CiscoIOUKeygen3f.py |
然后将生成的内容保存到~/.iourc中即可。
点击这里就能看到我们刚加的设备
静态路由实验
打开端口显示
这个点开就能显示交换机的端口。
添加笔记
可以把我们配置的ip写在设备边上
首先添加L2设备,然后创建两个pvc,并选择下面的网线将他们链接起来。
两个pc通过L2设备链接:
右键点PC1和PC2 点击 edit config
可以在PC启动后启动执行命令,我们可以配置ip。
PC1配置:
1 | ip 10.1.1.2/24 10.1.1.1 |
PC2配置:
1 | ip 10.1.1.3/24 10.1.1.1 |
在PC1上ping PC2
1 | ping 10.1.1.3 |
可以ping通。符合我们的预期,因为我们配置的两台PC在同一个网络id中,此时虽然配置了网关,但是实际上并不需要网关的存在,因为同L2网络内可以直接发起arp广播询问目标ip的mac地址。
开启抓包
选择需要抓包的线路,右键start capture
对着我们添加的网线点击右键 start capture 这时会唤起wireshark。如果你是Ubuntu可能会和我一样遇到 permission deny。 需执行:
1 | sudo usermod -a -G wireshark $USER |
然后重启就可以了。
一切正常后就能看到Wireshark被唤醒并开始抓包。
假如我们ping一个同子网没有配置的ip 10.1.1.99,就会看到arp广播,Who has 在查询这个ip
100 148.839056 Private_66:68:01 Broadcast ARP 64 Who has 10.1.1.99? Tell 10.1.1.3
假如在同一交换机配置了不同子网的ip,比如我这边加了PC5 10.4.4.4/24。我们在PC1 ping PC5。
这里可以看到访问非子网的这是去找网关了,由于我们路由10.1.1.1尚未配置。这里配置下。
添加路由后配置方法为:
1 | conf t |
此时已经能通网关,所以访问另一个子网的地址也能走到网关了。
也可以使用PC环境下的trace功能查看这个过程
1 | PC2> trace 10.4.4.4 |