一、 实验拓扑
二、 实验需求及解法
本实验模拟某市ISP骨干网与两个数据中心互联的网络,完成以下配置需求:
1.预配置包括:
1.1 配置所有设备互联IP,且所有设备都有Loopback0地址。
sysname R1
#
interface GigabitEthernet0/0/0ip address 5.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.16.1 255.255.255.0
#
interface GigabitEthernet5/0/0ip address 5.0.15.1 255.255.255.0
#
interface LoopBack0ip address 5.1.1.1 255.255.255.255 sysname R2
#
interface GigabitEthernet0/0/0ip address 5.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.28.2 255.255.255.0
#
interface GigabitEthernet5/0/0ip address 5.0.25.2 255.255.255.0
#
interface LoopBack0ip address 5.2.2.2 255.255.255.255 sysname R3
interface GigabitEthernet0/0/0ip address 5.0.34.3 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.37.3 255.255.255.0
#
interface GigabitEthernet5/0/0ip address 5.0.35.3 255.255.255.0
#
interface LoopBack0ip address 5.3.3.3 255.255.255.255 sysname R4
interface GigabitEthernet0/0/0ip address 5.0.34.4 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.49.4 255.255.255.0
#
interface GigabitEthernet5/0/0ip address 5.0.45.4 255.255.255.0
#
interface LoopBack0ip address 5.4.4.4 255.255.255.255sysname R5
interface GigabitEthernet5/0/0ip address 5.0.15.5 255.255.255.0
#
interface GigabitEthernet5/0/1ip address 5.0.25.5 255.255.255.0
#
interface GigabitEthernet5/0/2ip address 5.0.35.5 255.255.255.0
#
interface GigabitEthernet5/0/3ip address 5.0.45.5 255.255.255.0
#
interface LoopBack0ip address 5.5.5.5 255.255.255.255
#
interface LoopBack8ip address 8.8.8.8 255.255.255.255 sysname R6
interface GigabitEthernet0/0/0ip address 5.0.16.6 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.116.6 255.255.255.0
#
interface LoopBack0ip address 5.6.6.6 255.255.255.255 sysname R7
interface GigabitEthernet0/0/0ip address 5.0.37.7 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.117.7 255.255.255.0
#
interface LoopBack0ip address 5.7.7.7 255.255.255.255sysname R8
interface GigabitEthernet0/0/0ip address 5.0.28.8 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.228.8 255.255.255.0
#
interface LoopBack0ip address 5.8.8.8 255.255.255.255
#sysname R9
interface GigabitEthernet0/0/0ip address 5.0.49.9 255.255.255.0
#
interface GigabitEthernet0/0/1ip address 5.0.229.9 255.255.255.0
#
interface LoopBack0ip address 5.9.9.9 255.255.255.255
#
1.2 SW1与SW2创建vlan、划分vlan、并创建vlanif。
sysname SW1
#
vlan batch 6 to 7 10 20
#
interface Vlanif6ip address 5.0.116.11 255.255.255.0
#
interface Vlanif7ip address 5.0.117.11 255.255.255.0
#
interface Vlanif10ip address 100.0.0.254 255.255.255.0
#
interface Vlanif20ip address 100.0.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type accessport default vlan 6stp edged-port enable
#
interface GigabitEthernet0/0/2port link-type accessport default vlan 7stp edged-port enable
#
interface GigabitEthernet0/0/3port link-type accessport default vlan 10stp edged-port enable
#
interface GigabitEthernet0/0/4port link-type accessport default vlan 20stp edged-port enable
#sysname SW2
#
vlan batch 8 to 10 20
#
interface Vlanif8ip address 5.0.228.22 255.255.255.0
#
interface Vlanif9ip address 5.0.229.22 255.255.255.0
#
interface Vlanif10ip address 200.0.0.254 255.255.255.0
#
interface Vlanif20ip address 200.0.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1port link-type accessport default vlan 8stp edged-port enable
#
interface GigabitEthernet0/0/2port link-type accessport default vlan 9stp edged-port enable
#
interface GigabitEthernet0/0/3port link-type accessport default vlan 10stp edged-port enable
1.3 PC已配置IP和网关。
2.在所有设备的系统视图下配置全局router id为Loopback0地址。
使得OSPF和BGP协议自动选择该RID,而无需另行配置。
R1-R9
5.1.1.1 — 5.9.9.9
SW1
Router id 5.11.11.11
SW2
Router id 5.22.22.22
3.内部网关协议IGP
3.1 ISP骨干网中运行ISIS进程1,满足以下需求:
3.1.1 ISIS区域49.0005
3.1.2 系统ID规划如下:
R1:0000.0000.0001
R2:0000.0000.0002
R3:0000.0000.0003
R4:0000.0000.0004
R5:0000.0000.0005
3.1.3 所有路由器均为Level-2
3.1.4 与其他AS互联的接口不激活ISIS。
3.1.5 确保ISP骨干网内部互通。
R1
isis 1
is-level level-2
network-entity 49.0005.0000.0000.0001.00interface LoopBack0
isis enable 1
interface GigabitEthernet0/0/0
isis enable 1
interface GigabitEthernet5/0/0
isis enable 1
#
R2:
isis 1
is-level level-2
network-entity 49.0005.0000.0000.0002.00interface LoopBack0
isis enable 1
interface GigabitEthernet0/0/0
isis enable 1
interface GigabitEthernet5/0/0
isis enable 1
#
R3:
isis 1
is-level level-2
network-entity 49.0005.0000.0000.0003.00interface LoopBack0
isis enable 1
interface GigabitEthernet0/0/0
isis enable 1
interface GigabitEthernet5/0/0
isis enable 1
#
R4:
isis 1
is-level level-2
network-entity 49.0005.0000.0000.0004.00interface LoopBack0
isis enable 1
interface GigabitEthernet0/0/0
isis enable 1
interface GigabitEthernet5/0/0
isis enable 1
#
R5:
isis 1
is-level level-2
network-entity 49.0005.0000.0000.0005.00
#
interface LoopBack0
isis enable 1
interface GigabitEthernet5/0/0
isis enable 1
interface GigabitEthernet5/0/1
isis enable 1
interface GigabitEthernet5/0/2
isis enable 1
interface GigabitEthernet5/0/3
isis enable 1
[R5]dis ip routing-table protocol isis
R1/2/3/4自行查路由表并测试。
3.2 两个数据中心分别运行OSPF进程1,满足以下需求:
3.2.1 router-id自动选择,不要手动配置。
3.2.2 全部属于区域0.(两个数据中心OSPF并不互通。)
3.2.3 使用network命令宣告,通配符使用0.0.0.0 3.2.4 不允许宣告与其他AS互联的接口。
3.2.5 确保两个数据中心内部各自互通。
R6:
ospf 1
area 0.0.0.0
network 5.0.116.6 0.0.0.0
network 5.6.6.6 0.0.0.0
#
R7:
ospf 1
area 0.0.0.0
network 5.0.117.7 0.0.0.0
network 5.7.7.7 0.0.0.0
#
SW1:
ospf 1
area 0.0.0.0
network 5.11.11.11 0.0.0.0
network 5.0.116.11 0.0.0.0
network 5.0.117.11 0.0.0.0
network 100.0.0.254 0.0.0.0
network 100.0.1.254 0.0.0.0
#
R8:
ospf 1
area 0.0.0.0
network 5.0.228.8 0.0.0.0
network 5.8.8.8 0.0.0.0
#
R9:
ospf 1
area 0.0.0.0
network 5.0.229.9 0.0.0.0
network 5.9.9.9 0.0.0.0
#
SW2:
ospf 1
area 0.0.0.0
network 5.22.22.22 0.0.0.0
network 5.0.228.22 0.0.0.0
network 5.0.229.22 0.0.0.0
network 200.0.0.254 0.0.0.0
network 200.0.1.254 0.0.0.0
在PC上测试如下:
4.建立BGP邻居
4.1 ISP骨干网属于AS12345,R1/2/3/4/5均运行BGP,满足以下需求:
4.1.1 R5为路由反射器(RR), R1/2/3/4为客户端(RR-client)。
4.1.2 R1/2/3/4分别使用Loopback0与R5建立ibgp邻居关系。
4.1.3 R1/2/3/4之间不建立bgp邻居关系。
4.1.4 配置必要的next-hop-local命令。
R1/2/3/4:
bgp 12345
peer 5.5.5.5 as-number 12345
peer 5.5.5.5 connect-interface LoopBack0
peer 5.5.5.5 next-hop-local
#
R5:
bgp 12345
peer 5.1.1.1 as-number 12345
peer 5.1.1.1 connect-interface LoopBack0
peer 5.1.1.1 reflect-client
peer 5.2.2.2 as-number 12345
peer 5.2.2.2 connect-interface LoopBack0
peer 5.2.2.2 reflect-client
peer 5.3.3.3 as-number 12345
peer 5.3.3.3 connect-interface LoopBack0
peer 5.3.3.3 reflect-client
peer 5.4.4.4 as-number 12345
peer 5.4.4.4 connect-interface LoopBack0
peer 5.4.4.4 reflect-client
4.2 A区数据中心属于AS65100,B区数据中心属于AS65200。
两个数据中心都采用了同城异地灾备方案,即双出口连接到不同城域网,可以避免本地城 域网故障导致的网络瘫痪。
数据中心配置BGP,满足以下需求:
4.2.1 使用Loopback0建立ibgp邻居:
A区数据中心:SW1不运行BGP,R6/7不建立ibgp邻居。
B区数据中心:SW2 - R8 - R9 全互联
4.2.2 配置必要的next-hop-local命令
SW2:
bgp 65200
peer 5.8.8.8 as-number 65200
peer 5.8.8.8 connect-interface LoopBack0
peer 5.9.9.9 as-number 65200
peer 5.9.9.9 connect-interface LoopBack0
#
R8:
bgp 65200
peer 5.9.9.9 as-number 65200
peer 5.9.9.9 connect-interface LoopBack0
peer 5.9.9.9 next-hop-local
peer 5.22.22.22 as-number 65200
peer 5.22.22.22 connect-interface LoopBack0
peer 5.22.22.22 next-hop-local
#
R9:
bgp 65200
peer 5.8.8.8 as-number 65200
peer 5.8.8.8 connect-interface LoopBack0
peer 5.8.8.8 next-hop-local
peer 5.22.22.22 as-number 65200
peer 5.22.22.22 connect-interface LoopBack0
peer 5.22.22.22 next-hop-local
4.2.3 使用物理接口建立以下ebgp邻居: R6 - R1 R7 - R3 R8 - R2 R9 - R4
R6:
bgp 65100
peer 5.0.16.1 as-number 12345
R1:
bgp 12345
peer 5.0.16.6 as-number 65100
#
R7:
bgp 65100
peer 5.0.37.3 as-number 12345
R3:
bgp 12345
peer 5.0.37.7 as-number 65100
#
R8:
bgp 65200
peer 5.0.28.2 as-number 12345
R2:
bgp 12345
peer 5.0.28.8 as-number 65200
#
R9:
bgp 65200
peer 5.0.49.4 as-number 12345
R4:
bgp 12345
peer 5.0.49.9 as-number 65200
5.发布BGP路由
R5使用network命令发布8.8.8.8/32
R5:
bgp 12345
network 8.8.8.8 32
数据中心按照以下要求发布路由:
5.1 SW2使用network命令发布200.0.0.0/24和200.0.1.0/24两条路由
SW2:
bgp 65200
network 200.0.0.0
network 200.0.1.0
5.2 R7使用network命令发布100.0.0.0/24和100.0.1.0/24两条路由
R7:
bgp 65100
network 100.0.0.0 255.255.255.0
network 100.0.1.0 255.255.255.0
5.3 R6使用import-route命令发布100.0.0.0/24和100.0.1.0/24两条路由,使用以下策略:
5.3.1 ip-prefix,名称为100 index 10 匹配 100.0.0.0/24 index 20 匹配 100.0.1.0/24
5.3.2 route-policy,名称为OSPFtoBGP(注意大小写),node 10,调用prefix。
5.3.3 将OSPF引入BGP时调用策略。
R6:
ip ip-prefix 100 index 10 permit 100.0.0.0 24
ip ip-prefix 100 index 20 permit 100.0.1.0 24
#
route-policy OSPFtoBGP permit node 10
if-match ip-prefix 100
#
bgp 65100
import-route ospf 1 route-policy OSPFtoBGP
5.4 在R6和R7上将BGP引入OSPF,确认SW1学习到路由。
R6/7:
ospf 1
import-route bgp
[SW1]dis ospf routing
6.协议优先级选路
查看SW1上收到的其他AS路由如8.8.8.8/32,发现下一跳只有一个。
尝试分析原因:
此时R6/R7形成了BGP和OSPF的双点双向引入路由环境。 当R6将BGP引入到OSPF时,除SW1外,R7也会收到OSPF外部路由。 R7 从R3收到EBGP路由 协议优先级为255;从R6收到OSPF外部路由 协议优先级为150。
由于150<255,所以R7会使用OSPF外部路由。 R7上把BGP引入OSPF时,8.8.8.8/32不属于BGP路由,所以R7的引入无效。 只有当R7优选R3的EBGP路由时,才会把8.8.8.8/32引入到OSPF。 所以需要修改R7从R3收到路由的协议优先级,小于150。 R7正常后,R6会有同样的问题,所以也需要修改。
并在R6/7部署以下策略:
6.1 进入BGP进程,使用preference命令修改BGP协议优先级。
6.2 EBGP路由协议优先级为50,IBGP和本地路由使用默认值255。
R6/7:
bgp 65100
preference 50 255 255
6.3 确认SW1收到的AS外部路由可以看到R6/7两个下一跳。
[SW1]dis ospf routing
7. 权重(PrefVal)选路
在R5上查看去往AS65100的路由,发现只有R3一个边界传递了路由,而R1没有发送路由。
尝试分析原因:
dis bgp routing-table
R1上同时收到R3和R6发来的路由,R3路由起源属性为“i”,R6起源属性为“?”,故而选择了 R3作为最佳下一跳。由于ibgp邻居发来的路由不能再传递给其他ibgp邻居,所以R1没有将 路由发送给R5。
为预防此类现象发生,在所有AS边界路由器上部署以下策略进行优化:
7.1 不允许使用route-policy
7.2 修改ebgp邻居发来的路由权重(PrefVal)为1.
R1:
bgp 12345
peer 5.0.16.6 preferred-value 1
#
R2:
bgp 12345
peer 5.0.28.8 preferred-value 1
#
R3:
bgp 12345
peer 5.0.37.7 preferred-value 1
#
R4:
bgp 12345
peer 5.0.49.9 preferred-value 1
#
R6:
bgp 65100
peer 5.0.16.1 preferred-value 1
#
R7:
bgp 65100
peer 5.0.37.3 preferred-value 1
#
R8:
bgp 65200
peer 5.0.28.2 preferred-value 1
#
R9:
bgp 65200
peer 5.0.49.4 preferred-value 1
7.3 确认R5可以同时收到R1和R3发来AS65100的路由。
[R5]dis bgp routing-table
8.本地优先(LocPrf)选路
8.1 ISP访问A区数据中心优先走R1。
修改R1默认本地优先(LocPrf)为150。R5上查看路由验证。
R1:
bgp 12345
default local-preference 150
dis bgp routing-table
8.2 B区数据中心访问ISP优先走R9
修改R9默认本地优先(LocPrf)为150。SW2上查看路由验证。
R9:
bgp 65200
default local-preference 150
[SW2]dis bgp routing-table
8.3 B区数据中心访问A区数据中心优先走R8,R8上部署以下策略:
8.3.1 ip-prefix 名称100
index 10 匹配 100.0.0.0/24
index 20 匹配 100.0.1.0/24
8.3.2 route-policy 名称toSW2 node 10,引用prefix,修改本地优先(LocPrf)为180。 node 100,允许其他路由。
8.3.3 R8发送路由给SW2时调用策略。
8.3.4 在SW2查看bgp路由验证。
R8:
ip ip-prefix 100 index 10 permit 100.0.0.0 24
ip ip-prefix 100 index 20 permit 100.0.1.0 24
#
route-policy toSW2 permit node 10
if-match ip-prefix 100
apply local-preference 180
#
route-policy toSW2 permit node 100
#
bgp 65200
peer 5.22.22.22 route-policy toSW2 export
#
[SW2]dis bgp routing-table
9.MED选路
B区数据中心管理员希望外部AS数据流量从R9进入本AS。
9.1 在R5上查看AS65200的路由,发现选择R2作为最佳路径,流量会从R8进入AS65200。
尝试分析原因:
dis bgp routing-table
按照选路13条原则,前11条都完全相同,第12条比较RID小的作为最佳路径。所以R5选择 5.2.2.2
9.2 B区数据中心原管理员计划使用MED值影响AS12345优选R4作为最佳路径,使得流量从 R9进入本AS。
方案如下:
R8部署策略,增加发送给R2路由的MED值
route-policy toR2 permit node 10
apply cost 200
#
bgp 65200
peer 5.0.28.2 route-policy toR2 export
原管理员还没来得及部署该策略,就被ISP骨干网领导挖走,也没来得及完成工作交接。
B区数据中心新管理员不会使用route-policy,担心配置错误没有按照原管理员方案执行。 但是当他仔细查看R8的OSPF路由表和BGP路由表发现:
R8使用ospf学习到200.0.0.0/24和200.0.1.0/24,cost为2. R8使用bgp学习到200.0.0.0/24和200.0.1.0/24,MED为0.
于是他灵机一动,R8上只新增了两条命令,在不影响其他路由的情况下完成了这个需求。
R8:
bgp 65200
network 200.0.0.0 24
network 200.0.1.0 24
#R8直接宣告OSPF路由,OSPF的cost值会写入MED,发送给R2的路由MED自动变成2。
[R2]dis bgp routing-table
R2上看,R8的MED为2,R4MED默认为0,但是由于需求7中修改了权重(PrefVal),所以依旧选择R8。
dis bgp routing-table
R5上看,R2的MED为2,R4的MED为默认0,所以选择R4。
9.3 原管理员得知新管理员的办法后,表示这个办法看似简单,实则将来更麻烦,尝试分析原因。
新管理的方法必须逐条使用network命令通告路由,将来B区数据中心扩容,IP地址增多会导致更多的network宣告,如果忘记宣告还可能导致流量从R8进入AS65200。 原管理员的方法直接匹配所有路由,新增路由自动修改MED,具备很好的扩展性。