一、实验内容
1.1 背景
科技公司网络使用了BGP协议来进行不同AS之间的路由信息传递,根据拓扑规划,底层通信使用静态路由。
1.2 需求分析
根据公司网络环境的分析,RTB与RTC处于同一个自治系统AS 200,使用环回口建立IBGP邻居,RTA、RTD分别处于自治系统AS100 、AS300,分别与处于自治系统AS200的RTB、RTC使用直接口建立EBGP邻居关系,配置静态路由使得底层路由能通信。
详细规划要求如下图1-1拓扑所示:
1.3 搭建拓扑图
按照拓扑图1.1所示,搭建实验拓扑图
图1-1 拓扑图
二、实验目的
- 掌握IBGP与EBGP邻居的建立基本配置命令。
- 掌握更改更新源、修改下一跳的命令。
- 掌握基本ACL访问控制列表配置命令。
- 掌握peer filter-policy策略工具的使用。
- 掌握BGP通告路由原则。
三、实验方案设计
- 搭建相关实验拓扑图。
- 基本配置:按照规划配置接口IP地址,并测试直连链路网段的连通性。
- 根据拓扑图1-1,处于AS200内的RTB、RTC配置静态路由;
- 系统模式下手工指定Router id:RTB与RTC使用环回口建立IBGP邻居关系;RTA与RTB、RTC与RTD使用直连接口建立EBGP邻居关系。
- RTA与RTD上使用import-route命令向BGP注入路由;RTB与RTC使用network命令向BGP注入路由;
- 配置acl与peer filter-policy过滤策略结合使用完成拓扑要求;
- 向bgp注入路由的方式network、import-route两种有什么区别。
- 解决图1-1拓扑中的两个思考题;4.5最后面解答。
四、实验配置过程及结果
4.1 路由器的基础配置
- 路由器的基础配置(设备名称、接口IP地址及环回口地址等等)。根据图1-1拓扑图里标注,配置IP地址,这里不特例讲了,直接列出。
|
- 配置完了IP地址,用ping命令测试查看RTB与RTA、RTC;RTC与RTD之间的直连链路的连通性。如图1-2所示:
图1-2测试连通性
4.2 配置静态路由
- RTB与BTC在同一个自治系统AS200内,它们之间使用环回口建立IBGP邻居关系,前提是路由要可达,不然邻居建立不起来,即配置静态路由如下:
|
- 测试:在RTC上pingRTB的环回口地址2.2.2.2。
图1-3测试连通性
4.3 建立IBGP邻居
IBGP邻居:运行在相同AS内部的BGP路由器。
配置IBGP邻居关系,AS200内的RTB、RTC用环回口接口建立,配置如下:
[RTB] router id 2.2.2.2 | 系统模式下手动指定router id为2.2.2.2 |
[RTB] bgp 200 | 进入bgp 200 进程视图下 |
[RTB-bgp] peer 3.3.3.3 as-number 200 | 配置IPv4对等体3.3.3.3的对端AS号为200 |
[RTB-bgp] peer 3.3.3.3 connect-interface LoopBack 0 | 指定发送bgp报文的源接口为环回接口0 |
[RTB-bgp] quit | 退出 |
RTC上的配置
|
在RTB上使用display bgp peer命令查看BGP对等体信息。如下图所示:
图1-4显示对等体的信息
BGP邻居当前状态是Established说明邻居建立成功了,该BGP对等体间可以交换Update消息、Notification消息和Keepalive消息。
4.4 建立EBGP邻居
处于不同AS的RTA与RTB、RTC与RTD使用直连链路建立EBGP邻居关系,以RTA跟RTB之间配置为例,RTC与RTD的配置类似。
[RTA] router id 1.1.1.1 | 系统模式下指定router id为1.1.1.1 |
[RTA] bgp 100 | 进入bgp 100进程视图下 |
[RTA-bgp] peer 10.1.1.2 as-number 200 | 配置IPv4对等体10.1.1.2的对端AS号为200 |
[RTA-bgp] quit | 退出 |
|
|
在RTB与RTC设备上使用display bgp peer 命令查看BGP对等体信息。如下图所示:
图1-5 显示对等体的信息
从图1-5中,可以看到RTB、RTC都有两个对等体,且BGP邻居当前状态都是Established说明邻居建立成功了。
4.5 注入路由方式
不同于IGP路由协议,BGP自身不会发现并计算产生路由,它是将IGP路由表中的路由注入到BGP路由表,并通过Update报文传递给BGP对等体。
- 所以使用display routing-table命令在设备上看bgp的路由信息,发现都是空的。没有任何bgp的路由信息。
- 因为还没有注入路由,bgp注入路由的方式有两种:network、import-route;
在RTA、RTD上使用import-route方式注入直连路由;
在RTB、RTC上使用network方式注入它们的环回接口1网段;
注意:两种方式宣告路由有什么不一样。
第一种import-route方式:RTA、RTD上引入直连路由。配置如下:
|
用display bgp routing-table分别在RTA、RTB会发现上查看bgp公网路由信息,会显示出bgp所有的活跃和不活跃路由。
图1-6 RTA的bgp路由信息
图1-6中RTA的bgp路由都是有效且最优路由,会传递给EBGP邻居RTB。
图1-7 RTB的bgp路由信息
从EBGP邻居RTA(AS100)学来的路由有效且最优。但是从IBGP邻居RTC学来的路由是不活跃的路由。
在RTB上使用display ip routing-table命令查看全局路由表信息如下:
图1-8 RTB的IPv4路由信息
结合图1-7和图1-8会发现有效且最优的路由才会被放入全局IP路由表中;
而始发AS300的路由4.4.4.4/32、20.1.1.1/32是通过IBGP邻居传来的都是无效且不是最优的。为什么?分析如下:
图1-7中路由4.4.4.4/32、20.1.1.1/32下一跳是10.2.2.2,那么RTB没有去往10.2.2.2的路由。
当RTC通过EBGP邻居RTD学到路由再转发给它的IBGP邻居RTB时,默认是不修改下一跳的,即RTC从它的EBGP邻居RTD学到的路由下一跳默认是10.2.2.2,IBGP邻居RTB接收到之后,由于下一跳不可达就导致了路由无法活跃。
|
RTC与RTB有类似的情况,这里不详细讲解RTC了,所以也修改下一跳。
|
在RTB上再次使用display bgp routing-table命令查看, 情况如下:
图1-9 RTB的bgp路由信息
从EBGP邻居RTC学到4.4.4.4/32、20.1.1.1/32的路由也是有效且最优的了。
第二种使用network方式注入路由:
在RTB、RTC上使用network命令将它们环回接口1的网段宣告进bgp,配置如下:
|
在RTD使用display bgp routing-table查看bgp路由信息、display ip routing-table查看全局IPv4路由表信息。情况如下图所示:
图1-10 RTD的bgp路由、IPv4路由表信息
在RTD的bgp路由表看到的路由都是最优且有效,会被放到全局IPv4路由表中。
在RTB上使用display bgp routing-table查看bgp路由信息、display ip routing-table查看全局IPv4路由表信息。情况如下图所示:
图1-11 RTB的bgp路由、IPv4路由表信息
补充:
在bgp路由信息的Path/Ogn显示AS路径号及Origin属性,200i代表的是路由始发的AS是200号;i代表该路由是network命令发布到bgp路由表的路由,其Origin属性为IGP;
?代表的是使用import-route (直连、静态、ospf、is-is路由等等)方式,其Origin属性为Incomplete。
根据bgp路由优选规则:优选Origin属性最优的路由,IGP优于Incomplete。
且network命令注入方式优选于import-route方式。
|
图1-12 RTA、RTB的bgp路由信息
拓扑中的思考1:对于RTB上18.1.1.1/32这条路由,RTD是可以学习到的;
bgp通告原则:RTC从它的IBGP邻居RTB学到的路由会传给EBGP邻居RTD,但是不会传给IBGP对等体。
思考2:对于RTD上的20.1.1.1/32这条路由,RTB可以学习到;
根据bgp通告原则:RTC从它的EBGP邻居RTD学到的路由会传给所有的对等体,包括IBGP、EBGP对等体。
4.6、peer filter-policy过滤策略
要求RTD仅能学习到RTA的17.1.1.1/32和RTB的18.1.1.1的路由。使用acl基本控制列表,peer filter-policy命令配置基于访问控制列表的过滤策略,过滤向对等体发布的路由。
配置如下:
|
4.7、验证实验结果
在RTD上使用display ip routing-table命令,查看全局IPv4全局路由表,发现RTD仅能学习到RTA的17.1.1.1/32和RTB的18.1.1.1的路由信息了。
图1-13 RTD的IPv4路由信息
在RTD上使用带有源地址ping测试到RTA的环回接口0地址的连通性。情况图所示:
图1-14测试连通性
ping –a 4.4.4.4 17.1.1.1 指定Request报文的源IP地址为4.4.4.4,如果不指定源IP地址将采用出接口的IP地址10.2.2.2作为Request报文发送的源地址,通信不了,因为RTA上没有去往10.2.2.2路由但是知道去往4.4.4.4的路由。
4.8 配置文件命令
<RTA>display current-configuration
#
sysname RTA
#
router id 1.1.1.1
#
interface GigabitEthernet0/0/0
ip address 10.1.1.1 255.255.255.252
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
interface LoopBack1
ip address 17.1.1.1 255.255.255.255
#
bgp 100
peer 10.1.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
network 17.1.1.1 255.255.255.255
import-route direct
peer 10.1.1.2 enable
#
<RTB>display current-configuration
sysname RTB
router id 2.2.2.2
interface GigabitEthernet0/0/0
ip address 10.1.1.2 255.255.255.252
interface GigabitEthernet0/0/1
ip address 192.2.2.1 255.255.255.252
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
interface LoopBack1
ip address 18.1.1.1 255.255.255.255
#
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 10.1.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
network 18.1.1.1 255.255.255.255
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
peer 10.1.1.1 enable
#
ip route-static 3.3.3.3 255.255.255.255 192.2.2.2
#
<RTC>display current-configuration
sysname RTC
router id 3.3.3.3
acl number 2000
rule 5 permit source 17.1.1.1 0
rule 10 permit source 18.1.1.1 0
rule 15 deny
#
interface GigabitEthernet0/0/0
ip address 10.2.2.1 255.255.255.252
#
interface GigabitEthernet0/0/1
ip address 192.2.2.2 255.255.255.252
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
interface LoopBack1
ip address 19.1.1.1 255.255.255.255
#
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 10.2.2.2 as-number 300
#
ipv4-family unicast
undo synchronization
network 19.1.1.1 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local
peer 10.2.2.2 enable
peer 10.2.2.2 filter-policy 2000 export
#
ip route-static 2.2.2.2 255.255.255.255 192.2.2.1
#
<RTD>display current-configuration
sysname RTD
router id 4.4.4.4
interface GigabitEthernet0/0/0
ip address 10.2.2.2 255.255.255.252
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
interface LoopBack1
ip address 20.1.1.1 255.255.255.255
#
bgp 300
peer 10.2.2.1 as-number 200
#
ipv4-family unicast
undo synchronization
import-route direct
peer 10.2.2.1 enable