华为 BGP认证功能

华为 BGP认证功能

BGP是一种运行在AS之间的动态路由协议,具备强大的路径限制能力,这也是使得BGP协议能够管理超大大型网络。
simple与cipher可一起使用,但是显示的类型不一样。
Cipher 密钥加密;simple明文。加密需要密钥一致。

一、拓扑
在这里插入图片描述
基础配置:

1、按照图配置IP地址

<Huawei>system-view 
[Huawei]sysname AR-1
[AR-1]int g0/0/0
[AR-1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[AR-1-GigabitEthernet0/0/0]int l0
[AR-1-LoopBack0]ip address 1.1.1.1 32
[AR-1-LoopBack0]quit

AR2、3同上;

2、配置BGP路由协议

[AR-1]bgp 100 //本设备创建BGP AS,所属AS 100
[AR-1-bgp]router-id 1.1.1.1 //设置本设备的BGP的R-ID为1.1.1.1
[AR-1-bgp]peer 12.1.1.2 as-number 100
//手动指定与对等体的接口地址12.1.1.2建立IBGP邻居

[AR-2]bgp 100
[AR-2-bgp]router-id 2.2.2.2
[AR-2-bgp]peer 12.1.1.1 as-number 100
[AR-2-bgp]peer 23.1.1.3 as-number 200
//手动指定与对等体的接口地址23.1.1.3建立EBGP邻居

[AR-3]bgp 200
[AR-3-bgp]router-id 3.3.3.3
[AR-3-bgp]peer 23.1.1.2 as-number 100

在AR-2上查看BGP邻居关系
在这里插入图片描述
可以看到,AR2与AR1和AR3之间的邻居状态均为Established,说明邻居关系已正常建立。

3、配置基于单一密钥的BGP认证功能

[AR-1]bgp 100
[AR-1-bgp]peer 12.1.1.2 password simple Huawei

[AR-2]bgp 100
[AR-2-bgp]peer 12.1.1.1 password simple Huawei123
[AR-2-bgp]peer 23.1.1.3 password simple Huawei

[AR-3]bgp 200
[AR-3-bgp]peer 23.1.1.2 password cipher Huawei

在AR-1上查看BGP邻居关系
在这里插入图片描述
AR1与AR2的邻居状态变成了Connect,说明AR1与AR2的邻居状态关系未能正常建立。

在AR-2上查看BGP邻居关系
在这里插入图片描述
AR2和AR3之间的邻居状态为Established,与AR1的邻居状态为Connect;说明AR2和AR3邻居状态关系正常建立,AR2和AR1邻居状态关系未能正常建立。

查看当前的BGP认证配置信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在AR2上配置的认证密钥是明文显示的,在AR3上配置的认证密钥是密文显示的,并且AR2上配置的密钥和AR1上的不一致。

在AR2上将错误的密钥进行更正,然后再次查看AR2的BGP邻居关系

[AR-2-bgp]peer 12.1.1.1 password simple Huawei

在这里插入图片描述
修改密钥后,AR2和AR1邻居状态关系正常建立。

4、配置基于keychain的BGP认证

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

AR2设备配置同上;

查看BGP邻居关系
在这里插入图片描述
在AR1上使用dis keychain key命令查看keychain的信息。
在这里插入图片描述
接收容忍时间只对接受端的key有效,其原理就是延长了receive-time时间
在这里插入图片描述
Infinite表示容忍所有的时间延长。

在keychain方式下定义密钥的存活期分为Absolute与periodic两种模式。
periodic模式,一个key的有效时间为周期性的一段时间,分为daily,monthly,weekly,yearly等。
Key 具有多个属性,包括key-ID,认证算法,key-string以及send-time和receive-time。

二、BGP的数据包

1、Open报文(类型1)
作用:
TCP 会话建立起来自以后,两个邻居都要发送一个 Open 报文,每个邻居都使用该报文标识自己,并且规定自己的 BGP 运行参数。如果 open 消息被接受,则回送一条 keepalive 消息进行确认,确认后就能发送 update

2、Update报文(类型2)
作用:
当BGP对等体之间成功建立会话后利用Update报文进行路由信息的交换;Update报文既用来通告可用路由信息,也可以通告不可达需要撤销的路由信息。每条update 消息只描述一类具有相同路径属性的可达路由;可达路由信息放在NLRI字段中;同时Update报文可以携带多条不可达路由信息;不可达路由信息放在Withdrawn Router字段中。

3、Notification 报文(类型3)
作用:
当BGP检测到错误状态时,就会向对等体发出Notification通知报文,之后BGP连接会立即中断。例如对等体之间的AS号非法,认证失败,邻居地址不可达等

4、Keepalive 消息(类型4)
作用:
如果路由器接受了邻居在 OPEN 消息中的参数,就会应答一个 keeplive 消息,并且在此后 1/3 的 holdtime(但不小于 1S)为周期发送该消息,华为设备默认 60S一发,保持时间默认180S。如果协商后保持时间为 0,标识此邻居永远UP,则不发送 keepalive 保活消息。

5、Route-refresh报文(类型5)
作用:
路由刷新报文用来要求对等体重新发送指定地址族的路由信息。

三、BGP的邻居状态机
1、Idle状态:
(1)BGP空闲状态,在Idle状态下BGP拒绝邻居发送的连接请求,此时等待由BGP系统发出的Start事件
(2)Start(管理员配置邻居)事件发生后,BGP会对自己的资源进行初始化,重置连接计时器(Connect Retry 默认32S)发起TCP连接请求,并开始侦听远端对等体发起的连接端口,并转至Connect状态
1.1、停留在此状态的原因:
(1)本BGP设备没有去往对等体的路由
(2)收到来自邻居的Notification报文触发Notification报文条件(再一个重置计时器后重新建立BGP的TCP连接,即重新发送用于BGP的TCP连接报文)
① AS号错误;
② R-ID重复
③ 认证失败
④ Hold time 连接超时(中间设备或者目标设备策略限制)
⑤ 其他错误原因
2、Connect状态
在Connect状态下,BGP启动连接重传定时器,等待TCP完成连接。
(1)如果TCP连接成功,那么BGP会向对等体发送Open报文,并转至OpenSent状态
(2)如果TCP连接失败,那么BGP转至Active状态
(3)如果连接重传定时器超时,BGP任没有收到BGP对等体的响应,那么BGP继续尝试TCP连接,停留在Connect状态。
2.1、停留在Connect状态的原因:
(1)与BGP对等体TCP连接超时
① 中间设备没有本设备去往对等体的路由,
② 中间设备拒绝了本BGP设备发出的BGP相关数据(过滤了本设备IP流量或者TCP流量或者TCP-179端口数据)
③ 对等体设备未开启BGP(TCP-179端口处于关闭状态)
3、Active
在Active状态下,BGP总是试图建立TCP连接
(1)如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent
(2)如果TCP连接失败,停留在Active状态
(3)如果连接重传定时器超时,任没有收到BGP对等体的响应,那么BGP转至Connect状态
3.1、停留在Active状态的原因:
(1)与BGP对等体TCP失败
(2)–本BGP设备配置错误的对等体地址

4、OpenSent
在OpenSent状态,BGP等对等体的Open报文,并对收到的Open报文中的AS号,版本号,认证信息等进行检查
(1)如果收到的Open报文正确,那么BGP发送Keepalive报文,且重置Keepalive定时器,并转至OpenConfirm状态。
(2)如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体。并转至Idle状态。
4.1、停留在OpenSent状态的原因:
(1)对等体发送的Open报文中的AS号与本BGP设备配置不一致。(本端BGP配置时邻居的AS号配置错误)

5、OpenConfirm
在OpenConfirm状态下,BGP等待Keepalive或Notification报文。
(1)如果收到Keepalive报文,则转至Established状态(BGP邻居的最终状态)
(2)如果收到Notification报文,则转至Idle状态
5.1、停留在OpenConfirm状态的原因:
(1)BGP的TCP建立成功,对等体未发送Keepalive报文(邻居设备BGP配置对本BGP的AS号错误配置)
6、Established状态
在Established状态下,BGP对等体之间交互Update,Keepalive,Route-refresh报文和Notification报文。
(1)如果收到正确的Update或Keepalive报文,那么BGP就人为对端处于正常运行状态,保持BGP连接;
(2)如果收到错误的就发送Notification报文告知对端,并转至Idle状态
(3)Route-reFresh报文不会改变BGP状态
(4)如果收到Notification报文,那么BGP转至Idle状态。
(5)如果收到TCP拆除链接通知,那么BGP将断开连接,转至Idle状态

发布了26 篇原创文章 · 获赞 61 · 访问量 9235

猜你喜欢

转载自blog.csdn.net/HYD696/article/details/105007120