IS-IS认证
一、IS-IS 认证详解
IS-IS认证用于验证路由协议报文的合法性和完整性,防止未经授权的设备加入网络或篡改路由信息。以下是其核心机制、类型及配置要点:
1. 认证类型
IS-IS支持多级认证机制,适用于不同报文类型和网络层级:
认证类型 | 描述 | 安全性 | 适用场景 |
---|---|---|---|
明文认证 | 密码以明文形式传输,易被窃听 | 低 | 测试环境或低安全需求网络 |
HMAC-MD5 | 基于哈希的消息认证码(RFC 3358),密钥与报文生成校验码 | 中 | 传统网络环境 |
HMAC-SHA | 支持SHA-1、SHA-256等(RFC 5310),安全性高于MD5 | 高 | 高安全要求网络(如金融) |
Keychain认证 | 支持动态密钥轮换和多种算法组合(需设备支持) | 高 | 需要定期更换密钥的场景 |
2. 认证作用范围
IS-IS认证可应用于不同层级和报文类型:
认证层级 | 作用对象 | 配置示例(以华为设备为例) |
---|---|---|
接口认证 | 特定链路的Hello报文 | isis authentication-mode md5 cipher password |
区域认证 | 同一Level内的所有LSP和SNP报文 | area-authentication-mode md5 cipher password |
路由域认证 | 整个IS-IS进程的所有报文(Level 1/2) | domain-authentication-mode md5 cipher password |
3. 工作机制
-
认证字段位置:
IS-IS认证信息封装在PDU(协议数据单元)的认证TLV(Type-Length-Value)中,具体为TLV 10(明文)或TLV 54(密文)。 -
触发条件:
-
发送方:在配置认证的接口或区域,所有IS-IS报文携带认证TLV。
-
接收方:验证TLV中的密码或哈希值,若不一致则丢弃报文,邻居关系无法建立。
-
-
认证失败处理:
-
邻居关系停滞在
Init
状态,日志记录认证错误(如ISIS Auth Failed
)。 -
可通过
display isis error
查看详细错误信息。
-
4.安全性建议
-
避免明文认证:在生产网络中始终使用HMAC-MD5或HMAC-SHA。
-
定期轮换密钥:使用
Keychain
功能实现动态密钥更新,减少密钥泄露风险。 -
统一认证策略:同一区域或层级的所有设备需配置相同认证方式和密码,否则邻居关系无法建立。
5. 常见问题
-
邻居无法建立:
-
检查两端认证类型、密码、层级是否一致。
-
确认认证作用范围(接口/区域/域)是否匹配。
-
-
兼容性问题:
-
部分老旧设备不支持SHA-256,需降级至MD5或升级设备。
-
二、IS-IS认证
R1的配置
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 13.1.1.1 24
[R1]int LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1]isis
[R1-isis-1]network-entity 49.0123.0000.0000.0001.00 //配置NET地址
[R1-isis-1]is-level level-1 //路由器的类型为Level-1
[R1-isis-1]cost-style wide //设置宽度量值
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis enable
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]isis enable
[R1]int LoopBack 0
[R1-LoopBack0]isis enable
R2的配置
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 12.1.1.2 24
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 24.1.1.2 24
[R2]int LoopBack 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2]isis
[R2-isis-1]network-entity 49.0123.0000.0000.0002.00
[R2-isis-1]cost-style wide
[R2-isis-1]q
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]isis enable
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable
[R2]int LoopBack 0
[R2-LoopBack0]isis enable
R3的配置
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 13.1.1.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 35.1.1.3 24
[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3]isis
[R3-isis-1]network-entity 49.0123.0000.0000.0003.00
[R3-isis-1]cost-style wide
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]isis enable
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]isis enable
[R3]int LoopBack 0
[R3-LoopBack0]isis enable
R4的配置
[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 24.1.1.4 24
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 45.1.1.4 24
[R4]int LoopBack 0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4]isis
[R4-isis-1]network-entity 49.0045.0000.0000.0004.00
[R4-isis-1]is-level level-2
[R4-isis-1]cost-s
[R4-isis-1]cost-style wide
[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]isis enable
[R4-GigabitEthernet0/0/1]int g0/0/0
[R4-GigabitEthernet0/0/0]isis enable
[R4]int LoopBack 0
[R4-LoopBack0]isis enable
R5的配置
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 35.1.1.5 24
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 45.1.1.5 24
[R5]int Logic-Channel
[R5]int LoopBack 0
[R5-LoopBack0]ip add 5.5.5.5 32
[R5]isis
[R5-isis-1]network-en
[R5-isis-1]network-entity 49.0045.0000.0000.0005.00
[R5-isis-1]cost-style wide
[R5-isis-1]is-level level-2
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]isis enable
[R5-GigabitEthernet0/0/1]int g0/0/0
[R5-GigabitEthernet0/0/0]isis enable
[R5]int LoopBack 0
[R5-LoopBack0]isis enable
R1和R2之间的接口用简单的明文认证
R1的配置
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis authentication-mode simple joilabs level-1
R2的配置[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]isis authentication-mode simple joinlabs level-1
R4和R5之间的接口用MD5认证
R4的配置
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]isis authentication-mode md5 joinlabs level-2R5的配置
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]isis authentication-mode md5 joinlabs level-2
注:相互连接的路由器接口必须配置相同的口令,同时必须为Level-1和Level-2类型的邻居关系配置各自的认证,Level-1邻居认证的密码和Level-2邻居认证的密码可以相同,也可以不同。
接口认证只对Level-1和Level-2的Hello报文进行认证
49.0123配置区域认证
R1配置:
[R1]isis
[R1-isis-1]area-authentication-mode md5 joinlabsR2配置:
[R2]isis
[R2-isis-1]area-authentication-mode md5 joinlabsR3配置:
[R3]isis
[R3-isis-1]area-authentication-mode md5 joinlabs
注:区域内的每台路由器必须进行认证,并且必须使用相同的口令
区域认证只对Level-1的SNP和LSP报文进行认证
配置路由域认证
R2配置:
[R2]isis
[R2-isis-1]domain-authentication-mode md5 1234
R3配置:
[R3]isis
[R3-isis-1]domain-authentication-mode md5 1234
R4配置:
[R4]isis
[R4-isis-1]domain-authentication-mode md5 1234R5配置:
[R5]isis
[R5-isis-1]domain-authentication-mode md5 1234
注:域内的每一个Level-2和Level-1-2类型的路由器必须进行认证,并且必须使用相同的口令
路由域认证对Level-2的SNP和LSP报文进行认证
二、总结
维度 | IS-IS认证 | OSPF认证 |
---|---|---|
封装位置 | 协议TLV字段(链路层) | IP头部(OSPFv2)或IPv6扩展头(OSPFv3) |
加密灵活性 | 支持多种哈希算法(MD5、SHA系列) | OSPFv2仅MD5/HMAC-SHA,OSPFv3依赖IPsec |
配置层级 | 接口、区域、路由域三级 | 区域或接口级 |
IS-IS认证通过灵活的层级配置和多种加密算法,为网络提供了多层次安全保障。在部署时需注意算法兼容性、密钥管理及统一配置,以确保网络可靠性和安全性。对于高敏感环境,推荐结合Keychain和SHA-256实现动态密钥防护。