HCIP—BGP认证功能

        BGP是一种运行在AS之间的动态路由协议,具备强大的路径选择能力,这也使得BGP协议能够管理超大型网络。

        BGP支持简单的密码认证方式,也支持安全性更高的MD5认证方式。如果是MD5认证方式,路由器会根据BGP报文的某些字段和密钥计算出一个128比特的散列值,然后将BGP报文连同散列值发送给邻居。邻居路由器收到之后,会在本地基于接收到的BGP报文和相同的密钥再进行一次Hash运算。如果计算出的散列值与接收到的散列值相同,则认证通过,邻居关系能够正常建立;如果不同,则认证不通过,邻居关系就不会建立,且收到的BGP报文会被丢弃。

        掌握基于单一密钥的BGP认证功能的配置和基于Keychanin的认证功能的配置。

        实验拓扑本实验使用了3台路由器,R1和R2属于ISP-A的网络,AS编号为100,R3属于1SP-B的网络,AS编号为200。R1与R2建立IBGP邻居关系,R2与R3建立EBGP邻居关系。为了保证BGP邻居之间发送的BGP路由信息的完整性,决定在BGP邻居之间配置认证功能。

一:进行基础的ip接口配置,并使用命令ping测试直连网段的连通性。

二:配置BGP路由协议

R1,R2和R3之间的Router-ID分别为为1.1.1.1,2.2.2.2,3.3.3.3,R1和R2属于AS100,R3属于AS200,使用直连物理接口的IP地址来建立BGP邻居关系。 

[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 10.0.12.2 as-number 100
 

[R2]bgp 100
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.23.3 as-number 100
 

[R3]bgp 200
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 10.0.23.2 as-number 100
 

完成配置后在R2上查看BGP邻居关系

可以看到R2与R1,R3之间的邻居关系为Established,说明邻居关系已经正常建立。

三:配置基于单一密钥的BGP认证功能

BGP邻居关系已经建立,路由之间可以传递BGP信息。但是没配置BGP认证功能,在网络中传递信息存在很大的风险。所以在R1,R2,R3之间配置BGP认证功能。
[R1]bgp 100   
[R1-bgp]peer 10.0.12.2 password  simple huawei

[R2]bgp 100
[R2-bgp]peer 10.0.12.1 password simple huawei123  
[R2-bgp]peer 10.0.23.3 password simple huawei

[R3]bgp 200       
[R3-bgp]peer 10.0.23.2 password cipher huawei

R1使用命令查看BGP邻居关系 

可以看邻居关系为Connect,说明R1和R2之间没有正常建立。

R2使用命令查看BGP邻居关系 

R1和R2邻居关系为Connect,说明R1和R2之间没有正常建立邻居关系。R2和R3之间的邻居关系Estabished,说明R2和R3之间正常建立邻居关系。

R2和R1之间,R2使用密钥为huawei123,R1使用密钥为huawei。两着密钥不一致,无法建立邻居关系。

R2和R3之间,R2使用simple方式,R3使用cipher方式,但是两者间的邻居关系为Estabished,说明不影响R2和R3的邻居关系的建立。在设备储存密钥时,simple方式是使用明文显示,cipher方式后密钥将会被加密。

R1,R2,R3分别使用命令查看BGP认证信息

可以看出来R2上的认证信息以明文形式显示出来,R3上配置的认证密钥是以密文显示的,并且R2上的密钥和R1上的密钥不同

R2将错误密钥进行更改peer 10.0.12.1 password simple huawei

R2再次使用命令查看

R1和R之间的邻居状态为Estabished,说明邻居关系建立成功。

四:配置Keychain的BGP认证

        上面使实验BGP进行验证使用的密钥是一个固定的密钥,当使用密钥来增强安全性时,操作十分繁琐,容易造成BGP连接中断。因此我们可以使用Keychain认证方式来实现BGP认证方式来实现密钥的周期性更换。Keychain的方式还可以定义密钥的存活期。

        在Keychain方式下定义密钥的存活期分为Absolute与Periodic两种模式。Absolute模式下,密钥Key的有效时间为一个绝对时间段;Periodic模式下,一个Key的有效时间为周期性的一段时间,分为Daily、Monthly、Weekly和Yearly等。以Daily为例,一个Key的有效时间为每一天的某一特定时间段。一个Keychain中可以有多个Key,最多可支持64个Key-D。

R1和R2上配置基于Keychain的BGP认证,Key-D为1,Key-String为huawei,选用Periodic Daily模式,每天08:00到18:00使用Key-D1对发送的BGP报文做Hash运算,每天08:00到18:00使用Key-D1对接收到的BGP报文进行认证

[R1]keychain key mode periodic daily 
[R1-keychain]key-id 1    
[R1-keychain-keyid-1]algorithm md5 
[R1-keychain-keyid-1]key-string huawei
[R1-keychain-keyid-1]send-time daily 08:00 to 18:00
[R1-keychain-keyid-1]receive-time daily  08:00 to 18:00
[R1-keychain-keyid-1]bgp 100  
[R1-bgp]undo peer 10.0.12.2 password
[R1-bgp]peer 10.0.12.2 keychain key
 

[R2]keychain key mode periodic daily 
[R2-keychain]key-id 1
[R2-keychain-keyid-1]algorithm m5
[R2-keychain-keyid-1]algorithm md5 
[R2-keychain-keyid-1]key-string huawei
[R2-keychain-keyid-1]send-time daily 08:00 to 18:00
[R2-keychain-keyid-1]receive-time daily 08:00 to 18:00
[R2-keychain-keyid-1]bgp 100  
[R2-bgp]undo peer 10.0.12.1 password
[R2-bgp]peer 10.0.12.1 keychain key

配置完成后R1使用命令查看BGP邻居关系

R1和R2的状态为Established,则邻居关系建立成功

在进行Keychain的BGP认证配置时,应保证Keychain f的名称、Key-D、Algorithm和Key-String保持一致,任意一个参数不匹配都会导致认证失败。当一个Key的某个属性不完整或系统时间不在定义的时间段内,Key会处于Inactive状态,不会被用来进行认证。

R1使用命令查看Keychain信息

从中可以看出Keychain的名称为Key,密钥的数量为1。为了保证时间的一致性,使用命令来配置接受容忍时间,避免时间不同布或者Key-ID的变更过程中存在的时间延迟而导致BGP报文认证失败的情况。

[R1]keychain key mode periodic daily  
[R1-keychain]receive-tolerance infinite 

infinite表示容忍所有时间延迟,单位是min,最大值为14400min。为了避免在某一时刻没有活跃的Key-ID而导致BGP没有认证交换的情况,可以使用命令default send-key-id指定一个缺省的发送Key-ID。一个Keychain中最多只能有一个Key-ID配置为缺省的发送Key-ID。

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值