第三天
RIP的路由控制
优先级
[r1-rip-1]preference 150 --- 修改RIP默认优先级
Rip 修改优先级只会修改本地路由优先级,比如在r1上pre 150,那么r1上获取到的路由信息优先级改成150,但是在r2上不会变
开销值
因为RIP存在15跳的跳数限制,所以,RIP在进行开销值修改时,不允许将开销值改小,只能改大。
修改分为 :
出方向修改 --- 影响他人 --- 修改的开销值实际上是传递中开销值的增加量( 默认:开销值=本地路由器跳数+1,修改后:开销值=本地路由器跳数+10 )
[r2-GigabitEthernet0/0/0]rip metricout 10
metric在华为体系里和cost一个意思——开销值
入方向修改 --- 影响自身 --- 修改的开销值将直接加到本地路由表的开销值中 ( 在开销值上直接+10 )
[r1-GigabitEthernet0/0/0]rip metricin 2
精确控制开销
1,创建ACL列表抓取路由信息
[r2]acl 2000
[r2-acl-basic-2000]
[r2-acl-basic-2000]rule permit source 4.4.4.0 0
2,在接口上修改开销值
[r2-GigabitEthernet0/0/0]rip metricout 2000 10 --- 出方向修改
[r1-GigabitEthernet0/0/0]rip metricin 2000 2 --- 入方向修改
路由过滤 --- 也属于路由控制的一种
Filter - policy --- 过滤列表
也分为出方向修改(影响他人)和入方向修改(影响自身)
1,ACL列表抓取路由信息
[r2]acl 2001
[r2-acl-basic-2001]rule deny source 4.4.4.0 0 --- 因为过滤列表本身没有过滤能力,所以,必须使用ACL列表的过滤功 能完成过滤
[r2-acl-basic-2001]rule permit source any --- 因为华为ACL列表默认对未匹配的流量不做处理,所以,需要添加规则放 通剩余流量。
2,进入RIP进程中调用过滤列表
[r2-rip-1]filter-policy 2001 export GigabitEthernet0/0/0 --- 出方向过滤
过滤的acl规则是:
acl 2001
rule deny source 4.0.0.0 0
[r1-rip-1]filter-policy 2001 import --- 入方向的过滤
RIP的单播邻居
[r1-rip-1]peer 10.0.0.2 --- 邻居双方都需要配置
配置单播邻居后,RIP在周期更新时会同时发送单播数据包和组播(广播)数据包。
沉默接口
1,可以使这个接口只收不发RIP数据
2,沉默接口的第一个效果只针对组播和广播包生效
网络类型 --- 根据数据链路层所运行的协议及规则来划分
P2P --- 点到点网络
MA --- 多点接入网络
--- BMA --- 广播型多点接入网络
--- NBMA --- 非广播型多点接入网络
数据链路层协议
以太网协议
以太网在封装数据帧时需要加入源MAC和目标MAC地址。
原因:因为以太网所组建的二层网络中可以包含多个(两个或两个以上)接口,,每个接口之间都可以通过交互以太网帧的形式实现二层 通讯。所属类型 --- BMA
以太网网络的构建方式 --- 使用以太网线缆,连接设备的以太网接口,形成的网络称为以太网络,锁运行的协议就是以太网协议。
以太网的特色 --- 可以提供极大的传输速率
以太网 ---- 频分 --- 所谓频分,就是在一根铜丝上同时发送不同频段的数据而互不干扰。实现数据的并行发送
只能 存在两个设备,并且不允许第三台设备加入的网络可以不需要MAC地址也能正常通讯的网络叫做 P2P网络
P2P网络的搭建 --- 使用串口线缆连接设备的串线接口形成的网络
串线 --- 一种比较古老的线缆,早期主要使用的线缆之一
串口标准:
T1 --- 1.544Mbps
E1 --- 2.048Mbps
HDLC
High-level Data Link Control ---- 一种专门应用在串线网络中协议 --- 高级数据链路控制协议
标准的HDLC:ISO组织颁布的HDLC(根据SDLC协议改进而来 IBM公司---SDLC---是一种面向比特的同步数据链路控制协议---以帧为单位来传输数据)标准
非标的HDLC:各个厂商根据ISO的HDLC协议改进而来
标准的HDLC和非标的HDLC 不兼容
[r1]display interface Serial 4/0/0 --- 查看接口的二层特性
串口在物理连线正常连接且二层使用相同的协议,则接口双UP
[r1-Serial4/0/0]link-protocol hdlc --- 修改接口二层的协议类型
Address:unicast,代表没有填写内容,因为点到点网络实际上不需要IP地址就能通讯, 而配置 IP 地址的原因,仅仅是为了服务上层协议
Control :原本为了做一些策略,但该字段在现今串线网络当中没有备用到,使用 0 填充
protocol :表示上层封装协议的类型,跟以太网协议中的类型字段相似
HDLC接口地址借用---串行接口可以借用loopback的IP地址和对端建立连接
r1环回,r2接口需要配ip。
[r1-Serial4/0/0]ip address unnumbered interface LoopBack 0 -- 借用环回 0 的 IP 地址
[r1]ip route-static 12.0.0.0 24 Serial 4/0/0 ---- 不写下一跳的原因在于, 1 、如果用下一跳方式书写,则需要递归路由; 2 、接口没有 IP 地址,故无法生成下一跳的直连路由。
r1配完要在r2上也配置,r2的配置和r1一样,且接口状态也要一样
最后需要在双方设备补充上对端设备的静态路由信息,保障数据可以进行查表转发 。
将环回接口 IP 地址配置为对端接口 IP 地址的同网段地址,且掩码为 32 。
PPP --- 点到点协议 --- 应在串线网络中的协议
PPP的特点
1,PPP协议有统一的标准,具有很强的兼容性,并且,任何只要支持全双工模式的串行接口都可以使用PPP协议。
2,PPP协议的可移植性比较强 --- PPPoE
3,PPP协议可以进行认证和授权
4,没有重传机制,开销小,速度快
通讯方式 : 单工 ,半双工, 全双工
PPP协议类似于TCP协议,在数据传输之前,也需要创建PPP会话。
1,链路建立阶段 --- LCP建立
2,认证阶段 --- PPP的认证 ---- 可选项
3,网络层协议协商阶段 --- NCP协商 ---NCP协议不是指某个协议,而是一堆协议的总称
PPP链路建立阶段
Dead阶段 --- 被称为物理层不可用阶段 --- 当通讯双方的两端检测到物理链路激活,就会从dead阶段跃迁到Establish阶段
Establish阶段 --- 会进行LCP参数协商 --- 在该阶段,当LCP参数协商成功后,会进入opened状态,表示底层链路已经建立。
Authenticate阶段 --- 大多数情况下,链路两端的设备是需要经过认证阶段后才能进入到网络层协议协商阶段 --- PPP链路在缺省情况下不要求进行认证。如果要求进行认证,则在链路建立阶段必须指定认证协议。认证方式是在双方链路建立阶段进行协商的
Network阶段 --- PPP链路进行NCP协商---通过NCP协商来选择和配置一个网络层协议并进行该网络层协议的参数协商。只有当响应的网络层协商成功后,该网络层协议才可能通过这条PPP链路进行发送
NCP协议成功后,PPP链路将保持通讯状态,若PPP运行过程中,物理链路断开、认证失败、定时器超时、手工关闭连接等操作都会导致链路进入Terminal阶段
Terminate阶段 --- 链接关闭阶段 --- 若此时所有的链路资源均已被释放,则通讯双方都将回到初始态Dead状态,直到双方重新建立PPP连接
PPP协议存在一系列的附属协议(成员协议)
LCP协议
链路控制协议 --- 主要用于完成PPP会话建立的第一阶段协商过程
LCP具有三大报文类型
链路配置报文 --- 重点
链路终止报文
链路维护报文
NCP协议
网络控制协议 --- NCP是一系列的协议,针对网络层使用的协议不同,会存在对应的NCP协议。
PCP --- 网络层使用 IP协议时使用的NCP协议。
F --- flag ---- 0111 1110 ---- 前后各存在一个,如果数据部分中出现同样的字段,则需要进行转义操作。
A --- Address --- 11111111 --- 固定由8位1填充
C --- control --- 00000011
协议 --- 上层使用的协议类型
FCS --- 帧校验序列 --- 校验数据帧的完整性
1,链路建立阶段 --- LCP建立
主要作用是通过LCP协议来协商链路建立时的一些基本且重要的参数。
MRU --- PPP帧中数据部分允许携带的最大数据单元 ---- 字节 ---默认1500
认证方式:根据第二阶段认证来判断,若存在认证,则需要协商认证方式,若不存在则不需要协商
魔术字:用来检测链路中是否存在环路,是由本地设备随机生成的字符串(设备序列号、硬件地址)
确认是否进行认证以及如何进行认证
2,认证阶段 --- 一般PPP认证是通过调用AAA来完成认证的
PPP在进行认证时,可以实现单向认证也可以实现双向认证,但是一般不建议单向认证
两种认证方式:PAP、CHAP
PAP ---- 密码认证协议 --- 被认证方将用户名和密码通过 明文 形式发送给认证方,对方回复ACK则表示认证成功,回复NAK则表示认证失 败
CHAP --- 挑战握手协议 ---- 安全性更高,在认证中传递的不是明文信息,而是通过比对摘要值的方式来进行认证。
认证过程:认证方先发送一个挑战报文,里面包含的是认证方的用户名和一个随机值。被认证方接收到后,需要根据用户名的信息在本地进行查找,找到其对应的密码,然后将密码和随机值一起进行HASH运算,得出摘要值。然后被认证方将自己的用户名和该摘要值发给认证方。认证方通过接收到的用户名找到对应密码,再将密码与自己本地产生的随机值进行HASH运算,若得到的摘要值与认证方发送的摘要值相同,则代表通过认证
摘要值 --- 通过HASH算法(散列函数)计算出来的 ---- 可以将任意长度的输入转换成固定长度的输出
特性
1,相同输入,相同输出
2,不可逆性
3,雪崩效应
MD5 --- HASH算法的一种,可以将任意长度的输入转换为128位的输出。
3,NCP协商阶段
通过NCP协议来完成对网络层参数的协商 --- 如果网络层使用的是IP协议,则将使用IPCP协议来完成NCP协商
IPCP协议主要协商两个参数 --- 1,IP报文的压缩格式
2,IP地址 --- 检测该IP地址是否为可用IP地址,且不与自己IP地址
冲突
静态地址协商
IPCP在协商IP地址的过程中,一旦认可了对方的IP地址,会自动学习对方的主机路由 。--- 在PPP网络中,通讯双方的IP地址可以不同
IPCP在NCP协商中可以实现IP地址的分配
动态地址协商
动态地址配置命令
配置方
[r2-Serial4/0/0]remote address 1.1.1.1
获取方
[r1-Serial4/0/0]ip address ppp-negotiate
PPP协议配置
认证方配置:
[r1]aaa
[r1-aaa]local-user admin password cipher 123456
[r1-aaa]local-user admin service-type ppp
[r1-Serial4/0/0]ppp authentication-mode pap --- 选择PAP认证
[r1]aaa
[r1-aaa]local-user admin password cipher 123456
[r1-aaa]local-user admin service-type ppp
[r1-Serial4/0/0]ppp authentication-mode chap --- 选择CHAP认 证
被认证方配置:
[ r2 -Serial4/0/0]ppp pap local-user admin password cipher123456 --- PAP
[ r2 -Serial4/0/0]ppp chap user admin ---- CHAP
[ r2 -Serial4/0/0]ppp chap password cipher 123456
PPP的会话是一次性会话,当第一次链路建立完成后,后续修改认证方式不会影响链路的通讯
注:一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证协议并正确配置用户名和密码等信息
AAA
定义
认证、授权和计费的简称,是网络安全的一种管理机制,提供了认证、授权和计费三种安全功能。
安全功能
认证 --- 用于验证用户是否可以获取网络访问权限
授权--- 授予用户可以使用的服务类型
计费--- 记录用户使用网络资源的情况
AAA域
每一个用户都属于一个域,一个域由属于同一个域的用户构成的集合群体
域下信息
一个域统一管理AAA方案、服务器模板和授权
AAA方案 --- 分为认证方案、授权方案和计费方案,用来定义认证、授权和计费的方式方法
服务器模板 --- 用来配置认证、授权或计费使用的服务器
授权信息分为两类
本地授权(域下授权信息):用户从域下获取的授权信息
服务器授权:用户从域下和服务器同时获取的授权信息
若域下授权信息与服务器授权信息冲突,则遵照服务器授权信息执行
若不冲突,则两者同时执行
用户所属域
用户属于哪一个域 --- 根据NAS设备来判断
NAS设备存储了一个区域内部所有的用户信息,以及其对应的域信息
当用户名中携带了域名信息则NAS设备会根据域名将其归属到对应域下,并回复该域下所配置的AAA方案,服务器模板、域下授权信息。如果用户名没有携带域名信息,则会将其归属到默认域中。
配置
[r2]aaa
[r2-aaa]domain huawei
[r2-aaa-domain-huawei] --- 创建一个名称为huawei的域
AAA方案
认证方案
认证方案用来定义用户认证时所使用的认证方法以及每种认证方法的生效顺序。
认证方案必须应用到域
设备支持的认证方式
本地认证 --- 设备作为认证服务器,然后将用户信息配置在本设备上。
特点
速度快,降低运营成本
缺点:存储的用户信息量受硬件影响
不认证
授权方案
授权方案用来定义用户授权时使用的授权方法以及每种授权方法的生效顺序。并且也需要应用到域
设备支持的授权方法
本地授权
不授权
计费方案
计费方案用来定义用户授权时使用的授权方法。并且也需要应用到域
设备支持的计费方法
RADIUS计费
HWtacacs计费
计费只能有一种方案,故没有所谓的生效顺序
配置
创建用户:
[serve]aaa
[server-aaa]local-user ccip@huawei password cipher 123456---- 用户名后必须跟域名
[server-aaa]local-user ccip@huawei service-type telnet
AAA 方案:
[server-aaa]authorization-scheme huawei --- 创建一个授权方案
[server-aaa-author-huawei]authorization-mode local ---- 设置该方案的授权方法
[server-aaa]authentication-scheme huawei --- 创建一个认证方案
[server-aaa-authen-huawei]authentication-mode local --- 设置该方案的认证方法
[server-aaa]domain huawei --- 创建 huawei 域
[server-aaa-domain-huawei]authorization-scheme huawei --- 认证用户huawei
[server-aaa-domain-huawei]authentication-scheme huawei --- 授权用户huawei
验证:
[serve]telnet 1.1.1.2
username:ccip@huawei
password:123456
GRE和MGRE
如何让分公司访问总公司的服务器 :
通过物理专线 --- 实际上的问题 --- 1,成本高;2,出差人员位置不固 定
通过NAT技术进行访问 --- 相当于将内网服务器开放到公网中 --- 不安全
GRE --- 通用路由封装
VPN --- 虚拟私有网络
VPN的核心技术 --- 隧道技术 ---- GRE就是一种隧道技术
指的是依靠ISP或其他网络管理机构在公有网络基础上构建的专用的安全数据通信网络,只不过该网络是逻辑上的而非物理的
虚拟:用户不再需要拥有实际的长途数据线路,而是使用公共网络资源建立的属于自己的私有网络
专用:用户根据自身需求,特别定制的属于
GRE --- 逻辑隧道的封装技术
GRE --- 名称 --- 通用路由封装技术 --- 标准的三层隧道技术 --- 属于点到点隧道
GRE环境
希望的封装方式:
SIP:192.168.1.1 | DIP:192.168.2.1 | 数据 |
真实的封装
SIP:12.0.0.1 | DIP:23.0.0.2 | 数据 |
加入GRE之后的封装
SIP: 12.0.0.1 | DIP: 23.0.0.3 | GRE | 真实SIP: 192.168.1.1 | 真实DIP: 192.168.2.1 | 数据 |
隧道技术 --- 在隧道的两端通过封装技术及解封装技术在公网上建立一条数据通道,使用这条通道来传输数据 --- 注意,隧道建立之后,两边 的私网将变成一个,所以,在一开始分配网段时,要注意避免冲突。
GRE的配置
1,创建隧道接口
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]
配置好IP后要写缺省,R1 -> R3 和 R3 -> R1
[r1]ip route-static 0.0.0.0 0 12.0.0.2
[r3]ip route-static 0.0.0.0 0 23.0.0.2
2,配置隧道接口IP地址 --- 隧道需要配置独立的私网网段
[r1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装类型
[r1-Tunnel0/0/0]tunnel-protocol gre
4,定义封装内容
[r1-Tunnel0/0/0]source 12.0.0.1
[r1-Tunnel0/0/0]destination 23.0.0.3
注:在R1上配置完后,要在R3上也要配置,源目IP地址要颠倒
5.补充路由
[r1]ip route-static 192.168.2.0 24 192.168.3.2
[r3]ip route-static 192.168.1.0 24 192.168.3.1
GRE报文结构
GRE封装和解封装报文的过程
封装
设备从连接私网的接口收到报文后,检查报文头部中出现的IP地址字段,并在路由表中查找出接口,如果发现出接口是隧道接口,则将报文发送给tunnel模块进行处理。
tunnel模块接收到报文后,会首先根据乘客协议的类型和当前GRE隧道的配置来添加参数,并对报文进行GRE封装
然后,设备给报文添加传输协议报文头部,即IP报文头部。该IP头部信息的源IP地址是隧道源地址(不是隧道自身的IP地址),目的地址就是隧道的目的地址。
最后,设备根据新添加的IP报文头部中的目的IP地址,在路由表中查找对应的出接口,并发送报文。
解封装
接收端设备从连接公网的接口收到报文后,首先分析IP报文头部,如果发现协议类型字段的值为447(GRE的协议号),表示上层协议为GRE协议,于是出接口将报文交给GRE模块处理
GRE模块去掉IP报文头部和GRE头部,并根据GRE报文头部中的协议类型字段,发现此报文的乘客协议为私网中运行的IP协议,将该数据交给对应协议处理。
Keepalive检测 --- 用于检测隧道对端是否可达
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]keepalive period 2 retry-times 5 --- 每2秒发一个报文,重传5次
注:在MGRE不能检测
如果本端隧道配置了keepalive检测功能,GRE隧道会创建一个计时器,并周期性的发送探测报文,同时进行不可达计数。每发送一个探测报文,不可达计数+1.如果该计数器到达预先设定的值之前收到回应报文,则表明对端可达。如果计时器达到预先设定的重传次数,还未收到对端的回应报文,则认为对端不可达。关闭隧道连接。
keepalive不需要双方都进行配置,仅配置一端即可进行检查。
GRE --- 实际上搭建的是一个点到点的隧道,其最明显的问题就是拓展性较差,当存在多个私网需要连接时,使用GRE的话需要两两之间建立隧 道,最好可以使用类似MA网络的方式进行连接
MGRE隧道
静态mgre --- 建立在hub到spoke,并且永久存在
动态mgre --- 建立在spoke到spoke,在一定周期内没有流量转发时将自动拆除
MGRE --- 多点通用路由封装协议
NHRP --- 下一跳解析协议
中心/节点:hub-spoke架构
原理:需要在私网中选一个 出口物理IP不会变 的作为NHS --- 下一跳解析服务器,剩下的分支都知道中心的隧道IP和物理IP,然后,NHRP要求所有 分支节点将自己物理接口的IP地址和隧道IP发给NHS(如果变化,则重新发 送)。这样,NHS就会获得所有分支地址的映射关系,记录在本地。之后,中心需要发消息时,可以直接查看记录的表进行发送。如果分支之间需要通信,则需要先将数据包发送中心,由中心转发。