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