实验拓扑:

要求:

R1、R2是EBGP关系,R2、R4是IBGP关系,R4、R5是EBGP邻居关系

R1与R5的环回可以通信

1、配置IP地址

2、BGP承载与IGP之上,所以给AS 2 启用IGP协议--OSPF

给AS 2 内配置OSPF 环境,R2连接R1,R4连接R5的接口不宣告到OSPF里。

配置完成后,检查IGP环境是不是可以通信的,用R2的环回Ping R4的环回进行测试:

3、配置BGP:手动指定邻居:

1)R1、R2建立EBGP邻居:

在R1上,指定R2为邻居:

[R1]bgp 1

[R1-bgp]peer 12.1.1.2 as-number 2

在R2上,也需要指定R1为邻居

[R2]bgp 2

[R2-bgp]peer 12.1.1.1 as-number 1

此时,R1与R2的邻居关系已经建立,查看:

2)R2、R4建立IBGP邻居:

在R2上,指定R4为邻居:

[R2]bgp 2
[R2-bgp]peer 34.1.1.4 as-number 2

在R4上,指定R2为邻居:

[R4]bgp 2
[R4-bgp]peer 23.1.1.2 as-number 2

此时,R2、R4邻居关系已经建立

3)R4、R5建立邻居关系:

R4、R5建立邻居关系的话,如果按照前面的方式,就需要写所有接口,如果实际链路不止两条,就会很麻烦,所以可以让两边的环回建立邻居,这样中间的链路都可以走,也就是负载均衡的。

让R4、R5的环回建立邻居:

R4、R5环回必须先可以通信,才可以建邻。

此时R4、R5的环回无法通信,通过写静态路由使其实现通信:

在R4上:

在R5上:

测试:

环回可以通信之后,通过手动指定建立R4、R5环回为邻居:

此时,邻居关系一直停在Active状态

原因:此时是R4、R5的环回在建立邻居,路由器默认出接口发包,所以R4发包时会以出接口的源地址发给R5,那么R5回包的时候,就会回到R4的出接口,并没有回包到环回接口,所以导致建邻失败。

解决:将发包的源地址改为环回接口的地址:

在R4上:

[R4]bgp 2
[R4-bgp]peer 5.5.5.5 connect-interface LoopBack 1

在R5上:

[R5]bgp 3
[R5-bgp]peer 4.4.4.4 connect-interface LoopBack 1

此时,邻居关系又停在Idle状态

原因:查看BGP邻居表显示包发不出去,BGP默认EBGP间所有的BGP数据包的TTL值为1,而用环回建邻跳数为2,所以包到达不了对面,导致建邻失败

解决:修改EGP的多跳

在R4上:

[R4]bgp 2
[R4-bgp]peer 5.5.5.5 ebgp-max-hop 2

在R5上:

[R5]bgp 3
[R5-bgp]peer 4.4.4.4 ebgp-max-hop 2

此时,R4、R5的环回建邻成功:

4、宣告:

注意:宣告时 ,掩码必须和路由表里保持一致

BGP协议本身不计算生成路由条目;负责转发从其他BGP邻居传递过来的路由条目;

同时可以将本地路由表中任意路由宣告到BGP协议中来;

BGP宣告配置时,只能宣告本地路由表中的路由条目,且宣告配置中网络号的掩码必须和路由表中的记录完全一致

在R1上:

[R1]bgp 1
[R1-bgp]network 1.1.1.0 24

查看BGP表:(BGP表内容:路由+属性)

当BGP设备进行宣告配置后,本地生成BGP表:装载本地发出及接收到所有BGP路由

状态:

*  表示可用

> 表示条目优秀—可以加表,可以传递(共享给本地的其他邻居)

状态处的i表示该条目通过IBGP邻居关系学习

不优的原因:1、下一跳不可达(因为AS-BY-AS)

加表:查看路由表:

优先级取值为0-255,当优先级为255的时候,就算有可达路径,也不选择这条路

EBGP默认优先级为255

此时,R4上查看路由表,发现去往R1换回的下一跳是R1的接口,但真实路由是从R2传到R1的,因为在同一个AS内,属性不变,所以下一跳没有变。

下一跳没有变,R4就无法学到R1,所以R2要将流量传到R4中去,下一跳应该是R2自己的接口

修改下一跳接口为本地接口:

[R2]bgp 2
[R2-bgp]peer 34.1.1.4 next-hop-local

此时,查看R5的路由表:

下一跳为R4,因为R4和R5是EBGP关系,属性会改变,此时,假如去1.1.1.1,就是先经过R4,再到R2,最后到R1。

此时,在R5上pingR1环回,通不了,因为R5知道R1在哪,R1不知道R5在哪

解决:将R5的环回宣告到BGP中

[R5]bgp 3
[R5-bgp]network 5.5.5.0 24

有R5环回,但是不加表,查看路由表,去往R5环回走静态,但是静态优先级比IBGP高,所以不会学IBGP

解决:

先删掉原来写的静态路由

然后写上环回32位的路由,学24和32位不冲突

此时,R5环回变为可以加表的优秀路径

因为在同一个AS里属性不变,所以在R2上去R5环回不是优秀路径,需要修改下一跳

所以在R4上修改下一跳为本地接口:

[R4]bgp 2
[R4-bgp]peer 23.1.1.2 next-hop-local

此时,查看R4路由表,发现R5的环回通过EBGP学到的,并且学到的是24位

在R2上查看:此时,变成了可加表的优秀路径,下一跳也是R4本地接口

此时,R1上的路由也是优的

此时检测R1环回pingR5环回,发现通不了。

原因:BGP路由黑洞,控制层面可达,数据层面不可达

详细解释:

R1环回pingR5环回,流量到R2上,查寻路由表,去R5环回的路由下一跳为34.1.1.4

所以R2要先去34.1.1.4,就要查询路由表看看34网段怎么走:

查询完路由表发现R2要去34.1.1.4的下一跳是23.1.1.3, 而23.1.1.3在R3上。

但是目标是R5的环回,R3的路由表里并没有R5的环回,就会将此包丢弃。

因此产生了BGP的路由黑洞

解决方法:

1、物理全连,

2、重发布

3、全部设备配置BGP

4、MPLS

所以给R3也配置BGP协议:

在R3上:

[R3]bgp 2
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 23.1.1.2 as-number 2
[R3-bgp]peer 34.1.1.4 as-number 2

在R2上:手动指定R3为邻居

[R2]bgp 2
[R2-bgp]peer 23.1.1.3 as-number 2

在R4上:手动指定R3为邻居

[R4]bgp 2
[R4-bgp]peer 34.1.1.3 as-number 2

查看BGP邻居表,邻居关系已经建立

此时,R3上学到的路由都不是最优的,还是要需要修改下一跳为本地

在R2、R4上修改下一跳为本地接口:

在R2上:

[R2]bgp 2

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

在R4上:

[R4]bgp 2
[R4-bgp]peer 34.1.1.3 next-hop-local

在R3上查看BGP邻居:此时都变成了可加表的优秀路由

此时,R1、R5可以通信:

HCIP --- BGP实验的更多相关文章

  1. HCIP --- MPLS BGP 实验

    实验要求: 实验拓扑: 一.配置IP地址 二.给AS 2配置OSPF 1.R2-R7配置相同: 查看路由表: 可以看到,业务网段学的是32位的 修改:在R2-R7上都修改 [R2]int loo1[R ...

  2. HCIP --- BGP综合实验

    实验要求: 实验拓扑: 一.配置IP地址 L:代表环回地址(loop back 0) Y:代表业务网段的地址(loop back 1) 二.因为BGP基于IGP之上,给AS 2内配置OSPF 在R2上 ...

  3. BGP 实验

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1. 掌握 BGP 的基本配置方法. 2. 掌握如何查看 BGP 的各种配置信息. 3. 掌握基于回环口的 BGP ...

  4. HCIP --- BGP属性

    传播范围                 默认值              大优或小优 1. Preference_Value     不传播                      0       ...

  5. HCIP --- BGP 总结

    AS:自治系统  --逻辑管理域(例如移动.电信.联通),AS号范围:0-65535,其中,1-64511:公有AS,64512-65535:私有AS IGP:内部网关协议,在一个AS之内传递的路由协 ...

  6. Mininet实验 基于Mininet实现BGP路径挟持攻击实验

    参考:基于Mininet实现BGP路径挟持攻击实验 实验目的: 掌握如何mininet内模拟AS. 掌握BGP路径挟持的原理和分析过程. 实验原理: 互联网是由相互连接的自治系统AS组成的,通过一个通 ...

  7. IGP和BGP路由协议配合降低非核心路由器的路由容量的实验与总结

    IGP和BGP路由协议配合降低非核心路由器的路由容量的实验与总结 一.结论 通过eBGP协议,可以显著降低对非核心路由器的路由容量要求,因为核心路由器的数量明显少于非核心路由器,所以,通过此措施既可以 ...

  8. CCNP路由实验之七 动态路由之BGP

     CCNP路由实验之七 动态路由之BGP 动态路由协议能够自己主动的发现远程网络,仅仅要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自己主动获知新添加的网络,还能够在当前网络连接失 ...

  9. BGP属性控制实验

    目录 实验拓扑 实验需求 实验步骤 个人小结: 实验拓扑 实验需求 更改BGP路由的属性让R4访问R1优先选R2这条路 实验步骤 1. 按照图示配置IP地址及环回口地址 R1 [R1]int g0/0 ...

随机推荐

  1. 【P1972】HH的项链——树状数组+询问离线

    (题面摘自luogu) 题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集 ...

  2. 编曲技巧:使用FL Studio来制作停顿的效果

    停顿效果是一种在音乐创作中非常常用的音效,它能起到缓冲的作用,而且能使这段旋律更具节奏感,在比较激情的歌曲中尤为常见.例如知名歌手王力宏演唱的<火力全开>中就使用了停顿效果,为歌曲加了不少 ...

  3. 【证书】curl 和 java 请求报证书错误

    1. 说明: 以下:例子的域名因为工作环境的问题,被我拿自己的博客域名替代了,所以无法进行模拟测试,请珍重,哈哈! 2. 环境: centos:7.5 java jdk:1.8.0_74 3. cur ...

  4. VS Code C++ 项目快速配置模板

    两个月前我写过一篇博客 Windows VS Code 配置 C/C++ 开发环境 ,主要介绍了在 VS Code 里跑简单 C 程序的一些方法.不过那篇文章里介绍的方法仅适用于单文件程序,所以稍微大 ...

  5. bootstrap火速布局"企业级"页面

    套娃 .container(两边有margin)/container-fluid(无) 大盒,写一个当爹就行 .row 行 .col 列 列中可再嵌套行和列 大小 把屏幕分成十二列看 .col-(xs ...

  6. 第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现

    第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现 一.    案例说明 本节将通过一个案例介绍怎么使用property定义快捷的属性访问.案例中使用Rectan ...

  7. 第8.15节 Python重写自定义类的__repr__方法

    一. 引言 前面两节分别介绍了Python类中的__str__和__repr__方法的作用和语法,所有新式类都支持这两个方法,因为object类实现了这两个方法,但实际上各位开发者在自定义类的过程中, ...

  8. PyQt(Python+Qt)学习随笔:QTableWidget中表格各列平均分配宽度的两种方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget表格部件中,如果需要实现表格中各列要占满部件中的可用空间,同时实现各列平分 ...

  9. XFF SSTI 模板注入 [BJDCTF2020]The mystery of ip

    转自https://www.cnblogs.com/wangtanzhi/p/12328083.html SSTI模板注入:之前也写过:https://www.cnblogs.com/wangtanz ...

  10. [Windows] 在 Microsoft Docs 网站中挖掘 MVVM 的各种学习资源

    最近写了一些 MVVM 框架的文章,翻了一些 Microsoft Docs 的文档,顺便就对 MVVM 本身来了兴致,想看看更多当年相关的文档.在 MVVM 出现后十多年,我在不同的场合见到过多种 M ...