八、IS-IS 认证
1、IS-IS 认证简介
为了保证IS-IS协议的安全性,防止未授权网络设备发送IS-IS报文,IS-IS支持认证机制。
IS-IS认证有三种分类:接口认证、区域认证和路由域认证。认证方式可以选择不认证、明文认证和MD5认证方式。
IS-IS的三种认证模式有不同的机制,接口认证的本质对Hello报文进行认证,其他报文不做认证;区域认证的本质是对L1的SNP报文和LSP报文进行认证而路由域认证的本质是对L2的SNP和LSP报文做认证。
在默认情况下,IS-IS路由器不进行认证,也没有认证字段。当配置认证时,IS-IS的认证时通过携带TLV字段实现的。
isis authentication-mode md5 cipher 123456 send-only
可以选择认证的方式和本地存储方式。
send-only参数可以添加也可以不添加。当配置命令中含有send-only命令时,该IS-IS路由器发送Hello报文时携带认证TLV,接受报文时不对报文进行认证,从而不管邻居IS-IS路由器是否认证、不管认证是否正确,都能够正常建立IS-IS邻接关系。
如果不携带send-only参数,则发送Hello报文时携带认证TLV,在接收报文时检查报文的TLV字段,对报文进行认证。
send-only参数可以使得IS-IS协议支持在不中断业务的前提下修改IS-IS全网认证密码,而这一点是OSPF协议所不能实现的。
IS-IS协议在不中断业务的前提下修改密码大致流程如下图所示:
假设R1和R2路由器认证密码为123,要修改新的认证密码为321,则首先对R1接口修改其认证密码为321,并添加send-only参数,之后对R2接口修改其认证密码为321,然后将R1接口认证密码去掉send-only参数,这样就可以实现在不中断业务的情况下修改IS-IS的认证密码了。
区域认证和路由域认证需要在IS-IS视图下配置,区域认证配置命令如下:
area-authentication-mode md5 cipher 123
路由域认证配置命令如下:
domain-authentication-mode md5 cipher 123
在配置区域认证和路由域认证时,由于其认证不是针对Hello报文的认证,因此即使认证失败,IS-IS邻居也会正常存在,但是此时邻居之间的所有LSP信息就全部丢弃。因此,在IS-IS应用时,一个区域内要么全部不配置认证,要么全部配置认证。
不管是路由域认证,还是区域认证,可以在上述三条命令的后面添加以下三类参数:
1、all-send-only
2、snp-packet authentication-avoid
3、snp-packet all-send-only
利用这三个参数,可以对区域认证和路由域认证的实现方式进行微调,以实现最符合业务场景的配置,不携带上述任何参数以及携带参数的区别如下:
当不携带任何参数时,IS-IS路由器对LSP、CSNP和PSNP报文添加认证TLV,并对接收到的L1的LSP、CSNP和PSNP报文进行认证。
当携带all-send-only参数时,IS-IS路由器对LSP、CSNP和PSNP报文添加认证TLV,但是不对收到的LSP、CSNP和PSNP报文进行认证。(利用本参数可以实现在区域认证和路由域认证不中断业务的场景下更换认证密码,实现方式与上相类似)
3、携带snp-packet authentication-avoid参数
当携带snp-packet authentication-avoid参数时,对发送的LSP报文添加认证TLV,并对接受的LSP做认证,忽略发送与认证SNP报文。
4、携带snp-packet all-send-only参数
当携带snp-packet authentication-avoid参数时,IS-IS路由器对LSP、CSNP和PSNP报文添加认证TLV,对接收的L报文做认证,但是不对接收到的CSNP和PSNP报文做认证。(本参数可以在一定程度上减少认证对路由器资源的消耗)
九、配置示例
如图所示,客户网络所有路由器路由协议要求启用IS-IS,使全网路由可达。全部IS-IS进程号统一为100,其中RTA在Area49.0001区域为DIS,RTD与RTE之间要求采用P2P网络类型,RTE引入直连链路192.168.X.X,要求RTA访问Area49.0002走最优路径。
根据上述描述,进行正确配置,使网络路由达到客户需求。
配置步骤
第一步:配置路由器个接口IP地址,以及主机IP地址。
第二步:将每台路由器使能IS-IS,并进入进程100,配置网络实体名称NET
[RTA]isis 100
[RTA-isis-100]network-entity 49.0001.0000.0000.0001.00
第三步:将每台路由器配置Level级别,这里RTA为Level-1路由器。RTD、RTE为Level-2路由器。
RTB、RTC为Level-1-2路由器,默认情况,不需要修改。
[RTA-isis-100]is-level level-1 Info: IS Level Changed, Resetting ISIS...
[RTD-isis-100]is-level level-2 Info: IS Level Changed, Resetting ISIS...
第四步:在接口下启用IS-IS配置
[RTA-GigabitEthernet0/0/0]isis enable 100
第五步:修改RTA接口的DIS优先级,让RTA成为DIS
[RTA-GigabitEthernet0/0/0]isis dis-priority 120 level-1
第六步:RTD和RTE在接口修改网络类型
[RTE-GigabitEthernet0/0/0]isis circuit-type p2p
第七步:给RTB和RTC设置路由渗透。在RTE上引入直连路由。
如果一个level-1区域有两个以上Level-1-2路由器,则区域内Level-1路由器访问其他区域会选择最近的Level-1-2路由器,但是计算的开销值只计算本区域内的,如果最近的Level-1-2路由器在Level-2区域到达目的网络的开销相对比较大,实际会造成业务次优路径。在这种场景下需要做路由渗透操作,把Level-2区域的明细路由(包括开销)引入到Level-1区域,由Level-1路由器自行计算选择最优的路径访问跨区域网络。
[RTB-isis-100]import-route isis level-2 into level-1
[RTE-isis-100]import-route direct
验证:查看isis路由表:
<RTA>dis isis route
Route information for ISIS(100)
-------------------------------
ISIS(100) Level-1 Forwarding Table
----------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
192.168.2.0/24 10 20 GE0/0/0 192.168.7.2 A/-/-/U
GE0/0/0 192.168.7.3
192.168.6.0/24 20 NULL GE0/0/0 192.168.7.3 A/-/-/-
192.168.1.0/24 10 20 GE0/0/0 192.168.7.2 A/-/-/U
GE0/0/0 192.168.7.3
192.168.5.0/24 20 NULL GE0/0/0 192.168.7.2 A/-/-/-
192.168.4.0/24 30 NULL GE0/0/0 192.168.7.2 A/-/-/U
GE0/0/0 192.168.7.3
192.168.3.0/24 10 20 GE0/0/0 192.168.7.2 A/-/-/U
GE0/0/0 192.168.7.3
192.168.7.0/24 10 NULL GE0/0/0 Direct D/-/L/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun 暗号:CSDN】