提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
IS-IS(Intermediate System to Intermediate System)是一种链路状态路由协议,主要用于大型IP网络中的路由选择。它最初为ISO的CLNP(Connectionless Network Protocol)设计,但后来被扩展以支持IPv4和IPv6。
一、基本原理
- 层次结构:
Level 1 Router (L1 Router):
L1路由器位于区域内,只负责在其所在区域内的路由。它们与同一区域的其他路由器交换链路状态信息,并基于该信息计算到区域内其他节点的最优路径。L1路由器无法直接与其他区域的路由器进行路由选择。
Level 2 Router (L2 Router):
L2路由器位于网络核心,负责不同区域之间的路由。它们与其他L2路由器以及位于其它区域的L1路由器交换信息。L2路由器可以在多个区域之间传递流量,起到汇聚不同区域流量的作用。
Level 1-2 Router (L1-2 Router):
L1-2路由器是同时具备L1和L2功能的路由器,既可以在当前区域内进行路由,也可以与其他区域的路由器进行路由选择。这种路由器通常位于区域边界,能够提供区域间的连接。
总结:
Level 1 Router:处理同一区域内的路由。
Level 2 Router:处理不同区域之间的路由。
Level 1-2 Router:同时处理区域内和区域间的路由。
- 邻接发现:
Hello协议:IS-IS使用Hello消息来发现和维护与邻居路由器的邻接关系。路由器会周期性地发送Hello消息,以确认邻居的可达性。
- 最短路径计算:
SPF算法:IS-IS使用Dijkstra算法(或称为SPF算法)来计算从源路由器到网络中其他所有路由器的最短路径。当LSDB更新时,路由器会重新运行SPF算法以更新其路由表。
- 多协议支持:
广泛的应用:IS-IS最初用于CLNP(Connectionless Network Protocol),但现在也广泛支持IP和IPv6,这使得它在多种网络环境中得到应用。
- 收敛性:
快速收敛:由于IS-IS使用链路状态更新的方式,它通常可以快速响应网络拓扑的变化,保持高效的路由处理。
二、案列图
在上面实验中AR1为Level 1 Router,AR2、AR3为Level 1-2 Router,AR4、AR5为Level 2 Router。其中loopback1模拟要引入Level 1区域的路由。
基础配置
配置每个路由器的接口IP实现对端IP互通,与loopback 0 就是设备号。
以AR1为列
#
sysname R1
#
interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.13.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
配置isis
<AR1>
#
isis 1
is-level level-1 ##指定该IS-IS路由器的等级为Level 1
network-entity 49.0001.0000.0000.1111.00 ##设置了网络实体标识符
is-name R1 ##指定了路由器的名称为R1。
#
interface GigabitEthernet0/0/0
isis enable 1 ##在接口下使能isis 1
#
interface GigabitEthernet0/0/1
isis enable 1
#
interface LoopBack0
isis enable 1
#
<AR2>
isis 1
network-entity 49.0001.0000.0000.2222.00
is-name R2
#
interface GigabitEthernet0/0/0
isis enable 1
#
interface GigabitEthernet0/0/1
isis enable 1
#
interface LoopBack0
isis enable 1
#
<AR3>
isis 1
network-entity 49.0001.0000.0000.3333.00
is-name R3
#
interface GigabitEthernet0/0/0
isis enable 1
#
interface GigabitEthernet0/0/1
isis enable 1
#
interface LoopBack0
isis enable 1
#
<AR4>
#
isis 1
is-level level-2
network-entity 49.0002.0000.0000.4444.00
is-name R4
import-route direct ##把自己的直连路由引入
#
interface GigabitEthernet0/0/0
isis enable 1
#
interface GigabitEthernet0/0/1
isis enable 1
#
interface LoopBack0
isis enable 1
#
interface LoopBack1
ip address 192.168.10.10 255.255.255.0
#
<AR5>
#
isis 1
is-level level-2
network-entity 49.0002.0000.0000.5555.00
is-name R5
import-route direct
#
interface GigabitEthernet0/0/0
isis enable 1
#
interface GigabitEthernet0/0/1
isis enable 1
#
interface LoopBack0
isis enable 1
#
interface LoopBack1
ip address 192.168.20.20 255.255.255.0
#
查看isis邻居是否建立成功
<R2>display isis peer
Peer information for ISIS(1)
System Id Interface Circuit Id State HoldTime Type PRI
-------------------------------------------------------------------------------
R1 GE0/0/0 R2.01 Up 27s L1 64
R4 GE0/0/1 R2.02 Up 29s L2 64
Total Peer(s): 2
R2与R1和R4的IS-IS邻接配置正常,能够支持路由信息的交换。
查看isis状态链路数据库
<R2>display isis lsdb
Database information for ISIS(1)
--------------------------------
Level-1 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
R1.00-00 0x00000008 0xbf2e 432 136 0/0/0
R2.00-00* 0x00000012 0x5a4f 1132 151 1/0/0
R2.01-00* 0x00000005 0x37ea 1132 74 0/0/0
Total LSP(s): 3
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
Level-2 Link State Database
LSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
R2.00-00* 0x0000000c 0xf542 1132 130 0/0/0
R2.02-00* 0x00000005 0x3445 1132 55 0/0/0
R3.00-00 0x0000000b 0x53c1 1078 154 0/0/0
R3.02-00 0x00000005 0xef23 1078 55 0/0/0
R4.00-00 0x0000000c 0x7594 380 117 0/0/0
R4.00-01 0x00000004 0xf7b3 380 41 0/0/0
R4.02-00 0x00000004 0x3cc 380 55 0/0/0
R5.00-00 0x0000000a 0xc5e0 1165 117 0/0/0
R5.00-01 0x00000005 0x3846 1165 41 0/0/0
Total LSP(s): 9
*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended),
ATT-Attached, P-Partition, OL-Overload
查看isis路由表
<R2>display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) Level-1 Forwarding Table
--------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.0.24.0/24 40 NULL GE0/0/1 Direct D/-/L/-
10.0.13.0/24 20 NULL GE0/0/0 10.0.12.1 A/-/L/-
2.2.2.2/32 0 NULL Loop0 Direct D/-/L/-
10.0.12.0/24 10 NULL GE0/0/0 Direct D/-/L/-
1.1.1.1/32 10 NULL GE0/0/0 10.0.12.1 A/-/L/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
ISIS(1) Level-2 Forwarding Table
--------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
10.0.24.0/24 40 NULL GE0/0/1 Direct D/-/L/-
3.3.3.3/32 60 NULL GE0/0/1 10.0.24.4 A/-/-/-
192.168.20.0/24 50 0 GE0/0/1 10.0.24.4 A/-/L/-
10.0.13.0/24 70 NULL
192.168.10.0/24 40 0 GE0/0/1 10.0.24.4 A/-/L/-
2.2.2.2/32 0 NULL Loop0 Direct D/-/L/-
10.0.12.0/24 10 NULL GE0/0/0 Direct D/-/L/-
5.5.5.5/32 50 NULL GE0/0/1 10.0.24.4 A/-/-/-
10.0.45.0/24 50 NULL GE0/0/1 10.0.24.4 A/-/-/-
1.1.1.1/32 70 NULL
10.0.35.0/24 60 NULL GE0/0/1 10.0.24.4 A/-/-/-
4.4.4.4/32 40 NULL GE0/0/1 10.0.24.4 A/-/-/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
路由渗透
AR2
#
acl number 2000
rule 5 permit source 192.168.0.0 0.0.255.255
#
route-policy 3 permit node 10
if-match acl 2000
#
route-policy 3 deny node 20
#
#
isis 1
network-entity 49.0001.0000.0000.2222.00
import-route isis level-2 into level-1 filter-policy route-policy 3
AR2
#
acl number 2000
rule 5 permit source 192.168.0.0 0.0.255.255
#
route-policy 3 permit node 10
if-match acl 2000
#
route-policy 3 deny node 20
#
#
isis 1
network-entity 49.0001.0000.0000.3333.00
import-route isis level-2 into level-1 filter-policy route-policy 3
通过访问控制列表(ACL)允许特定的流量。
设定路由策略来控制从IS-IS Level 2到Level 1的路由导入,确保只允许符合特定条件的流量。
通过更复杂的策略管理流量,保证网络安全与性能。
最后查看AR1的路由表看是否学到了192.168.0.0网段的IP
<R1>display isis route
Route information for ISIS(1)
-----------------------------
ISIS(1) Level-1 Forwarding Table
--------------------------------
IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
0.0.0.0/0 10 NULL GE0/0/0 10.0.12.2 A/-/-/-
10.0.24.0/24 50 NULL GE0/0/0 10.0.12.2 A/-/-/-
192.168.20.0/24 10 50 GE0/0/0 10.0.12.2 A/-/-/U
10.0.13.0/24 10 NULL GE0/0/1 Direct D/-/L/-
192.168.10.0/24 10 40 GE0/0/0 10.0.12.2 A/-/-/U
2.2.2.2/32 10 NULL GE0/0/0 10.0.12.2 A/-/-/-
10.0.12.0/24 10 NULL GE0/0/0 Direct D/-/L/-
1.1.1.1/32 0 NULL Loop0 Direct D/-/L/-
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,
U-Up/Down Bit Set
发现192.168.0.0地址通过AR2上学到的。
认证方式
接口认证
作用: 对Level-1和Level-2的Hello报文进行认证。
配置示例:
interface <接口号>
isis authentication-mode md5 Huawei@123 send-only
区域认证
作用: 对Level-1的SNP(Sequence Number PDU)和LSP(Link State PDU)报文进行认证。
配置示例:
isis 1
is-level level-1
area-authentication-mode simple Huawei
路由域认证
作用: 对Level-2的SNP和LSP报文进行认证。
配置示例:
isis 1
is-level level-2
domain-authentication-mode simple Huawei
扩展配置示例
为了平滑过渡认证密钥并确保不影响路由和邻居关系。
- 添加 send-only 参数
在配置中添加 send-only 参数后,与使用其他认证密码的设备交互时,认证设备只会发送认证信息,而不会对收到的认证信息进行审核。这意味着在更改密钥为 Huawei@123 的过程中,设备可以继续与其他使用不同密码的设备交互。
示例配置(增加 send-only 参数):
interface <接口号>
isis authentication-mode md5 Huawei@123 send-only // 针对接口认证进行配置
isis 进程号
area-authentication-mode md5 Huawei@123 all-send-only // 针对区域认证进行配置
- 修改密码
在所有相关设备上,将认证密码更改为 Huawei@123。在此步骤中,由于仍使用 send-only 参数,邻居关系不会受到影响。
- 去掉 send-only 参数
在所有设备上修改认证配置,去掉 send-only 参数。这一步骤将激活对发送认证信息的审核。此外,此时所有设备的密码均为相同,这确保了邻居之间的认证可以顺利进行。
示例配置(去掉 send-only 参数):
interface <接口号>
isis authentication-mode md5 Huawei@123 // 针对接口认证进行配置,无send-only参数
isis 进程号
area-authentication-mode md5 Huawei@123 // 针对区域认证进行配置,无send-only参数
总结
IS-IS作为一种高效的链路状态路由协议,通过可靠的邻接建立、灵活的信息传播机制,实现了快速的网络路由优化。然而,面对渗透和攻击风险,合理的认证机制至关重要。实施MD5认证、配置send-only参数等策略,能够显著增强网络的安全性,防止潜在的安全威胁,从而更好地保护网络的完整性、可用性和保密性。