BGP边界网关路由协议

 实验要求如图所示

拓扑设计如上 

首先配置ip


[R1]int  l0
[R1-LoopBack0]ip add 1.1.1.1 24
[R1-LoopBack0]q
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
 【R2】
Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              23.0.0.1/24          up         up        
GigabitEthernet0/0/1              12.0.0.2/24          up         up        
GigabitEthernet0/0/2              unassigned           down       down      
LoopBack0                         2.2.2.2/24           up         up(s)     
NULL0                             unassigned           up         up(s)     
【R3】
Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              34.0.0.1/24          up         up        
GigabitEthernet0/0/1              23.0.0.2/24          up         up        
GigabitEthernet0/0/2              unassigned           down       down      
LoopBack0                         3.3.3.3/24           up         up(s)     
NULL0                             unassigned           up         up(s)     
【R4】
Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              45.0.0.1/24          up         up        
GigabitEthernet0/0/1              34.0.0.2/24          up         up        
GigabitEthernet0/0/2              54.0.0.1/24          up         up        
LoopBack0                         4.4.4.4/24           up         up(s)     
NULL0                             unassigned           up         up(s)     
【R5】
Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              unassigned           down       down      
GigabitEthernet0/0/1              45.0.0.2/24          up         up        
GigabitEthernet0/0/2              54.0.0.2/24          up         up        
LoopBack0                         5.5.5.5/24           up         up(s)     
LoopBack1                         99.9.9.9/24          up         up(s)     
NULL0                             unassigned           up         up(s)     

然后配置igp 内部路由 我们的as2采用ospf协议

[R2-GigabitEthernet0/0/1]ospf
[R2-ospf-1]area 0	
[R2-ospf-1-area-0.0.0.0]network	
[R2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255

[R3-ospf-1-area-0.0.0.0]network 3.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 34.0.0.0 0.0.0.255

[R4-ospf-1-area-0.0.0.0]network 4.4.4.0 0.0.0.255 
[R4-ospf-1-area-0.0.0.0]network 34.0.0.0 0.0.0.255

as2内部成功互通

开始配置bgp

R1与R2之间建邻

[R1]bgp 1
[R1]bgp 2
Error: BGP is already running. The AS is 1.
#注:bgp后跟的是as号不光具有本地意义
[R1-bgp]router-id 1.1.1.1
建立邻居
as1与as2之间是一条链路 使用接口ip建立邻居即可
[R1-bgp]peer 12.0.0.2 as-number 2
[R1-bgp]dis bgp peer 

 BGP local router ID : 1.1.1.1
 Local AS number : 1
 Total number of peers : 1		  Peers in established state : 0

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

  12.0.0.2        4           2        0        0     0 00:00:26        Idle       0


[R2-ospf-1]bgp 2
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 12.0.0.1 as-number 1
 BGP local router ID : 2.2.2.2
 Local AS number : 2
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

  12.0.0.1        4           1        2        2     0 00:00:32 Established       0
可以看到在两边都宣告后 邻居关系成功建立

R2与R3

R2与R3之间建议采用环回地址进行建邻 理由是 在ibgp内部一个路由器到另一个路由器往往有多条路径 为了不浪费 采用环回地址建邻
但由于报文从路由器哪个口发出 ip地址就是哪个地址 我们需要让源地址变成环回地址
[R2-bgp]peer 3.3.3.3 as-number 2	
[R2-bgp]peer 3.3.3.3 connect-interface LoopBack 0

[R3-ospf-1]bgp 2
[R3-bgp]peer 2.2.2.2 as-number 2
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0

[R3-bgp]dis bgp peer

 BGP local router ID : 3.3.3.3
 Local AS number : 2
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

  2.2.2.2         4           2        2        2     0 00:00:01 Established       0
建邻成功 

R3与R4

[R3-bgp]peer 4.4.4.4 as-number 2
[R3-bgp]peer 4.4.4.4 connect-interface LoopBack 0

[R4-ospf-1-area-0.0.0.0]bgp 2

[R4-bgp]peer 3.3.3.3 as-number 2
[R4-bgp]peer 3.3.3.3 connect-interface LoopBack 0

R4-bgp]dis bgp peer

 BGP local router ID : 4.4.4.4
 Local AS number : 2
 Total number of peers : 1		  Peers in established state : 1

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

  3.3.3.3         4           2        2        2     0 00:00:01 Established       0
建邻成功

R4与R5

四与五之间存在多条路径 采用环回地址建邻 但是由于 4环回没有到5环回的路由 我们需要手写静态路由
[R5]ip route-static 4.4.4.0 24 54.0.0.1
[R5]ip route-static 4.4.4.0 24 45.0.0.1

[R4]ip route-static 5.5.5.0 24 45.0.0.2
[R4]ip route-static 5.5.5.0 24 54.0.0.2

现在可以开始建邻了
[R4-bgp]peer 5.5.5.5 as-number 3
[R4-bgp]peer 5.5.5.5 connect-interface LoopBack 0

[R5-bgp]peer 4.4.4.4 as-number 2
[R5-bgp]peer 4.4.4.4 connect-interface LoopBack 0
 并且由于ebgp之间的ttl被设为1 导致报文无法到达目的地 需要手动修改
[R4-bgp]peer 5.5.5.5 ebgp-max-hop 2 
[R5-bgp]peer 4.4.4.4 ebgp-max-hop 2
[R4-bgp]dis bgp peer

 BGP local router ID : 4.4.4.4
 Local AS number : 2
 Total number of peers : 2		  Peers in established state : 2

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

  3.3.3.3         4           2       19       19     0 00:17:52 Established       0
  5.5.5.5         4           3        2        3     0 00:00:17 Established       0
建邻成功

最后我们开始宣告 只需要宣告 用户网段即可 

由于5.5.5.5网段用于建邻 且有静态路由指向5.5.5.5 去5.5.5.5是为了建立bgp 如果需要用bgp传递5.5.5.5 这样会出现悖论 导致5.5.5.5 24这一网段无法传输

在一上查看 发现路由器的路径都为优选但是没有到4.4.4.4的路由 这是由于2号路由器上没有R4的路由 原因是由于在ibgp内部 存在水平分割机制 导致

一个ibgp内部学到的路由不能传给本地其他ibgp

Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   1.1.1.0/24         0.0.0.0         0                     0      i
 *>   2.2.2.0/24         12.0.0.2        0                     0      2i
 *>   3.3.3.0/24         12.0.0.2                              0      2i
为了解决这一问题 我们需要让2和4建立邻居关系

[R4-bgp]peer 2.2.2.2 as-number 2
[R4-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[R2-bgp]peer 4.4.4.4 as-number 2
[R2-bgp]peer 4.4.4.4 connect-interface LoopBack 0

ibgp间ttl为255 不需要修改最大跳数

[R2-bgp]dis bgp peer                             

 BGP local router ID : 2.2.2.2
 Local AS number : 2
 Total number of peers : 3          Peers in established state : 3

  Peer            V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State PrefRcv

 

  3.3.3.3         4           2       35       39     0 00:32:39 Established       1
  4.4.4.4         4           2        4        4     0 00:00:20 Established       2
  12.0.0.1        4           1       45       47     0 00:42:32 Established       1
建立邻居成功 再次查看一的路由表

发现99.9.9.9的路由并没有传进来 这是由于 3将该路由学到后 其属性不发生变化

下一跳地址是5.5.5.5 需要让4把这一条传给3的时候 把下一跳改成自己 同理 R2也是

[R4-bgp]peer 3.3.3.3 next-hop-local
[R4-bgp]peer 2.2.2.2 next-hop-local

 

 

可以看到顺利解决 同理 R5上没有1.1.1.1的路由也是因为 R4认为1.1.1.1的路由不佳

理由是当2号路由或者三号路由把这一路由传递过来的时候没有把下一跳改成自己所导致的

[R2-bgp]peer 4.4.4.4 next-hop-local
这样之后 R4上的路由将会变成最优 可以进行传递

 [R2-bgp]peer 3.3.3.3 next-hop-local

三同理

至此 已经配置完成 测试是否主机路由可以互通:

 

满足题目要求 

posted @ 2023-08-10 20:33  f0r9  阅读(13)  评论(0编辑  收藏  举报  来源