这要求到底是啥呢?咱先来了解一下:
要求如下:
1、项目在三层设备上使用静态路由,实现网络的互通;
2、LSW1中存在2个广播域vlanA和vlanB
3、LSW2中存在2个广播域vlanC和vlanD
4、三层设备的互联地址规划如图所示,按要求正确配置;
5、三层设备只能使用静态路由,其他路由都不允许使用;
6、VLAN A、B访问VLAN C、D的路径为AR1-AR2-LSW1
7、VLAN C、D访问VLAN A、B的路径为LSW1-AR3-AR1
8、按照项目要求实现LSW1和LSW2的网络互通。
你要仔细读读,你会发现他提的这个要求实在很扯蛋。和现网环境中大部分客户的要求都是完全背道而驰的。其中第6条、第7条要求,如果在图中描述出路径来,则是:
并且,这个题目里面也存在一个致命问题。抛开故意造一个来回路径不一致的垃圾需求,就是A、B访问C、D,经过LSW1-AR1-AR2到LSW2,而下面的AR3方向也没考虑要作为备份路径存在。如果此时LSW1-AR1-AR2-LSW2之间的任意一条链路断开,则LSW1-AR1-AR3-LSW2没法作为备份路径。这等于是在网络中埋了一个隐患。
而这个出题老师居然用“项目”这个字眼来命题。
关键是,既然是个“项目”,那配置这些网络设备就成了“工程”了。故意造一个来回路径不一致,并且没有考虑备用链路,那这就是一个妥妥的“豆腐渣工程”。如果这位出题老师自己学艺不精,还妄想以自己的“淫威”压制学生,迫使学生接受他的错误理论,这简直就是社会的一大公害!
那正确的设计方式是啥呢?
如果要结合着业务分流,且保证链路冗余的情况下,这个需求应该是这么来做。我在这里只说关键点:
VLAN A访问VLAN C,优先经过LSW1-AR1-AR2到LSW2, LSW1-AR1-AR3-LSW2为备份路径;
VLAN B访问VLAN D,优先经过LSW1-AR1-AR3到LSW2, LSW1-AR1-AR2-LSW2为备份路径;
画成示意图,就是:
而链路备份和故障场景的预期流量走向,则是下面两张图:
废话不多说了,我们直接上实验吧。
这次,先上Cisco模拟器的实验,直接上EVE-NG
先来配置LSW1,这个设备的配置比较简单。它就是一个二层设备,把Ethernet 0/0配置为Trunk,透传VLAN 101、102,再把Ethernet 0/1加入VLAN 101,把Ethernet 0/2加入VLAN 102就完成了。
先把AR1、AR2、AR3、LSW2的接口互联IP地址配置完:
再在AR1和LSW2上配置VLAN-IF的网关
地址配置好了以后,就来写路由了。在AR1上,去往PC-C的10.134.201.0/24要优先走AR2,备选AR3。所以在写静态路由的时候,下一跳地址是走AR2的,AD值就要小于走AR3的;
反过头来,去往PC-D的10.134.202.0/24要优先走AR3,所以这段路由走AR3的AD值要小于走AR2的。
再看LSW2上的静态路由,在LSW2上,去往PC-A的10.134.101.0/24要优先走AR2,备选AR3。所以在写静态路由的时候,下一跳地址是走AR2的,AD值就要小于走AR3的;
反过头来,去往PC-B的10.134.20210/24要优先走AR3,所以这段路由走AR3的AD值要小于走AR2的。
还有剩下的AR2和AR3,其实这俩设备,都是往AR1方向是10.134.101.0/24和10.134.102.0/24,往LSW2方向是10.134.201.0/24和10.134.202.0/24,只有一个反向,无需配置浮动静态路由。则AR2和AR3上配置静态路由的命令如下:
最后,将PC-A、PC-B、PC-C、PC-D的地址配置好:
然后让PC-A和PC-C互相Traceroute,发现可以通信且来回路径一致,都走的AR1-AR2-LSW2,再让PC-B和PC-D互相Traceroute,发现可以通信且来回路径一致,都走的AR1-AR3-LSW2。
断开AR2和AR1之间的链路,在模拟器上的操作是把AR1的Ethernet 0/0和AR2的Ethernet 0/0接口手动关闭。
但此时,你会发现PC-A和PC-C之间相互无法ping通了!
继续尝试我们可以知道,如果PC-A和PC-C的优选链路断开任意一条,比如AR1-AR2或者AR2-LSW2任意一条链路断开时, PC-A和PC-C的业务流量立刻会发生中断,并未按照我们的预期目标去走AR1-AR3-LSW2这条备份链路,这是什么原因造成的呢?
要解决这个问题,我们首先要仔细看PC-A和PC-C互访的Traceroute信息:
再看一眼AR1和LSW2的路由表:
在AR1上,因到AR2的链路已经断开,所以走PC-C只能走AR-3的方向。但是反过来,LSW2到AR2的链路还是完好的,所以从PC-C访问PC-A的流量还是被发送到AR2上,而此时AR2与AR1的链路是断开的,所以流量就发生中断了。