MPLS VPN环境下BGP导入默认路由问题

本次模拟实验的初衷是验证同一个VPN环境下,多个ISP互联时导入默认路由的可行性问题,在模拟实验中触发另外一个问题---关于BGP导入默认路由的方式讨论。(不同的ISP之间跨域互联使用Option A的方式进行互联,实际上相当于一台CE作用,为了方便模拟实际情况,采用AS 50和AS 60来模拟不同的ISP,接入到AS 34中)

实验需求:

(1)  同一个VRF之间可以实现互通性;

(2)  往不同的VRF导入默认路由时,路由选路的方式

(3)  BGP导入默认的方式总结

拓扑环境描述:

1、所有的互联IP如图所示

2、所有设备的Loopback0口地址为X.X.X.X/32,X为设备编号

3、AS34中的IBGP采用OSPF进行互联

实验需求实现:

1、    BGP通告默认路由的三种实现形式

(1)  写默认路由并通告

可以看到其在本地R5上也生成了一条默认路由,在邻居R4的VRF绑定的物理接口上成功生成了一条默认路由。

(2)  neighborX.X.X.X default-originate

可以看到与第一种方式不同是在本地R5上不会生成一条默认路由,给邻居通告默认路由,在指定邻居路由器会收到一条默认路由,没有指定的,不会收到默认路由,即在邻居R4的VRF绑定的物理接口上成功生成了一条默认路由

(3)  default-informationoriginate

采用这种方式对所有邻居通告默认路由时,当仅仅只是输入这条命令,而在全局下不存在默认路由时,本地和邻居是不会接收到默认路由的。

当采用手动输入默认静态默认路由时,发现本地已经学习到静态默认路由时,但发现bgp依旧没有收到默认路由。

在以上基础上,通过导入静态默认时,发现本地和邻居上都学习到默认路由,由此可得知,在BGP中配置default-information originate时,必须先创建一条静态的默认路由,并且重分布静态至BGP中,才会产生默认路由,并通告给其它的BGP邻居

另外我在网上查到的关于这个问题有另外一种解法,可以不需要创建静态默认路由并且重分布静态至BGP中,可以在default-information originate后添加always即可,但是在我实验的这个版本目前无法直接输入。【PS:实验中用路由模拟器类型版本为:3600 Software (C3660-A3JK9S-M), Version 12.4(25d)】

2、    往不同的VRF导入默认路由时,路由选路的方式

基本配置背景如下:

即R2与R3、R4与R5、R4与R6都采用EBGP的形式进行互联,各个VPNA与VPNB的接口绑定如图所示,R5以及R6采用两个不同的方式进行默认的路由的导入导出

发现在同一台CE上(R2)使用EBGP建立邻居的方式,以不同的VPNA和VPNB绑定不同接口方式接收来自两个不同的ISP(R5和R6)导入的默认路由,BGP路由表中依据采用最优路径进行来进行选路,导致在R2上无法实现对R6的正常访问。

接下来静态的方式(R1)与R3建立邻居关系,发现也是同样的问题。

接下来更改为R5采用导入直连路由的形式,R6保持不变,依据采用BGP导入默认路由的形式

测试结果发现正常。实验模拟到这里本来应该结束了,我突然想到另外一个问题,即最右边与AS 34域互联的ISP不止两个,而是有更多呢?要在最左边实验对最右边ISP域有可能同时实现对2个域甚至更多域的访问的时候,这种排列组合结果有很多种,单独依靠一个IRF绑定物理接口的方式来实现,对不通的排列组合结果采用不通的VRF之间互导的方式来实现,有一定的局限性,想到另外一种解决方法,即采用最左端的CE(R2)与最右边的ISP之间采用不同的VRF方式进行互联,后续ISP增加扩展,最左端的CE(R2)上只需要将相应的RT进行导入即可,关键配置如下图

采用上面的方式即可实现同一个VRF绑定一个物理接口下实现对不同ISP的访问,后续的更新也比较方便。但是跟上一种方式一样,遇到同样的问题,即最右边的ISP不能够同时往AS 34上导入默认路由,否则由于BGP路由选路问题依旧无法实现对不同ISP的访问,即R5和R6同时往AS 34导入默认的情况下,依据无法实现R2对R5和R6同时访问。

时间: 2024-12-28 10:41:59

MPLS VPN环境下BGP导入默认路由问题的相关文章

MPLS VPN 之Hub&Spoke配置及路由分析

所谓的Hub点就是汇聚Spoke节点的中心节点,而Spoke节点就是分支节点,如果在MPLS VPN中,Spoke节点需要通过中心节点Hub进行通信,那么就需要使用Hub&Spoke组网方式,在<MPLS和VPN体系结构>这本书中叫做星型拓扑,本实验的拓扑图是基于这本书中的拓扑图,由于书中并没有讲配置,并且进得也很模糊,现在就用实验进行分析,Spoke节点之间的流量是如何通过中心的CE进行通信的,实验拓扑图如下: 实验要求: 昆明分部的R7需要通过上海总部的R1和R2访问贵阳分部的R6

BGP 产生默认路由的方式

拓扑图如上,基本配置略: 1.写默认路由并通告 ip route 0.0.0.0 0.0.0.0 null 0 写一条默认路由,指向空接口,并将其通告至BGP中,这样该路由器会将该默认路由通告给他的所有BGP邻居: 在R4中配置静态路由,并将其通告至BGP中,然后查看路由表情况: R4(config)#ip route 0.0.0.0 0.0.0.0 null 0 R4(config)#router bgp 100 R4(config-router)#network 0.0.0.0 mask 0

Windows环境下CodeBlocks导入GNU Regex Library 正则表达式

标准的C/C++库中不支持正则表达式,因此需要第三方的库来支持.我使用的是GNU Regex Library. 正则表达式的语链接:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx. 以下是在CodeBlocks导入步骤: 1. 打开下载地址:http://gnuwin32.sourceforge.net/packages/regex.htm: 2. 在"Download"处选择“Complete package

Windows环境下安装导入tornado

首先,一台安装并配置好了python,我的python版本的肯定是2.7,直接进入tornado的环节: 下载tornado的压缩包,我的下载地址为:https://codeload.github.com/tornadoweb/tornado/zip/master 之后进行解压得到文件,将文件名字改为tornado并将文件夹放到python根目录下: 下一步,打开cmd,输入命令如下图: 执行结束: 接下来就是导入了: 到此为止,你可以执行你自己的代码来查看效果了.

Linux 环境下 MySQ导入和导出MySQL的sql文件

将服务器上的文件导入或导出还需要使用工具传输到本机中,推荐使用winscp,与xshell搭配使用 1 导入数据库 两种方法 1.首先建空数据库 mysql>create database abc; 方法一: (1)选择数据库 mysql>use abc; (2)设置数据库编码 mysql>set names utf8; (3)导入数据(注意sql文件的路径) mysql>source /home/abc/abc.sql; 方法二: mysql -u用户名 -p密码 数据库名 &l

新安装的nginx环境下运行tp框架路由不能用的问题

location ~ \.php {    #去掉$ root          H:/PHPServer/WWW;  笔者这里默认是 html; fastcgi_pass   127.0.0.1:9000; fastcgi_index  index.php; fastcgi_split_path_info ^(.+\.php)(.*)$;     #增加这一句 fastcgi_param PATH_INFO $fastcgi_path_info;    #增加这一句 fastcgi_param

MPLS VPN 高级教程(张洋讲解演示版)

MPLS VPN 高级教程(张洋讲解演示版) 课程目标: ü        LDP的实施和特性 ü        PE-CE路由协议以的实施,以及它们在MPLS VPN中的特性: ü        如何通过MPLS网络运载IPv6,6PE和6VPE的含义和它的运作过程: ü        MPLS VPN的各种配置方案 适合人群:希望深入理解MPLS-VPN的人群. 课程位置: http://edu.51cto.com/course/course_id-5737.html 具体内容:   第一课

MPLS VPN与IPSec VPN对比分析

转:http://www.xzbu.com/8/view-7456625.htm 1 引言 互联网的快速发展大大促进了信息资源的交流,与此同时,人们对频繁出现的安全保密问题也愈加关注.通过传统的方式构建企业内部或企 业之间的安全通信环境,必须通过自建通信干道或租用电缆和光缆,利用ISDN(Integrated Services Digital Network,综合业务数字网)或DDN(Digital Data Network,数字数据网)等技术构建企业专用网,若想在安全性和可靠性上得到保障,获得

EIGRP汇总路由配置和默认路由下发

配置汇总路由 EIGRP的自动汇总功能在有些高版本的IOS中默认是关闭的:在某些低版本的ios中默认是打开的,可以用show running-config|inc rotue查看是否打开. EIGRP自动汇总只针对自己产生的(直连路由)路由,对于转发的(从别的路由器学习来的)路由条目不会自动汇总:而手动汇总既可以针对自己产生的路由做,也可以针对学到的路由做. 自动汇总有可能会带来问题,例如两个下连路由器把各自的同一主类路由器条目(如A类)自动汇总给同一上连路由器,则上连路由器针对同一汇总路由条目