计算机网络 - 利用GNS3搭建简单的网络
实验一:根据需求搭建网络实现简单的全网通
前言
网课看得很难受,倒不如自己多从头试一试,收获会更多。
本次任务为疫情期间发起的网课所布置的实验作业,身为GUAT一名物联网专业的学子,有必要说一下,其实我也不大懂,照着来敲键盘就行了。
本文直接对网课视频的内容进行解析,解析的记录就直接是结果,后续有需要再慢慢补充,毕竟是基础的基础,多了也不会说。
视频链接查看哔哩哔哩 - 计算机网络综合实验教程
如果链接失效了我也莫得办法,毕竟是疫情期间免费开放的。
如果不想看原理之类的东西,请直接跳到 配置 环节
前戏
需要安装的东西,都在这了,参照视频去配置环境即可,切记不要修改console内容,当然如果你会的话随意。
资源:GNS3 + WireShark + Cisco Image
当你完成导入image后,直接按下图拖拉图标即可,视频有设置192.168.0.1的部分跳过。本图图标和视频后期图标不一样不用理。
需求
简单的说,让这波人能万人迷,噢不,是连入万维网。
部门 | 人数 | IP地址数 | 所属Vlan | 地理位置 |
---|---|---|---|---|
部门10 | 70 | 100(1/2个C类) | Vlan10 | 1号楼和2号楼 |
部门20 | 300 | 500(2个C类) | Vlan20 | 1号楼 |
部门30 | 150 | 200(1个C类) | Vlan30 | 1号楼 |
部门80 | 90 | 100(1/2个C类) | Vlan80 | 1号楼 |
声明下,视频中用的是10.10.x.x,因为刚需,我用的是4.21.x.x,当然你可以随便改
再补充下,必背的
掩码 | 子网掩码 |
---|---|
22 | 255.255.252.0 |
23 | 255.255.254.0 |
24 | 255.255.255.0 |
25 | 255.255.255.128 |
26 | 255.255.252.192 |
实在忘了的话,用站长工具“ 子网掩码转换 ”
经过精打细算之后,得到这样的分配
VLAN | 子网掩码 | 网络号 | 第一个可用IP | 最后一个可用IP |
---|---|---|---|---|
20 | 255.255.254.0 | 4.21.0.0/23 | 4.21.0.1 | 4.21.1.254 |
30 | 255.255.255.0 | 4.21.2.0/24 | 4.21.2.1 | 4.21.2.254 |
10 | 255.255.255.128 | 4.21.3.0/25 | 4.21.3.1 | 4.21.3.126 |
80 | 255.255.255.128 | 4.21.3.128/25 | 4.21.3.129 | 4.21.3.254 |
网关通常是第一个可用IP或最后一个可用IP,本文以 第一个可用IP 为网关
解释
C类
一个C怎么理解,就指254个可用 IP,是个数量范围,上面的1/2个C给【部门10】就意味着分配127个IP给这个【部门10】,这个部门才70个人,给127个IP,多了?没事,就是给他多一点,万一他以后部门人数增加了呢。
C类、B类这些,最好的理解还是普及下,参见子网掩码_360百科,不理解就背表。
我的理解是,一个C代表1个位比如192.168.1.1大家都懂,路由地址嘛,但我说的不是这个,只是举个栗子。192.168.1.x最多有254个,也就是192.168.1.1 ~ 192.168.1.254,这里面的254个IP,就是一个C了,当【部门20】需要500个IP那不就是意味着需要至少两个C了,也就是508个IP,那也就意味着,192.168.1.0 ~ 192.168.2.254这一个范围,都是【部门20】的,其他部门都不能用这个范围的IP,所有上面那张表分配的IP(部门20)才是4.21.0.1开始,4.21.1.254结束,即两个C,懂了吗?
如果还不懂,再看看【部门10】,70个人,给一个C,即254个IP,多了,1/2个C = 127个IP够了,当然你也可以1/3、1/4……只要合适就行。所以【部门10】的IP段是4.21.3.1开始,.3.x的原因是因为前面还有个【部门30】用掉了x.x.2.x,所以只能从x.x.3.1开始,那怎么指定只用128个IP也就是1/2个C,毕竟你指定一个IP段还需要指定它的范围,这就需要子网掩码了,得到的子网掩码就是它的范围。
比如,让你跑步,告诉你起点(首个IP),但不告诉你需要跑多远和终点(子网掩码),你不就懵逼了吗?
接口
接口有三种,目前。分别是F0/0……F1/15,S0/0……S0/1,Loopback 0……
报错
如果你打开PC1…4是这样的界面,任由你怎么刷新,都是这样。
我找过很多方法,要么换个控制台管理器,也就是不用Solar-Putty,要么重新建工程。后一个我试过,发现没用,虚拟机和实体机安装都是同样的结果,我怀疑是文件损坏,但后来发现这样可能会有点用:
第一种解决方法:不要全部运行,先把PC机都给启动,确保控制台能够使用后陆续启动其他的终端,当然,二层交换机是默认启动的不用理,这时候有两种结果,一种是PC控制台失去连接如下图,重新连接即可;另一种也是如下图,重新连接失败,那就采用第二种方法。
第二种解决方法:把PC端configure的auto start console [✔]上,一步到位,全部运行所有终端包括路由器,这时候有两种结果,一种是你的PC命令行(CLI)能访问,那就????了,另一种是不能访问,这时要等待大约1-5分钟这样,再把PC端一个个stop下来,重新start,这时会自动弹出命令行console,从而可以正常运作,至少在本次可以使用。关闭GNS3后就不一定了。
如果这两种方法都不行,那只能建议重装系统或软件了,当然是在虚拟机。
常用指令说明
当你输入
conf
,按下Tab
键会自动帮你补充成configure
输入conf t
按下Tab
会自动帮你补全conf terminal
PC 虚拟计算机
ESW 三层交换机
Router 二层交换机或服务器
路由用户模式 Router>
输入enable
回车进入特权模式#
路由特权模式 Router#
输入exit
回车返回用户模式
输入#configure terminal
回车进入全局配置模式(config)#【缩写conf t】
路由全局配置模式 Router(config)#
输入exit
或end
回车返回特权模式
输入interface f0/0
回车进入接口配置模式(config-if)#【缩写int f0/0
】切换接口【int f0/1
】…
输入line vty 0 5
回车进入线路配置模式(config-line)#
路由接口配置模式 Router(config-if)#
输入exit
返回全局配置模式
输入end
返回特权模式
路由线路配置模式 Router(config-line)# (即同时允许多少个用户访问)
输入exit
返回全局配置模式
输入end
返回特权模式
路由存储配置文件 #write#
模式下输入wr
写入保存文件
路由查看当前配置信息 #show running-config#
模式下输入show run
查看当前路由的配置信息
路由查看某接口如S0/0的信息 #show int s0/0#
模式下输入show int s0/0
查看该路由的s0/0接口配置,其他接口也是如此查看
路由查看vlan基本配置 #show vlan-switch brief#
模式下输入show vlan-s br
即可查看当前接口的vlan信息配置
路由查看路由表配置IPRoute情况 #show ip route#
模式下输入show ip route
即可查看当前路由器的路由表情况
路由关闭域名查找 (config)#no ip domain lookup(config)#
模式下输入no ip domain lookup
即可关闭域名查找
路由远程访问密码配置 (config-line)#password * * * * *#conf t
进入全局配置模式(config)#enable password *******
配置特权模式密码(config)#line vty 0 5
选择虚拟终端(进入线路配置模式)(config-line)#login
配置登陆密码(config-line)#password *******
设置远程登陆密码(config-line)#end
一定要end
#wr
写入配置保存
PC存储IP配置 >save>
模式下输入save
写入保存文件
PC查看IP配置信息 >show ip>
模式下输入show ip
查看当前本PC的IP信息
PC设置IP本机IP地址和要连接到的网关 >ip 地址/子网掩码 gateway 网关>
模式下输入ip 4.21.x.x/255.255.x.x gateway 4.21.x.1
PC清除IP本机配置 >clear ip>
模式下输入clear ip
即可清除本机的IP的配置
配置
配置中转R1、R2
R1类似一个中转站(服务商),占有一个IP,R2也是一个外部网络Internet中转站,也占有一个IP,有个lo 0口
设置R1 对R2IP地址及对外S0/0
R1#conf t
R1(config)#int s0/0
因为用的是S0/0接口,所以配S0/0的接口IPR1(config-if)#ip add 2.2.2.1 255.255.255.0
这个IP纯属好记,自编R1(config-if)#no shutdown
让它运行起来R1(config-if)#end
R1#wr
设置R1 对ESW IP地址及对内F0/0
R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 1.1.1.2 255.255.255.0
R1(config-if)#no shut
R1(config-if)#
R1(config-if)#end
R1#wr
设置R2 对R1的IP地址及对内S0/0
R2#conf t
R2(config)#int s0/0
因为用的是S0/0接口,所以配S0/0的接口IPR2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#no shutdown
让它运行起来,不然可能R1和R2连不上R2(config-if)#end
R2#wr
此时尝试用R2 Ping R1检测是否连通
出现此图即为Ping通,或者是..!!!
此时如果你如果想远程访问R1,也就是R2去telnet 2.2.2.1
会得到这样的结果,失败。
原因很简单,你没配置R1允许远程访问的密码,具体配置看上边的常用命令,这里就不演示了。
设置R2虚拟接口Loopback
R2#conf t
R2(config)#int loopback 1
R2(config-if)#ip add 3.3.3.3 255.255.255.0
R2(config-if)#end
R2#wr
配置ESW的vlan
不同的部门需要有不同的vlan,便于让它们相对独立出来,类似不同的部门之间是分开的关系。
划分vlan
ESW1#vlan database
ESW1(vlan)#vlan 10 name vlan10
ESW1(vlan)#vlan 20 name vlan20
ESW1(vlan)#vlan 30 name vlan30
ESW1(vlan)#vlan 80 name vlan80
ESW1(vlan)#exit
ESW1#
得到如图:
继续分配端口给vlan
分配端口
ESW1#conf t
ESW1(config)#int f1/1
ESW1(config-if)#switchport access vlan 10
ESW1(config-if)#int f1/4
ESW1(config-if)#switchport access vlan 20
ESW1(config-if)#int f1/7
ESW1(config-if)#switchport access vlan 30
ESW1(config)#int range f1/14 - 15
ESW1(config-if-range)#switchport mode access
如果未来都是三层交换机,则将交换机转换为接入模式,三层口转为二层口,即接入终端。当然,f开头都是二层口。ESW1(config-if-range)#switchport access vlan 80
ESW1(config-if-range)#no shut
ESW1(config-if-range)#end
ESW1#wr
再次查看vlan分配情况,输入show vlan-s bri
得到:
开启三层路由功能(即允许不同vlan互相访问)
ESW1#conf t
ESW1(config)#ip routing
ESW1(config)#end
ESW1#wr
尝试PC1 Ping PC2
配置RIP
ESW的SVI接口设置(即端口网关)
对内:ESW1#conf t
ESW1(config)#int vlan 80
ESW1(config-if)#ip add 4.21.3.129 255.255.255.128
ESW1(config-if)#int vlan 30
ESW1(config-if)#ip add 4.21.2.1 255.255.255.0
ESW1(config-if)#int vlan 20
ESW1(config-if)#ip add 4.21.0.1 255.255.254.0
ESW1(config-if)#int vlan 10
ESW1(config-if)#ip add 4.21.3.1 255.255.255.128
ESW1(config-if)#end
对外:ESW1#conf t
ESW1(config)#int f0/0
ESW1(config-if)#ip add 1.1.1.1 255.255.255.0
ESW1(config-if)#no shut
ESW1(config-if)#end
ESW1#wr
尝试Ping 1.1.1.2,前提是配置了R1对ESW的F0/0
R3的IP和SVI设置(R3类似WWW)
R3#conf t
R3(config)#int f0/0
R3(config-if)#ip add 4.21.3.181 255.255.255.128
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#ip route 0.0.0.0 0.0.0.0 4.21.3.129
通过网关自动识别出去的默认路由功能R3(config)#end
R3#wr
Ping一下网关,前提是已经分配了ESW的VLAN
R4的IP和SVI设置(R4类似DNS)
R4#conf t
R4(config)#int f0/0
R4(config-if)#ip add 4.21.3.180 255.255.255.128
R4(config-if)#no shut
R4(config-if)#exit
R4(config)#ip route 0.0.0.0 0.0.0.0 4.21.3.129
R4(config)#end
R4#wr
配置PC的IP和连接网关SVI
如图,配置PC1 - PC3
配置PC1
PC1> ip 4.21.3.10 255.255.255.128 gateway 4.21.3.1
或者PC1> ip 4.21.3.10/25 gateway 4.21.3.1
配置PC2
PC2> ip 4.21.0.20 255.255.254.0 gateway 4.21.0.1
配置PC3
PC3> ip 4.21.2.30 255.255.255.0 gateway 4.21.2.1
每个配完后都必须save
尝试Ping网关,前提是你必须划分了vlan,分配了端口,配置了ESW的SVI,结果如下:
配置路由表
ESW
ESW1#conf t
ESW1(config)#router rip
启动RIP进程ESW1(config-router)#ver 2
选择RIPv2协议,版本可以是其他,但必须统一ESW1(config-router)#network 1.0.0.0
RIP为有类路由ESW1(config-router)#network 4.0.0.0
选择参与RIP的网络ESW1(config-router)#end
ESW1#wr
R1
R1#conf t
R1(config)#router rip
R1(config-router)#ver 2
R1(config-router)#network 1.0.0.0
R1(config-router)#network 2.0.0.0
R1(config)#end
R1#wr
配置完ESW和R1,此时两者会自动交换路由表信息
R2
R2#conf t
R2(config)#router rip
R2(config-router)#ver 2
R2(config-router)#network 2.0.0.0
R2(config-router)#network 3.0.0.0
R2(config-router)#end
R2#wr
结语
完成上述这些,理论上是可以进行PCPing通3.3.3.3了,当然,PC4和ESW2还没配,暂时就到此。
放上图:
PC1 Ping 3.3.3.3
R3 Ping 3.3.3.3
只是开始,加油,Add Oil!