最新开班
RS CCNA暑期 7月9日 在线报名在线报名
RS CCNP 6月1日 在线报名在线报名
RS CCNP暑期 7月19日 在线报名在线报名
RS CCIE 5月19日 在线报名在线报名
SEC CCNP-CCIE 7月2日 在线报名在线报名
DC CCNP-CCIE 6月2日 在线报名在线报名
无线 CCNP-CCIE 5月20日 在线报名在线报名
RS HCNA暑期 7月9日 在线报名在线报名
思科CCIE认证考试技术文档-DMVPN第一阶段BGP路由
发布时间:2019-08-12  关键词:思科CCIE认证考试  来源:乾颐堂  
  

思科CCIE认证考试技术文档-DMVPN第一阶段BGP路由

乾颐堂网络实验室定期为大家更新思科CCIE认证考试技术文档

这次,我们来看看BGP。这是我们将使用的拓扑:

blob.png

组态

隧道接口

这是一个基本的DMVPN第1阶段配置:

Hub(config)#interface Tunnel0
Hub(config-if)#ip address 172.16.123.1 255.255.255.0
Hub(config-if)#ip nhrp authentication DMVPN
Hub(config-if)#ip nhrp map multicast dynamic
Hub(config-if)#ip nhrp network-id 1
Hub(config-if)#tunnel source GigabitEthernet0/1
Hub(config-if)#tunnel mode gre multipoint

Spoke1(config)#interface Tunnel0
Spoke1(config-if)#ip address 172.16.123.2 255.255.255.0
Spoke1(config-if)#ip nhrp authentication DMVPN
Spoke1(config-if)#ip nhrp map 172.16.123.1 192.168.123.1
Spoke1(config-if)#ip nhrp map multicast 192.168.123.1
Spoke1(config-if)#ip nhrp network-id 1
Spoke1(config-if)#ip nhrp nhs 172.16.123.1
Spoke1(config-if)#tunnel source GigabitEthernet0/1
Spoke1(config-if)#tunnel destination 192.168.123.1

Spoke2(config)#interface Tunnel0
Spoke2(config-if)#ip address 172.16.123.3 255.255.255.0
Spoke2(config-if)#ip nhrp authentication DMVPN
Spoke2(config-if)#ip nhrp map 172.16.123.1 192.168.123.1
Spoke2(config-if)#ip nhrp map multicast 192.168.123.1
Spoke2(config-if)#ip nhrp network-id 1
Spoke2(config-if)#ip nhrp nhs 172.16.123.1
Spoke2(config-if)#tunnel source GigabitEthernet0/1
Spoke2(config-if)#tunnel destination 192.168.123.1

让我们验证隧道是否正常工作:

Hub#show dmvpn | begin 192.168.123.
     1 192.168.123.2      172.16.123.2    UP 00:22:37     D
     1 192.168.123.3      172.16.123.3    UP 00:00:32     D

并做一个快速ping:

Hub#ping 172.16.123.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.123.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 6/6/8 ms

Hub#ping 172.16.123.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.123.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/6/9 ms

一切似乎都在工作,是时候配置BGP了。

辐条上有不同AS的eBGP

我们可以选择多种变体:

·         每个辐条上具有不同AS编号的eBGP。

·         每个辐条上具有相同AS编号的eBGP。

·         IBGP对

我们将看看所有不同的选项,我们将从eBGP开始,在所有辐条上使用不同的AS编号:

Hub(config)#router bgp 65001
Hub(config-router)#neighbor 172.16.123.2 remote-as 65002
Hub(config-router)#neighbor 172.16.123.3 remote-as 65003
Hub(config-router)#network 1.1.1.1 mask 255.255.255.255

Spoke1(config)#router bgp 65002
Spoke1(config-router)#neighbor 172.16.123.1 remote-as 65001
Spoke1(config-router)#network 2.2.2.2 mask 255.255.255.255

Spoke2(config)#router bgp 65003
Spoke2(config-router)#neighbor 172.16.123.1 remote-as 65001
Spoke2(config-router)#network 3.3.3.3 mask 255.255.255.255

上面我们为每个路由器提供了不同的AS号,我们也在BGP中公布了Loopback接口。让我们看看我们的中心路由器是否有两个邻居:

Hub#show ip bgp summary | begin Neighbor
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.123.2    4        65002      47      48        4    0    0 00:38:49        1
172.16.123.3    4        65003      46      47        4    0    0 00:38:05        1

这看起来不错,我们有两个邻居。我们来看看路由表:

Hub#show ip route bgp

2.0.0.0/32 is subnetted, 1 subnets
B        2.2.2.2 [20/0] via 172.16.123.2, 00:37:59
      3.0.0.0/32 is subnetted, 1 subnets
B        3.3.3.3 [20/0] via 172.16.123.3, 00:37:59

Spoke1#show ip route bgp

1.0.0.0/32 is subnetted, 1 subnets
B        1.1.1.1 [20/0] via 172.16.123.1, 00:38:16
      3.0.0.0/32 is subnetted, 1 subnets
B        3.3.3.3 [20/0] via 172.16.123.3, 00:37:46

Spoke2#show ip route bgp

1.0.0.0/32 is subnetted, 1 subnets
B        1.1.1.1 [20/0] via 172.16.123.1, 00:38:34
      2.0.0.0/32 is subnetted, 1 subnets
B        2.2.2.2 [20/0] via 172.16.123.2, 00:38:34

所有路由器都学会了不同的网络。让我们看看spoke1是否可以达到spoke2:

Spoke1#ping 3.3.3.3 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/8/10 ms

太好了,那里没有问题。所有流量都通过集线器,因此我们的分支路由器无需查看特定网络。

让我们配置集线器,以便它只向我们的辐条通告默认路由。我会为此使用路线图:

Hub(config)#ip route 0.0.0.0 0.0.0.0 null0

Hub(config)#ip prefix-list DEFAULT_ROUTE permit 0.0.0.0/0

Hub(config)#route-map SPOKE_ROUTERS permit 10
Hub(config-route-map)#match ip address prefix-list DEFAULT_ROUTE

Hub(config)#router bgp 65001
Hub(config-router)#network 0.0.0.0 mask 0.0.0.0
Hub(config-router)#neighbor 172.16.123.2 route-map SPOKE_ROUTERS out
Hub(config-router)#neighbor 172.16.123.3 route-map SPOKE_ROUTERS out

Hub#clear ip bgp *

我们的中心路由器应该仍然拥有所有网络,分支路由器应该只有一个默认路由。让我们来看看:

Hub#show ip route bgp

2.0.0.0/32 is subnetted, 1 subnets
B        2.2.2.2 [20/0] via 172.16.123.2, 00:00:52
      3.0.0.0/32 is subnetted, 1 subnets
B        3.3.3.3 [20/0] via 172.16.123.3, 00:00:52

Spoke1#show ip route bgp

B*    0.0.0.0/0 [20/0] via 172.16.123.1, 00:00:44

Spoke2#show ip route bgp

B*    0.0.0.0/0 [20/0] via 172.16.123.1, 00:00:48

那看起来不错。让我们验证连接:

Spoke1#ping 3.3.3.3 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/9 ms

它还在工作,非常好!

辐条上具有相同AS的eBGP

我们可以尝试使用eBGP的另一件事是在所有分支路由器上使用相同的AS号。此解决方案的优点是我们不必过滤任何网络,分支路由器将不接受任何在AS路径中看到自己的AS号的网络。我们先清理一下:

Hub(config)#router bgp 65001
Hub(config-router)#no neighbor 172.16.123.2
Hub(config-router)#no neighbor 172.16.123.3

Spoke1(config)#no router bgp 65002

Spoke2(config)#no router bgp 65003

现在我们将配置分支路由器以使用AS 65023:

Hub(config)#router bgp 65001
Hub(config-router)#neighbor 172.16.123.2 remote-as 65023
Hub(config-router)#neighbor 172.16.123.3 remote-as 65023

Spoke1(config)#router bgp 65023
Spoke1(config-router)#neighbor 172.16.123.1 remote-as 65001
Spoke1(config-router)#network 2.2.2.2 mask 255.255.255.255

Spoke2(config)#router bgp 65023
Spoke2(config-router)#neighbor 172.16.123.1 remote-as 65001
Spoke2(config-router)#network 3.3.3.3 mask 255.255.255.255

我们的中心路由器仍在宣传默认路由,但我们不再需要路由映射。让我们仔细看看:

Hub#show ip route bgp

2.0.0.0/32 is subnetted, 1 subnets
B        2.2.2.2 [20/0] via 172.16.123.2, 00:00:56
      3.0.0.0/32 is subnetted, 1 subnets
B        3.3.3.3 [20/0] via 172.16.123.3, 00:00:20

集线器仍然在其路由表中具有来自分支路由器的网络。让我们看看它对分支路由器的广告:

Hub#show ip bgp neighbors 172.16.123.2 advertised-routes
BGP table version is 9, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path
 *>  0.0.0.0          0.0.0.0                  0         32768 i
 *>  1.1.1.1/32       0.0.0.0                  0         32768 i
 *>  2.2.2.2/32       172.16.123.2             0             0 65023 i
 *>  3.3.3.3/32       172.16.123.3             0             0 65023 i

Hub#show ip bgp neighbors 172.16.123.3 advertised-routes
BGP table version is 9, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path
 *>  0.0.0.0          0.0.0.0                  0         32768 i
 *>  1.1.1.1/32       0.0.0.0                  0         32768 i
 *>  2.2.2.2/32       172.16.123.2             0             0 65023 i
 *>  3.3.3.3/32       172.16.123.3             0             0 65023 i

上面你可以看到集线器将3.3.3.3/32通告给spoke1,将2.2.2.2/32通告给spoke2。他们安装了什么?

Spoke1#show ip route bgp

B*    0.0.0.0/0 [20/0] via 172.16.123.1, 00:04:05
      1.0.0.0/32 is subnetted, 1 subnets
B        1.1.1.1 [20/0] via 172.16.123.1, 00:04:05

Spoke2#show ip route bgp

B*    0.0.0.0/0 [20/0] via 172.16.123.1, 00:02:19
      1.0.0.0/32 is subnetted, 1 subnets
B        1.1.1.1 [20/0] via 172.16.123.1, 00:02:19

Spoke1不接受3.3.3.3/32,因为它在AS路径中有AS 65023。同样的事情适用于spoke2,它不喜欢2.2.2.2/32,因为AS 65023在AS路径中。安装了默认路由,我们可以看到1.1.1.1/32。最好摆脱  network 1.1.1.1 mask 255.255.255.255集线器上的命令,我们不需要这个条目。

让我们看看辐条是否仍能相互接触:

Spoke1#ping 3.3.3.3 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/8/9 ms

Spoke1仍然可以到达spoke2。这里没问题!

iBGP与动态对等体

前面两个使用eBGP的例子非常有效。这两个例子都有一个“问题”,我们  手动配置了我们的邻居。它可以工作,但它失败了拥有动态DMVPN分支路由器的目的。

BGP支持称为“动态对等体”的东西,这意味着我们将接受来自给定范围内的任何路由器的BGP邻居邻接。你可以将它用于eBGP和iBGP,但有一个问题......远程路由器必须在同一个AS中。

我将告诉你如何用iBGP做到这一点:

Hub(config)#router bgp 65001
Hub(config-router)#bgp listen range 172.16.123.0/24 peer-group DMVPN_SPOKES
Hub(config-router)#neighbor DMVPN_SPOKES peer-group
Hub(config-router)#neighbor DMVPN_SPOKES remote-as 65001
Hub(config-router)#network 0.0.0.0 mask 0.0.0.0

上面我们使用listen range命令接受来自172.16.123.0/24范围内任何设备的BGP邻居邻接。我们还使用指定AS 65001中的iBGP邻居的对等组,并通告默认路由。让我们配置分支路由器:

Spoke1(config)#router bgp 65001
Spoke1(config-router)#neighbor 172.16.123.1 remote-as 65001
Spoke1(config-router)#network 2.2.2.2 mask 255.255.255.255

Spoke2(config)#router bgp 65001
Spoke2(config-router)#neighbor 172.16.123.1 remote-as 65001
Spoke2(config-router)#network 3.3.3.3 mask 255.255.255.255

我们来检查路由表:

Hub#show ip route bgp

2.0.0.0/32 is subnetted, 1 subnets
B        2.2.2.2 [200/0] via 172.16.123.2, 00:02:23
      3.0.0.0/32 is subnetted, 1 subnets
B        3.3.3.3 [200/0] via 172.16.123.3, 00:02:23

Spoke1#show ip route bgp

B*    0.0.0.0/0 [200/0] via 172.16.123.1, 00:01:26

Spoke2#show ip route bgp

B*    0.0.0.0/0 [200/0] via 172.16.123.1, 00:01:08

中心路由器看到两个网络,每个辐条只能看到默认路由。

iBGP与DMVPN第1阶段相结合的优势在于您无需在集线器路由器上过滤任何内容。由于iBGP水平分割,集线器不会将任何网络从spoke1通告到spoke2(反之亦然)。

结论

您现在已经了解了如何为DMVPN阶段1配置eBGP和iBGP。对于DMVPN,BGP是一个不错的选择,这个示例非常简单,因为分支路由器只需要一个默认路由。在大型DMVPN设置中,使用BGP非常有用,因为它易于广告,汇总和过滤网络。


思科CCIE认证考试培训咨询可联系乾颐堂官网客服.  点击咨询

咨询QQ及电话:4006188070

乾颐堂官网:www.qytang.com

乾颐堂网络实验室 我们为您想的更多

姓名:
Q Q:
电话:
全国统一客服电话:
400-618-8070
扫一扫立即关注
乾颐堂微信公众号
© 2013-2021 上海乾颐堂网络实验室 版权所有:上海乾韵信息科技有限公司 沪ICP备2024104299号 备案查询地址:http://www.beian.miit.gov.cn/