按:该篇所涉及的知识基本通用,但以思科为载体来介绍。
路由器组件
路由器的主要组件包括:
CPU、内存、存储(分FLASH、NVRAM)、接口、机箱。
重点关注存储,有两种,
- FLASH 类似于电脑的C盘,用于存系统,是只读的。
- NVRAM 存储当前保存的配置文件。 这样的机制使得当配置蹦掉之后可以很方便地重新启动,提供拯救的可能。
开机时
- 首先自检
- 然后从Flash中加载系统的镜像
- 从NVRAM中加载配置文件,如果没有的话将使用系统的默认(出厂)设置
- 启动完成
管理设备的方法
1.Console控制台
Console线
2.远程登录Telnet/SSH/Http
使用命令行连接工具输入IP地址,远程登录
3.使用辅助端口
下面我们来介绍如何用命令行窗口进行路由器的系统配置。
Cisco IOS配置模式:
命令行基础介绍
Router> \\Router表示设备名,>是表示什么模式
>是用户模式,只能查看简单的信息。
#是特权模式,可以使用所有的工具和查看完整的信息。
特权模式:
Router>enable //进入方法
Router#disable //退出方法,不过exit好像也可以
Router>
全局配置模式 \\可以设置影响路由器全局的内容
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname eagle
eagle(config)#no hostname eagle
Router(config)#end
Router#reload \\重启命令
下图展现了各个模式的切换方法:
便捷配置的技巧:
1.table键可以自动补全命令,必须要输入单词的前几个字母
2.输入?可以查看当前输入的字母存在几个匹配的命令。输入[空格]?可以查看当前命令后面可以接什么参数。
(当你迷茫,当你困惑,当你。。编不出来了反正就打问号回车吧)
3.<cr>表示允许在当前情况下直接回车
4.命令字母不必输全,只要没有歧义就可以。就是说在没有歧义的情况下,单词可以不用输入完整。打出来都是火星文。。
5.Ctrl+A将光标移动到该命令的第一个字母
6.方向键↑可以调用上一条命令
7.想让某条命令不执行,直接在前面加一个no就可以
从不同用户的不同需求来看,
首先,用户模式是正常登陆CLI的第一个模式,只能查看最基本的信息。这一层,面向的是普通用户。
特权模式具备所有信息的查看权限(所以一般只能用来查看各种信息的时候才会用它)。对应管理人员只查看信息,未打算配置的情形。
如果你想要更改配置,必须进入全局配置模式(它有很多子模式来进行具体操作)。这也防止了小白误操引起不必要的麻烦。
常用的维护命令
1.特权模式加密码
R1(config)#enable password cisco
R1(config)#enable secret cisco
R1(config)#service password-encryption
2. banner的设置 //就是开机标语啥的
banner login @//选择一个没有歧义的符号作为banner终止的标识符。
3.Telnet的开启
R1(config)# line vty 0 4
R1(config)# password cisco
R1(config)# login
R1(config)# transport input telnet
4. 远程登录退出
Router#然后输入quit
5.
R1(config-line)#login
//给console接口加上登陆时候用的密码。
R1(config-)#line vty 0 4(表示对支持的5个能登上的用户都设置密码)
R1(config-line)#password 123456
R1(config-line)#login
//给telnet接口加上登陆密码。
R1(config)#enable password 123456
//给进入特权模式时加上密码
R1#show running-config
//显示当前设备正在使用的命令
R1#copy running-config startup-config
R1#write
//保存当前的配置文件
R1#reload
//重启当前设备
R1#erase startup-config
//删除开机使用的配置
R1(config)#no enable password 123456
//想使某条命令不生效,在前面加no就好。
R1(config)#enable secrt 123456
//如果想让密码稍微安全一点,这个命令可以使密码在配置文件中显示为乱码(MD5算法,散列函数)
R1(config)#service password-encryption
//使全部密码全部以乱码显示(使用CISCO自己的算法,都有在线解密工具)
第一张图用secret密令改掉了一个密码。前面的5表示MD5???
第二张图调用service命令,产生的密文前面的7表示是使用了cisco的加密算法
不过这两个算法其实都蛮鸡肋,在线解都不是什么难事。
IP路由基础
接口地址的设置
用户模式→特权模式→全局配置模式→接口配置模式→配置IP地址→将接口开启
enable conf t interface e0/0 ip address x.x.x.x x.x.x.x no shutdown
路由
首先,当路由器收到IP数据包的时候,会在路由器当前的路由表中查找
如果有匹配项,则通过该项的出接口发出这个数据包。
如果没有匹配到,则丢弃。
路由表中路由来源:
1.直连接口:
路由器会将自己直接连接的接口上的IP网段,放进自己的路由表。必须保障该接口处于开启状态。
可以使用R1#show ip interface brief查看接口的状态和IP地址
2.手工配置(毕竟不是所有设备都直连,而非直连的就要发起ARP,那多麻烦,我们人工加)
静态路由配置方法:
R1(config)#ip route 192.168.23.0 255.255.255.0 [数据出去的接口编号或者下一跳的IP地址]
我告诉你从 192.168.23.0 255.255.255.0 fastEthernet 0/0 走。
这个意思就是,告诉你有23.0这个东西的存在。之所以是23.0 这个.0表示一整个网段,是一堆,不写.0的话写别的只能告诉它一个,即一台设备。
注意!需要注意双向通信。
上图中,R2是和其他都直连的,但R1与R3是非直连的。
如果我们在R1的路由表里配了R3,当R1发数据给R3的时候一切照常,但是。。R3无法回复R1。因为它的表里并没有R1..
所以双向都要配置。
而且最好是配 IP地址 而不是 接口地址 。
如果后面跟上出接口地址的话,就会出现每访问一个新的地址,就会多出一个ARP记录,最终耗尽资源的情况。
3.动态学习
路由表遵循最长匹配原则(选择更精细的子网掩码走)
也就是说,当出现两个相似路由时:
它会选择一个跟自己匹配最多的走。
因为IP包头里根本没有子网掩码,
所以和路由器直连的设备,那个24,你可以把它当做是网络位。也可以看成是匹配条件,即前24位和我一样我就认为是匹配了。
管理距离Administrative Distance
192.168.12.0 [10/0] 10是管理距离,0是度量值。
对于从多种方式得到同一条路由,优先选择管理距离小的
管理距离一样的情况下,比较度量值,谁小谁优选。
上图中,R2与R3双向连接,我让你设置R2去R3时走上面那条,回来时相反,如果有一条断了,则可以走另一条。正常时又可以恢复。这就可以用AD来实现;
只需要在配置路由表的时候在地址后面多写一个比1大的数,他的AD就会变大。就可以决定R2去往R3时的首选地址是哪个:
从R2访问R4,注意走的是23.3 是上面。
从R4访问R2,走的是32.2,下面。
环回接口 loopback
用于实验或管理的虚拟软件接口,能和正常的物理接口一样配置。
只要路由器系统能开机,就能UP,除非手动shutdown。
一切的一切都只发生在一个路由器的内部。所以他可以写成A类地址。
书写方法暂略。
路由汇总
这其实就是一个改变排查范围的操作。
我们可以将前缀相同的路由条目,写成一条子网掩码长度小于原本长度的路由,放入路由表
以此可以减少路由表的条目数量,加快路由查询的过程
但是也会丢失路由明细信息。造成一些不必要的数据转发行为,浪费资源。
缺省路由
当路由表中没有一条路由匹配数据包时,选择从缺省路由走(如果有的话)
p route 0.0.0.0 255.255.255.0 缺省路由往往表示成0.0.0.0/0,表示匹配任意的IP地址。
路由器工作模式
只在主类下面找,找不到也不找别的
全局设置 no ip classless
无类工作模式(默认):
有类工作模式:
只在主类下面找,找不到也不找别的,直接扔了。
全局设置 no ip classless
无类工作模式(默认)
从头查到尾。查不到才扔。
ip classless
P.S.
三个工具:
测试网络连通性的:ping。
测试数据传输路径的:tracertroute
测试一个节点所有收发数据细节的 debug。(实现的是抓包的效果。)
第三个不建议用,如果是企业用路由器,很可能你一用CPU瞬间爆满,来不及停止它,只能重启。
配置端口地址的方法:
用户模式→特权模式→全局配置模式→接口配置模式→配置IP地址→将接口开启
enable conf t interface e0/0 ip address x.x.x.x x.x.x.x no shutdown
命令:
R1(config-if)# ip add x.xx.xx.x
配置路由表的方法:
R1(config)#ip route 192.168.23.0 255.255.255.0 [数据出去的接口编号或者下一跳的IP地址]
192.168.23.0表示需要匹配的条件
255.255.255.0表示数据出去的IP地址。
来,客官您去哪儿?这边请~
因为IP包头里根本没有子网掩码,
所以和路由器直连的设备,那个24,你可以把它当做是网络位。也可以看成是匹配条件,即前24位和我一样我就认为是匹配了。
刚配好的时候第一次ping大部分时候会丢一个包,为啥呢?因为第一次的时候他不知道对方的mac地址,于是会触发一个ARP行为,等他回来的时候已经超时了。。
论图形化界面的坏处:功能不全,有图形化的话,用户就会瞎胡捣鼓、增大故障可能、多占内存,带宽。。。
管理距离用来比较路由获取方式的信任程度,越小越优
管理距离一样的情况下,使用度量值来衡量路线的好坏,越小越优