当前位置: 首页 > java >正文

BGP路由控制实验

一、实验拓扑

在这里插入图片描述

文章目录

  • 一、实验拓扑
  • 二、实验要求
    • 1.按照实验需求搭建网络拓扑,更改设备名称并配置相关IP地址。
    • 2.RT1和RT4配置环回口10和20用来模拟业务网段。RT2,RT3,RT4使用环回0口作为OSPF的router-id和指定IBGP邻居关系的地址。
    • 3.AS 200内部的RT2,RT3,RT4上配置OSPF,并宣告环回0口来实现TCP可达,然后通过环回0口建立IBGP邻居关系。
    • 4.RT1与RT2/RT3之间通过直连网段建立EBGP邻居关系,RT2/RT3/RT4之间通过环回0口建立IBGP全连接。并在RT1和RT4上把业务网段宣告进BGP用于传递业务网段路由。
    • 5.通过修改MED值,使得RT1访问100.10.10.0/24网段经过RT3设备。
    • 6.通过修改AS-PATH属性,使得RT1访问200.20.20.0/24网段经过RT3。
    • 7.通过修改Preferred-value 属性,使得RT4访问192.168.10.0/24网段经过RT3。
    • 8.通过修改Local-pref属性,使得RT4访问192.168.20.0/24网段经过RT3。
  • 三、实验步骤
    • 1.在AS 200内的RT2.RT3.RT4设备上配置OSPF建立邻居关系并宣告环回口来实现AS 200内部环回口的TCP可达
    • 2.在RT1与RT2/RT3之间建立EBGP邻居关系。在AS 200内部,通过环回0口建立IBGP全连接。
    • 3、在RT1和RT4的BGP地址族下宣告业务网段,使其能够传递路由
    • 但是由于BGP从EBGP邻居获得的路由默认不会更改下一跳,因此RT2和RT3把192.168.10.0/24和192.168.20.0/24路由传递给RT4的时候,下一跳还是RT1,但是对于RT4来说,RT1不可达,因此路由为失效状态。要在RT2和RT3上对RT4传递路由的时候把下一跳修改为本地才可以解决该问题。
    • 5.在RT2上配置路由策略,把RT2传递给RT1的100.10.10.0/24网段的路由MED值修改为100
    • 6.在RT1上配置路由策略,把RT2传递给RT1的200.20.20.0/24网段的路由,AS-PATH修改为200,300.
    • 7.在RT4上配置路由策略,把RT2传递给RT4的192.168.10.0/24网段的路由Preferred-value 属性修改为1000
    • 8.在RT2上配置路由策略,把RT2传递RT4的192.168.20.0/24网段的路由本地优先级设置为8888

二、实验要求

1.按照实验需求搭建网络拓扑,更改设备名称并配置相关IP地址。

2.RT1和RT4配置环回口10和20用来模拟业务网段。RT2,RT3,RT4使用环回0口作为OSPF的router-id和指定IBGP邻居关系的地址。

3.AS 200内部的RT2,RT3,RT4上配置OSPF,并宣告环回0口来实现TCP可达,然后通过环回0口建立IBGP邻居关系。

4.RT1与RT2/RT3之间通过直连网段建立EBGP邻居关系,RT2/RT3/RT4之间通过环回0口建立IBGP全连接。并在RT1和RT4上把业务网段宣告进BGP用于传递业务网段路由。

5.通过修改MED值,使得RT1访问100.10.10.0/24网段经过RT3设备。

6.通过修改AS-PATH属性,使得RT1访问200.20.20.0/24网段经过RT3。

7.通过修改Preferred-value 属性,使得RT4访问192.168.10.0/24网段经过RT3。

8.通过修改Local-pref属性,使得RT4访问192.168.20.0/24网段经过RT3。

三、实验步骤

1.在AS 200内的RT2.RT3.RT4设备上配置OSPF建立邻居关系并宣告环回口来实现AS 200内部环回口的TCP可达

配置ip地址
RT1

[RT1-GigabitEthernet0/0]ip address 100.1.1.1 24
[RT1-GigabitEthernet0/0]int g0/1
[RT1-GigabitEthernet0/1]ip address 100.2.2.1 24

RT2

[RT2-GigabitEthernet0/0]ip address 100.1.1.2 24
[RT2-GigabitEthernet0/0]int g0/1 
[RT2-GigabitEthernet0/1]ip address 100.3.3.1 24

RT4

[RT4-GigabitEthernet0/0]ip address 100.3.3.2 24
[RT4-GigabitEthernet0/0]int g0/1
[RT4-GigabitEthernet0/1]ip address 100.4.4.1 24

RT3

[RT3-GigabitEthernet0/0]ip address 100.2.2.2 24
[RT3-GigabitEthernet0/0]int g0/1
[RT3-GigabitEthernet0/1]ip address 100.4.4.2 24

2.在RT1与RT2/RT3之间建立EBGP邻居关系。在AS 200内部,通过环回0口建立IBGP全连接。

业务网段已经配置好了 不需要配置
在这里插入图片描述

IBGP的含义 
处于同一个AS的BGP对等体为IBGP对等体 BGP对等体  相互之间存在TCP连接、相互交换路由信息的BGP发言人之间称为BGP对等体BGP发言人 运行BGP协议的路由器称为BGP发言人而选择环回口建立IBGP 是因为环回口更加稳定

因此配置ospf的目的 是在于 让BGP对等体出现 只有BGP对等体出现了 才能够建立IBGP关系

配置ospf 使得RT2和RT3RT4能够互通
RT2

[RT2]ospf 1 router-id 2.2.2.2
[RT2-ospf-1]area 0
[RT2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0  #根据自己的环回口配置
[RT2-ospf-1-area-0.0.0.0]network 100.3.3.0 0.0.0.255

RT3

[RT3]ospf 1 router-id 3.3.3.3 
[RT3-ospf-1]area 0
[RT3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.255
[RT3-ospf-1-area-0.0.0.0]network 100.4.4.0 0.0.0.255

RT4


[RT4]ospf 1 router-id 4.4.4.4 
[RT4-ospf-1]area 0
[RT4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[RT4-ospf-1-area-0.0.0.0]network 100.3.3.0 0.0.0.255
[RT4-ospf-1-area-0.0.0.0]network 100.4.4.0 0.0.0.255

配置BGP
RT1

[RT1]bgp 100  启动 BGP 进程
[RT1-bgp-default]peer 100.1.1.2  as-number 200 配置 BGP 邻居 
[RT1-bgp-default]peer 100.2.2.2 as-number 200[RT1-bgp-default]address-family ipv4   进入 IPv4 地址族视图,开始配置 IPv4 路由。[RT1-bgp-default-ipv4]peer 100.1.1.2 enable  启用与邻居 100.1.1.2 和 100.2.2.2 的 BGP 会话。
[RT1-bgp-default-ipv4]peer 100.2.2.2 enable  

RT2

[RT2]bgp  200
[RT2-bgp-default]peer 100.1.1.1 as-number 100
[RT2-bgp-default]peer 3.3.3.3 as-number 200
[RT2-bgp-default]peer 4.4.4.4 as-number 200
[RT2-bgp-default]peer 3.3.3.3 connect-interface LoopBack 0
[RT2-bgp-default]peer 4.4.4.4 connect-interface LoopBack 0
[RT2-bgp-default]address-family ipv4 unicast 
[RT2-bgp-default-ipv4]peer 100.1.1.1 enable
[RT2-bgp-default-ipv4]peer 3.3.3.3 enable
[RT2-bgp-default-ipv4]peer 4.4.4.4 enable
[RT2-bgp-default-ipv4]quit
[RT2-bgp-default]quit

RT3

[RT3]bgp 200
[RT3-bgp-default]peer 100.2.2.1 as-number 100
[RT3-bgp-default]peer 2.2.2.2 as-number 200
[RT3-bgp-default]peer 4.4.4.4 as-number 200
[RT3-bgp-default]peer 2.2.2.2 connect-interface LoopBack 0
[RT3-bgp-default]peer 4.4.4.4 connect-interface LoopBack 0
[RT3-bgp-default]address-family ipv4 unicast 
[RT3-bgp-default-ipv4]peer 100.2.2.1 enable
[RT3-bgp-default-ipv4]peer 2.2.2.2 enable
[RT3-bgp-default-ipv4]peer 4.4.4.4 enable
[RT3-bgp-default-ipv4]quit
[RT3-bgp-default]quit

RT4

[RT4]bgp 200
[RT4-bgp-default]peer 2.2.2.2 as-number 200
[RT4-bgp-default]peer 3.3.3.3 as-number 200
[RT4-bgp-default]peer 2.2.2.2 connect-interface LoopBack 0l
[RT4-bgp-default]peer 3.3.3.3 connect-interface LoopBack 0
[RT4-bgp-default]address-family ipv4 unicast 
[RT4-bgp-default-ipv4]peer 2.2.2.2 enable
[RT4-bgp-default-ipv4]peer 3.3.3.3 enable
[RT4-bgp-default-ipv4]quit
[RT4-bgp-default]quit

至此RT2 RT3 RT4 的IBGP关系建立 RT1 RT3 RT2 的EBGP关系建立

3、在RT1和RT4的BGP地址族下宣告业务网段,使其能够传递路由

但是由于BGP从EBGP邻居获得的路由默认不会更改下一跳,因此RT2和RT3把192.168.10.0/24和192.168.20.0/24路由传递给RT4的时候,下一跳还是RT1,但是对于RT4来说,RT1不可达,因此路由为失效状态。要在RT2和RT3上对RT4传递路由的时候把下一跳修改为本地才可以解决该问题。

RT1

[RT1]bgp 100
[RT1-bgp-default]address-family ipv4 unicast 
[RT1-bgp-default-ipv4]network 192.168.10.0 24
[RT1-bgp-default-ipv4]network 192.168.20.0 24
[RT1-bgp-default-ipv4]quit

RT4

[RT4]bgp 200
[RT4-bgp-default]address-family ipv4 unicast 
[RT4-bgp-default-ipv4]network 100.10.10.0 24
[RT4-bgp-default-ipv4]network 200.20.20.0 24
[RT4-bgp-default-ipv4]quit

查看bgp路由

<RT1>dis bgp routing-table ipv4 Network            NextHop         MED        LocPrf     PrefVal Path/Ogn
* >e 100.10.10.0/24     100.1.1.2                             0       200i
*  e                    100.2.2.2                             0       200i
* >  192.168.10.0       192.168.10.1    0                     32768   i
* >  192.168.20.0       192.168.20.1    0                     32768   i
* >e 200.20.20.0        100.1.1.2                             0       200i
*  e                    100.2.2.2                             0       200i* 的含义是最优
>  的含义是最优prefval 首选值 本地默认为32768 不是本地的则为0

修改RT2 RT3下一跳为本地

RT2

[RT2]bgp 200
[RT2-bgp-default]address-family ipv4 unicast 
[RT2-bgp-default-ipv4]peer 4.4.4.4 next-hop-local 
[RT2-bgp-default-ipv4]quit
[RT2-bgp-default]quit

RT3

[RT3]bgp 200
[RT3-bgp-default]address-family ipv4 unicast 
[RT3-bgp-default-ipv4]peer 4.4.4.4 next-hop-local 
[RT3-bgp-default-ipv4]quit

验证一下RT1和RT4是否能够互通

<RT4>ping -a 100.10.10.10  192.168.10.1 
Ping 192.168.10.1 (192.168.10.1) from 100.10.10.10: 56 data bytes, press CTRL+C to break
56 bytes from 192.168.10.1: icmp_seq=0 ttl=254 time=1.044 ms
56 bytes from 192.168.10.1: icmp_seq=1 ttl=254 time=0.988 ms
56 bytes from 192.168.10.1: icmp_seq=2 ttl=254 time=1.107 ms
56 bytes from 192.168.10.1: icmp_seq=3 ttl=254 time=1.042 ms
56 bytes from 192.168.10.1: icmp_seq=4 ttl=254 time=1.093 ms-a 是指定 用什么ip去ping

但是不指定ip 就ping不通RT1

<RT4>ping   192.168.10.1 
Ping 192.168.10.1 (192.168.10.1): 56 data bytes, press CTRL+C to break
Request time out
Request time out
Request time out
Request time out
Request time out

这是因为 RT4 的路由表 去往RT1的192.168.10.1 的默认源地址是 2.2.2.2 可以达到RT1 但是RT1回包 查路由表时 路由表没有2.2.2.2 的路由 因此丢包

5.在RT2上配置路由策略,把RT2传递给RT1的100.10.10.0/24网段的路由MED值修改为100

MED是越小越优

[RT2]acl basic 2000
[RT2-acl-ipv4-basic-2000]rule 0 permit source 100.10.10.0 0.0.0.255
[RT2-acl-ipv4-basic-2000]quit
[RT2]route-policy RT2toRT1 permit node 10
[RT2-route-policy-RT2toRT1-10]if-match ip address acl 2000
[RT2-route-policy-RT2toRT1-10]apply cost 100
[RT2-route-policy-RT2toRT1-10]quit
[RT2]route-policy RT2toRT1 permit node 20
[RT2-route-policy-RT2toRT1-20]quit
[RT2]bgp 200
[RT2-bgp-default]address-family ipv4 unicast 
[RT2-bgp-default-ipv4]peer 100.1.1.1 route-policy RT2toRT1 export 
[RT2-bgp-default-ipv4]quit
[RT2-bgp-default]quit

在这里插入图片描述

6.在RT1上配置路由策略,把RT2传递给RT1的200.20.20.0/24网段的路由,AS-PATH修改为200,300.

AS-PATH 是越小越优

[RT1]acl basic 2000
[RT1-acl-ipv4-basic-2000]rule 0 permit source 200.20.20.0 0.0.0.255
[RT1-acl-ipv4-basic-2000]quit
[RT1]route-policy RT2toRT1 permit node 10
[RT1-route-policy-RT2toRT1-10]if-match ip address  acl 2000
[RT1-route-policy-RT2toRT1-10]apply as-path 200 300
[RT1-route-policy-RT2toRT1-10]quit
[RT1]route-policy RT2toRT1 permit node 20
[RT1-route-policy-RT2toRT1-20]quit
[RT1]bgp  100
[RT1-bgp-default]address-family ipv4 unicast 
[RT1-bgp-default-ipv4]peer 100.1.1.2 route-policy RT2toRT1 import 
[RT1-bgp-default-ipv4]quit
[RT1-bgp-default]quit

在这里插入图片描述

7.在RT4上配置路由策略,把RT2传递给RT4的192.168.10.0/24网段的路由Preferred-value 属性修改为1000

Preferred 是越大越优

[RT4]acl basic 2000
[RT4-acl-ipv4-basic-2000]rule 0 permit source 192.168.10.0 0.0.0.255
[RT4-acl-ipv4-basic-2000]quit
[RT4]route-policy RT2toRT4 permit node  10
[RT4-route-policy-RT2toRT4-10]if-match  ip address acl 2000
[RT4-route-policy-RT2toRT4-10]apply  preferred-value 1000
[RT4-route-policy-RT2toRT4-10]quit
[RT4]route-policy RT2toRT4 permit node 20
[RT4-route-policy-RT2toRT4-20]quit
[RT4]bgp  200
[RT4-bgp-default]address-family ipv4 unicast 
[RT4-bgp-default-ipv4]peer 2.2.2.2 route-policy RT2toRT4 import 
[RT4-bgp-default-ipv4]quit
[RT4-bgp-default]quit

在这里插入图片描述

8.在RT2上配置路由策略,把RT2传递RT4的192.168.20.0/24网段的路由本地优先级设置为8888

本地优先级越大越优

[RT4]acl b
[RT4]acl basic 2000
[RT4-acl-ipv4-basic-2000]rule 0 permit source 192.168.10.0 0.0.0.255
[RT4-acl-ipv4-basic-2000]quit
[RT4]route-policy RT2toRT4 permit node 10
Routing policy node created.
[RT4-route-policy-RT2toRT4-10]if-match ip address acl 2000
[RT4-route-policy-RT2toRT4-10]apply preferred-value  1000
[RT4-route-policy-RT2toRT4-10]quit
[RT4]route-policy RT2toRT4 permit node 20
Routing policy node created.[RT4-route-policy-RT2toRT4-20]quit 
[RT4]bgp 200
[RT4-bgp-default]address-family ipv4 unicast 
[RT4-bgp-default-ipv4]peer 3.3.3.3 route-policy RT2toRT4 import 
[RT4-bgp-default-ipv4]quit
[RT4-bgp-default]quit

在这里插入图片描述

http://www.xdnf.cn/news/947.html

相关文章:

  • Linux论坛安装
  • vite安装及使用
  • arkTs:UIAbility 组件的生命周期
  • Linux——系统安全及应用
  • 内网穿透实践:cpolar快速入门教程
  • 大模型学习笔记 day01 提示工程入门1.One-shot Few-shot提示学习法
  • 【mongodb】--下载
  • Flink介绍——实时计算核心论文之MillWheel论文总结
  • 探索大语言模型(LLM):ReAct、Function Calling与MCP——执行流程、优劣对比及应用场景
  • `useLayoutEffect` 和 `useEffect`区别与联系
  • Spring Boot 整合 JavaFX 核心知识点详解
  • C++ explicit
  • vscode使用remote ssh插件连接服务器的问题
  • 阿狸电视桌面固件包分享-阿狸桌面功能详细使用教程
  • map和set封装
  • Python进程与线程的深度对比
  • C++学习:六个月从基础到就业——内存管理:自定义内存管理(上篇)
  • Java 并发包核心机制深度解析:锁的公平性、异步调度、AQS 原理全解
  • 【上位机——MFC】菜单类与工具栏
  • 单例模式 (Singleton Pattern)
  • DeepSeek R1模型微调怎么做?从入门到实战
  • 关于敏感文件或备份 安全配置错误 禁止通过 URL 访问 Vue 项目打包后的 .gz 压缩文件
  • RS232转Profibus DP网关:技术革新!
  • 【Pandas】pandas DataFrame sub
  • Discuz!与DeepSeek的深度融合:打造智能网址导航新标杆
  • 在Ubuntu 18.04下编译OpenJDK 11
  • BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection
  • 树模型与集成学习(决策树核心算法:ID3/C4.5/CART、随机森林、GBDT/XGBoost)
  • CentOS7系统安装Docker教程
  • 【NLP 67、知识图谱】