实验拓扑、实验编址如下图表所示,本实验模拟了一个企业网络场景, 其中R1和R2为公司总部路由器,交换机S1、S2、S3组成了总部的园区网,R3、R4、 R5为公司分部的路由器。 总部园区网中3台交换机都运行MSTP协议,用来防止二层冗余网络中的环路以及实现 不同VLAN间流量的负载分担,同时还配置了MSTP保护功能以提高网络的可靠性和安全性。 R1、R2、S2、S3运行IS-IS路由协议,以实现总部网络的互通。S2和S3使用IS-IS 下发的缺省路由访问总部之外的网络。另外,为了提高网络的安全性,还需要配置IS-IS 认证功能。 R3、R4、R5运行OSPF路由协议,以实现公司分部网络的互通。总部与分部之间 通过BGP路由协议互通,同时需要通过修改BGP路由的属性来实现流量的负载分担。
如实验编址表所示,接口IP地址基础的配置不再赘述
根据公司网络规划,在所有交换机上都创建VLAN2、VLAN3、VLAN4、VLAN 10、 VLAN20和VLAN30。
[S1]vlan batch 2 3 4 10 20 30
[S2]vlan batch 2 3 4 10 20 30
[S3]vlan batch 2 3 4 10 20 30
为了保证不同交换机上的同一个VLAN的成员之间能够相互通信,需要配置交换机 之间相连的端口为Trunk端口,并允许VLAN2、VLAN3、VLAN 10、VLAN20、VLAN 30通过。
[S1]interface GigabitEthernet Q/0/1
[S1-GigabitEthermet0/0/1]port link-type trunk
[S1-GigabitEthermet0/0/1]port trunk allow-pass vlan 2 3 10 20 30
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthemet0/0/2]port link-type trunk
[S1-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 10 20 30
[S2]interface GigabitEthernet 0/0/1
[S2-GigabitEthernet0/0/1]port link-type trunk
[S2-GigabitEthermet0/0/1]port trunk allow-pass vlan 2 3 10 20 30
[S2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/3
[S2-GigabitEthernet0/0/3]port link-type trunk
[S2-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 10 20 30
[S3]interface GigabitEthernet 0/0/2
[S3-GigabitEthernet0/0/2]port link-type trunk
[S3-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 10 20 30
[S3-GigabitEthernet0/0/2]interface GigabitEthernet 0/0/3
[S3-GigabitEthernet0/0/3]port link-type trunk
[S3-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 10 20 30
根据公司的网络规划,人事部属于VLAN2,市场部属于VLAN3,PC-1是人事部 的终端,PC-2是市场部的终端。由于人事部和市场部有业务往来,需要进行跨VLAN 通信,所以决定在交换机S1上配置VLAN聚合,这样做的好处是,既可实现VLAN2 和VLAN3之间的通信,又可以节约IP地址资源。
将PC-1添加到VLAN2,PC-2添加到VLAN3。
[S1]interface GigabitEthermet 0/0/3
[S1-GigabitEthermet0/0/3]port link-type access
[S1-GigabitEthermet0/0/3]port default vlan 2
[S1-GigabitEthermet0/0/3]interface GigabitEthermet 0/0/4
[S1-GigabitEthermet0/0/4]port link-type access
[S1-GigabitEthermet0/0/4]port default vlan 3
加入VLAN后,PC1和PC2尽管IP地址属于同一网段但还不能ping通,因为还没有网关。
在S1上配置VLAN聚合 Super VLAN,VLAN 4的IP地址为70.1.30.2/24做为PC端的网关,并配置Proxy ARP(代理地址转换协议:通过使用一个主机来作为指定设备对另一设备作出ARP请求的应答)
[S1]vlan 4
[S1-vlan4]aggregate-vlan
[S1-vlan4]access-vlan 2 to 3
[S]-vlan4]interface Vlanif 4
[S1-Vlanif4]ip address 70.1.30.2 24
[S1-Vlanif4]arp-proxy inter-sub-vlan-proxy enable
在PC端设置好网关后,PC1和PC2通过聚合VLAN网关地址实现通信
为了防止网络中的二层环路,同时对不同VLAN间的流量进行负载分担,配置所有交换机都工作在MSTP模式。
创建MSTP域RG,其中
实例1包含VLAN2和VLAN3,并以S2为根交换机。
实例2包含VLAN 10、VLAN20和VLAN30,并以S3为根交换机。
修订版本号都为1。 为了保证交换网络中加入了其他不支持MSTP的交换机后,S2仍为整个生成树的根交换机。
[S1]stp mode mstp (mstp工作模式)
[S1]stp region-configuration
[S1-mst-region]region-name RG (域命名伪RG)
[S1-mst-region]instance 1 vlan 2 3 (实例1)
[S1-mst-region]instance 2 vlan 10 20 30 (实例2)
[S1-mst-region]revision-level 1
[S1-mst-region]active region-configuration
[S2]stp mode mstp
[S2]stp region-configuration
[S2-mst-region]region-name RG
[S2-mst-region]instance I vlan 2 3
[$2-mat-region]instance 2 vlan 10 20 30
[S2-mst-region]revision-level 1
[S2-mst-region]active region-configuration
[S2]stp instance 1 priority 0
[S2]stp instance 0 priority 0 (配置交换机S2为CIST的总根)
[S3]stp mode mstp
[S3]stp region-configuration
[S3-mst-region]region-name RG
[S3-mst-region]instance 1 vlan 2 3
[S3-mst-region]instance 2 vlan 10 20 30
[S3-mst-region]revision-level 1
[S3-mst-region]active region-configuration
[S3]stp instance 2 priority 0
完成MSTP协议配置后,在实例1中,S2为根交换机,S1上的GE0/0/2为阻塞端口;在实例2 中,S3为根交换机,S1上的GE0/0/1为阻塞端口。这说明在不同实例中生成树选择的 路径是不同的,并可因此而达到负载分担的目的。
为了保证网络的稳定性和加快生成树的收敛速度,确保当由于链路拥塞或者单向链路故障导致交换机收不到来自上游交换设备的BPDU时,不会产生临时环路,在S1上启用环路保护功能。配置交换机S1的GE0/0/3和GE0/0/4为边缘端口,并配置保护功能以防止这些端口因收到不合法的BPDU而影响生成树的计算。
[S1]interface GigabitEthernet 0/0/1
[S1-GigabitEthernet0/0/l]stp loop-protection (开启路由保护模式)
[S1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[S1-GigabitEthernet0/0/2]stp loop-protection
[S1-GigabitEthernet0/0/2]q
[S1]stp bpdu-protection
[S1]interface GigabitEthernet 0/0/3
[S1-GigabitEthernet0/0/3]stp edged-port enable (配置为边缘端口模式)
[S1-GigabitEthernet0/0/3]interface GigabitEthernet 0/0/4
[S1-GigabitEthernet0/0/4]stp edged-port enable
配置完成后,可以看到边缘端口和端口保护模式已经开启,如果边缘端口收到了恶意攻击的BPDU,则交换机将关闭边缘端口,并立即通知网管系统。
公司总部内R1、R2、S2、S3运行IS-IS路由协议通信,并且都属于同一个区域,System ID由Loopback0接口地址转换而得到。
[S2]isis (默认为1)
[S2-isis-1]network-entity 49.0001.0100.0000.7007.00 (四位后面为标识ID)
[S2-isis-1]interface Vlanif 71
[S2-Vlanif71]isis enable
[S2-Vlanif71]interface Vlanif 72
[S2-Vlanif72]isis enable
[S2-Vlanif72]interface LoopBack 0
[S2-LoopBackO]isis enable
[S3]isis 1
[S3-isis-1 ]network-entity 49.0001.0100.0000.8008.00
[S3]interface Vlanif 81
[S3-Vlanif81]isis enable
[S3-Vlanif81 ]interface Vlanif 82
[S3-Vlanif82]isis enable
[S3-Vlanif82]interface Loopback 0
[S3-LoopBack0]isis enable
[R1]isis 1
[R1-isis-1]network-entity 49.0001.0100.0000.1001.00
[R1-isis-1]interface GigabitEthernet 0/0/0
[R1-GigabitlEthermetO/0/0]isis enable
[R1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]isis enable
[R1-GigabitEthernet0/0/2]interface GigabitEthernet 4/0/0
[R1-GigabitEthernet4/0/0]isis enable
[R1-GigabitEthernet4/0/0]interface Loopback 0
[R1-LoopBackO]isis enable
[R2]isis 1
[R2-isis-1]network-entity 49.0001.0100.0000.2002.00
[R2-isis-1]interface GigabitEthernet 0/0/0
[R2-GigabitEthemet0/0/0]isis enable
[R2-GigabitEthernet0/0/0]interface GigabitEthermet 0/0/1
[R2-GigabitEthernet0/0/1]isis enable
[R2-GigabitEthernet0/0/1]interface GigabitEthernet 4/0/0
[R2-GigabitEthernet4/0/0]isis enable
[R2-GigabitEthernet4/0/0]interface Loopback 0
[R2-LoopBackO]isis enable
用display isis peer查看IS-IS邻居关系,以R1为例
接下来,将S2和S3中VLANIF 10、VLANIF 20、VLANIF 30接口所涉及的用户网 段引进IS-IS中。另外,为了减少路由条目,需要将连续网段的路由进行聚合。
首先创建各VLAN接口的IP地址,然后引入IS-IS中,且对连续的路由进行聚合
[S2]interface Vlanif 10
[S2-Vlanif10]ip address 70.1.10.1 24
[S2-Vlanifl0]interface Vlanif 20
[S2-Vlanif20]ip address 70.1.20.1 24
[S2-Vlanif20]interface Vlanif 30
[S2-Vlanif30]ip address 70.1.30.1 24
[S2-Vlanif30]q
[S2]isis 1
[S2-isis-1]import-route direet
[S2-isis-1]summary 70.1.0.0 255.255.224.0
[S3]interface Vlanif 10
[S3-Vlanif10]ip address 80.1.10.1 24
(S3-Vlanifl0)interface Vlanif 20
[S3-Vlanif20]ip address 80.1-20.1 24
[S3-Vlanif20]interface Vlanif 30
[S3-Vlanif30]ip address 80.1.30.1 24
[S3-Vlanif30]q
[S3]isis 1
[S3-isis-] ]import-route direct
[S3-isis-1]summary 80.1.0.0 255.255.224.0
使用display ip routing-table命令查看路由表,可以看到,R1已经通过IS-IS接收到了由S2和S3发布的、被聚合为19位掩码的用户网段的路由。
以R1为例:
接下来,为了减少LSP数量以优化网络,修改所有IS-IS接口的网络类型为P2P, 这样就不会选举DIS(广播环境中ISIS需要选举路由器作为DIS,用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP,用来描述这个网络上有哪些网络设备。)
首先查看以太网接口下选举DIS的情况,此处仅以S2为例,可以看到在以太网链路上,缺省情况是进行了DIS选举
可在S2的IS-IS链路状态数据库中,存在着DIS产生的LSP。
修改网络类型为P2P,避免选举DIS。
[S2]interface Vlanif 71
[S2-Vlanif71]isis circuit-type p2p
[S2-Vlanif71]interface Vlanif 72
[S2-Vlanif72)isis circuit-type p2p
[S3]interface Vlanif 81
[S3-Vlanif81]isis circuit-type p2p
[S3-Vlanif81]interface Vlanif 82
[S3-Vlanif82]isis circuit-type p2p
[R1 ]interface GigabitEthernet O/0/0
[R1-GigabitEthermet0/0/0]isis circuit-type p2p
[R1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/2
[R1-GigabitEthermet0/0/2]isis circuit-type p2p
[R1-GigabitEthernet0/0/2]interface GigabitEthemet 4/0/0
[R1-GigabitEthermet4/0/0]isis circuit-type p2p
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]isis circuit-type p2p
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]isis circuit-type p2p
[R2-GigabitEthernet0/0/1]interface GigabitEthernet 4/0/0
[R2-GigabitEthernet4/0/0]isis circuit-type p2p
配置完成后,刷新IS-IS链路状态数据库
reset isis all
Warning: The 1S-1S process(es) will be reset. Continue?[Y/N]y
查看IS-IS接口,没有进行DIS的选举;
查看IS-IS链路状态数据库,链路状态数据库也没有了DIS的LSP,
这样就减小了链路状态数据的大小,节约了存储资源和处理器资源。
S2和S3不运行BGP路由协议,所以为了使S2和S3能够访问外网,需要在路由器 R1和R2上配置IS-IS下发缺省路由。
[R1 ]isis 1
[R1-isis-1]default-route-advertise
[R2]isis 1
[R2-isis-1]default-route-advertise
S2的路由表有了从IS-IS接收到的缺省路由,并采用了负载分担方式
为了提高网络安全性,R1、R2、S2、S3均需要相互通过认证后才能交换IS-IS路由 信息。配置认证模式为MD5认证,密钥为huawei。
[S2]isis
[S2-isis-1]area-authentication-mode md5 huawei
[S3]isis
[S3-isis-1 ]area-authentication-mode md5 huawei
[R1]isis 1
[R1-isis-1 ]area-authentication-mode md5 huawei
[R2]isis 1
[R2-isis-1 ]area-authentication-mode md5 huawei
根据公司分部网络的设计,配置分部的所有路由器运行OSPF协议,路由器的 Router-ID采用Loopback 0接口的IP 地址。
[R3]ospf router id 10.0.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.35.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[R3-0spf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[R4]ospf router id 10.0.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[R5]ospf router id 10.0.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 10.0.35.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 10.0.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 20.0.5.5 0.0.0.0
以R3为例,查看OSPF邻居信息。可以看到,R3与R5、R3与R4都已经成功建立起了OSPF邻接关系。
在R1、R2、R3、R4、R5上配置BGP协议。R1与R3、R2与R4采用直连物理接 口建立EBGP邻居关系;R1与R2使用Loopback0接口建立IBGP邻居关系;R3、R4、 R5之间使用Loopback 0接口建立IBGP邻居关系。配置R1和R2的Router-ID为其 Loopback 0接口的地址。
[R1]bgp 100
[R1-bgp]router id 10.0.1.1
[R1-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]peer 10.0.2.2 as-number 100
[R1-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R2]bgp 100
[R2-bgp]router id 10.0.2.2
[R2-bgp]peer 10.0.24.4 as-number 200
[R2-bgp]peer 10.0.1.1 as-number 100
[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3]bgp 200
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]peer 10.0.4.4 as-number 200
[R3-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R3-bgp]peer 10.0.5.5 as-number 200
[R3-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R4]bgp 200
[R4-bgp]peer 10.0.24.2 as-number 100
[R4-bgp]peer 10.0.3.3 as-number 200
[R4-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R4-bgp]peer 10.0.5.5 as-number 200
[R4-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R5]bgp 200
[R5-bgp]peer 10.0.3.3 as-number 200
[R5-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R5-bgp]peer 10.0.4.4 as-number 200
[R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0
在R3上查看BGP邻居信息,可以看到BGP邻居关系一切正常
为了将公司总部的路由信息通告给公司分部,在R1和R2上同时将IS-IS的路由信息引进BGP进程。
[R1]bgp 100
[R1-bgp]import-route isis 1
[R2]bgp 100
[R2-bgp]import-route isis 1
查看R3的IP路由表中的BGP路由信息,可以看到R3已经通过BGP协议接收到了关于总包部的路由信息
查看R5的IP路由表中的BGP路由信息,会显示没有任何信息
直接查看R5的BGP路由表。
R5的BGP路由表中是存在总部路由的,然而这些路由却都是无效的(路 由条目的前面没有带星号),原因是这些路由的下一跳R1(10.0.13.1)和R2(10.0.24.2) 对于R5来说都是不可达的。解决这个问题的方法有很多,下面采用在R3和R4上引入 直连路由的方法,使R5知道该如何去往R1(10.0.13.1)和R2(10.0.24.2)
[R3]bgp 200
[R3-bgp]import-route direct
[R4]bgp 200
[R4-bgp]import-route direct
查看R5的IP路由表,可以看到,R1和R2可达之后,R5便把相应的路由从BGP路由表中添加进了自己 的IP路由表
在分部发现 R3和R4上引入直连路由后,R3和R4的IP路由表发生了变化。
R3有些总部的路由是来自R3的IBGP邻居。
R4有些总部得到路由来自R4的IBGP邻居。
在R3上查看BGP路由表,查找问题原因,可以看到,因为RI和R2上IS-IS路由条目的Cost值不一样,引入BGP时造成了 MED值不一样,最后导致R3会偏好一些来自IBGP的总部路由。
现希望R3上所获得的总部路由全部来自Rl,R4上所获得的总部路由全部来自R2,这样便可以使得从 公司分部去往公司总部的报文不会在公司分部内部弯绕。实现这一需求的方法有很多,如,在R1和R2上将IS-IS路由引入BGP时,可以设定MED的值。
[R1]bgp 100
[R1-bgp]import-route isis 1 med 0
[R2]bgp 100
[R2-bgp]import-route isis I med 0
配置完成后查看R3、R4的IP路由表,
R3上接收到的总部路由现在都来自R3的EBGP邻居R1。
R4上接收到的总部路由现在都来自R4的EBGP邻居R2。
为了让公司总部知道公司分部的路由,在R3和R4上把OSPF路由引进BGP进程。
[R3]bgp 200
[R3-bgp]import-route ospf 1
[R4]bgp 200
[R4-bgp]import-route ospf 1
考虑到公司分部网络的后续扩展问题,为了避免扩展后有太多的IBGP对等体关系需要建立,决定配置R3为BGP路由反射器。这样,如果公司分部网络中加入了新的 BGP路由器,只需将新加入的路由器配置为BGP路由反射器R3的客户端即可。
[R3]bgp 200
[R3-bgp]peer 10.0.4.4 reflect-client
[R3-bgp]peer 10.0.5.5 reflect-client
在之前的配置中,R1和R2强制下发了IS-IS缺省路由。如果R1与R3之间的链路 发生了故障,则S2去往公司分部的报文会继续发给R1,再由R1转发给R2,这样就产 生了次优路径。如果R1与R2之间的链路也断掉了,S2去往公司分部的报文会继续发 给R1,而此时R1要去往分部只有经过S2-R2-R4-R5或S3-R2-R4-R5,这样一来,就会 有部分报文在Rl和S2之间来回转发,形成环路。 为了防止次优路径和环路的产生,在R1和R2上配置Router-Policy,当R1和R2 发布缺省路由时加上此Router-Policy作为限制条件。
[R1]acl 2001
[R1-acl-basic-2001]rule permit source 10.0.13 0 0
[R1-acl-basic-2001]route-policy isis permit node 10
[R1-route-policy]if-match acl 2001 (创建一条空的acl)
[R1-route-policy]isis 1
[R1-isis-1]default-route-advertise route-policy isis
[R2]acl 2001
[R2-acl-basic-2001]rule permit source 10.0.24.0 0
[R2-acl-basic-2001]route-policy isis permit node 10
[R2-route-policy]if-match acl 2001 (创建一条空的acl)
[R2-route-policy]isis 1
[R2-isis-1]default-route-advertise route-policy isis
断掉R1与R3之间的链路后,查看S2和S3的IP路由表,然后恢复链路。 以S2为例,
可以看到,当R1与R3之间的链路断掉后,由于添加了策略,R1不再下发缺省路由,只有R2下发了缺省路由。S2的IP路由表中的缺省路由就来自R2(10.0.27.2)
现在,公司分部发现路由器R5上去往总部用户网段的路由下一跳都为R4。为了实现从R5去往总部的流量能够负载分担,在R5上修改BGP路由的Local Preference属性,从而保证R5通过R3去访问S2所连接的总部用户网段,通过R4去访 问S3所连接的总部用户网段。(还可以修改其他值Next Hop、Locprf等,根据实际情况修改达到负载均衡)
[R5]acl 2001
[R5-acl-basic-2001]rule permit source 80.1.0.0 0.0.31.255
[R5-acl-basic-2001 ]route-policy fuzai permit node 10
[R5-route-policy]if-match acl 2001
[R5-route-policy]apply local-preference 200
[R5-route-policy]route-policy fuzai permit node 20
[R5-route-policy]bgp 200
[R5-bgp]peer 10.0.4.4 route-policy fuzai import
查看R5的BGP路由表,可以看到,在R5上接收来自R4发送的80.1.0.0/19路由时,Local Preference的值已 被增大为200。
查看R5的IP路由表中的BGP路由信息,可以看到,R5的BGP路由表中关于80.1.0.0/19的最优路由(即下一跳为10.0.24.2 的那条路由)已经被添加进入了IP路由表。
R5的Loopback 0接口模拟了公司分部的研发部门网段,该研发部门只允许被总部 访问,不允许被公司其他分部或其他公司访问。因此,管理员决定在R3和R4上通过修 改BGP路由的团体属性,使研发部门网段20.0.5.5被通告给总部路由器R1和R2的时 候带上团体属性No-Export。
[R3]acl 2002
[R3-acl-basic-2002]rule permit source 20.0.5.5 0
[R3-acl-basic-2002]quit
[R3]route-policy 1 permit node 10
[R3-route-policy]if-match acl 2002
[R3-route-policy]apply community no-export
[R3-route-policy]route-policy I permit node 20
[R3-route-policy]bgp 200
[R3-bgp]peer 10.0.13.1 route-policy I export
[R3-bgp]peer 10.0.13.1 advertise-community
[R4]acl 2002
[R4-acl-basic-2002]rule permit source 20.0.5.5 0
[R4-acl-basic-2002]quit
[R4]route-policy 1 permit node 10
[R4-route-policy]if-match acl 2002
[R4-route-policy]apply community no-export
[R4-route-policy]route-policy I permit node 20
[R4-route-policy]bgp 200
[R4-bgp]peer 10.0.24.2 route-policy I export
[R4-bgp]peer 10.0.24.2 advertise-community
在Rl和R2上查看带有团体属性的路由条目,这里仅以R1为例,可以看到,R1上关于20.0.5.5/32这条路由携带了团体属性No-Export,因此,它的 传递范围将被限制在AS100中。
至此,整个实验网络的分析和配置工作便告结束。