今天下午去了一个公司,叫我过去的目的是帮他们划一下VLAN,本来想到应该还是很简单的,但是没有想到想了一下午的办法才想出来。感兴趣的话来试试看你能够花多少时间把这个方案想出来。



需求:



他们以前没有划分VLAN,用的一台Cisco 2918二层交换机,但是他们没有做任何配置,现在由于他们的有一部分计算机(192.168.1.0/24)配置比较差,当交换机发送一个广播包的时候就导致部分计算机假死机状态,于是他们买了一台Cisco 3560三层交换机想把192.168.1.0/24这个网段与其他网段(<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />10.1.1.0/24,10.1.2.0/24)的广播包进行分离开来。



以下是对VLAN划分的一些要求:



1、  要实现在SW1上面192.168.1.0/24这个网段能够正常访问10.1.1.0/24与10.1.2.0/24这两个网段。



2、  10.1.1.0/24与10.1.2.0/24这两个网段要能够正常访问SW2以外的网络。(也就是说10.1.1.0/24与10.1.2.0/24这两个网段的默认网关还得是10.1.1.1/24或者10.1.2.1/24才行。因为很多详细路由在SW2上面才有。)



3、  不能让SW1以外的计算机访问SW1中192.168.1.0/24这个网段。



4、  SW2内的计算机能够访问SW1的服务器以及10.1.1.0/24与10.1.2.0/24这两个网段的计算机。



5、  SW1中只允许10.1.1.2/24与10.1.2.2/24这两台PC能够访问192.168.1.0/24的网段。



<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



拓扑图如下:



交换机支持多vlan管理 多交换机上的vlan划分实验_IP



需求分析:



 以前网络的分析:



从总部出来给了一根光纤过来,而这根光纤接入到总部交换机的VLAN20中。VLAN20的SVI地址是10.1.1.1/24,10.1.2.1/24这两个,在原使情况下10.1.1.0/24与10.1.2.0/24这两个网段要访问192.168.1.0/24的计算机,他们以前的解决方案是在192.168.1.0/24这个网段配置双IP地址,也就是说再给他们配置一个10.1.1.0/24或者10.1.2.0/24。10.1.1.0/24或者10.1.2.0/24这两个网段要访问总部以外的网段网关必须指定10.1.1.1/24,10.1.2.1/24。



现在的需求分析:



从上面我们已经知道他们最主要想利用VLAN来隔离我们的广播域,但需要让我们SW1上的192.168.1.0/24与SW1上的10.1.1.2/24与10.1.2.2/24能够正常访问,还不能影响SW1上面的10.1.1.0/24与10.1.2.0/24访问SW2以及SW2以外的网络。



从上面的需要我们来分析一下,要隔离广播域我们都知道使用交换机上面的VLAN,这个很好解决,但是划了VLAN以后,要使不同VLAN间进行互相访问我们就必须给这个VLAN的SVI地址设置一个IP。当我们PC上面将网关设置成为自己所在VLAN下面的SVI地址,这样在开启三层交换机的路由功能就能够互相访问了,但是在这里我们又遇见一个问题?那就是从SW2过来的光纤给了两个IP地址给我们10.1.1.1/24,10.1.2.1/24。而在SW1上面的10网段中的计算机要访问外面的网络就必须将这两个地址设置成网关才行。这很明显它是一个二层的接口,也就是说在SW2上面划分了一个VLAN,而这根光纤就接在该VLAN下面的,而该VLAN的SIV地址就是10.1.1.1/24,10.1.2.1/24。而我们现在只能利用SW1来进行做配置,SW2在总部我们动不到。我们现在能动的也就只有SW1上面。



现在我想的办法就是,在SW1上面划分两个VLAN,VLAN20用于接192.168.1.0/24这个网段,VLAN30用于接10.1.1.0/24与10.1.2.0/24。VLAN20的SVI地址192.168.1.254/24,而在VLAN30我们给它的SVI地址设置两个IP,10.1.1.254/25与10.1.2.254/24。这样它们两个VLAN间通过这个SVI地址就可以互相进行通信了。



但是SW1中两个VLAN可以进行通信,现在又出现一个新的问题,我们以前10网段的PC,IP地址必须设置成10.1.1.1/25与10.1.2.1/24才能访问SW2以及它以外的网络,现在我们将它的网关设置成10.1.1.254/25与10.1.2.254/24以后,就不能访问SW2以外络,后面我想了一个办法就是10网段的PC的网关还是设置它以前的(10.1.1.1/24,10.1.2.1/2),而在要访问192.168.1.0/24这个网段的PC,在PC上的“命令提示符”下面加一条软路由,



> route add 192.168.1.0 mask 255.255.255.0 10.1.1.254
 
  
         destination^      ^mask       ^gateway



这样当我们10网段的PC去往192.168.1.0这个网段的时候走10.1.1.254/24这个网关,而默认走10.1.1.1/24出来,这样就达到我们预期的目的了,但是没有加软件的计算机就不能够访问我们的192.168.1.0的网段了。



然后他们还要限制某几台10网段中的PC去访问192.168.1.0/24的网络,前面我们提到在PC上面添加软路由就可以访问我们的192.168.1.0/24的网络,那有的人就会想我不让他们访问的就不加嘛,那某些人他就想要来访问我们192.168.1.0/24的网络的时候,自己添加一条不就能够访问了,于是我使用了ACL来对他们做一个限制。只允许固定10网段中的几台PC可以访问192.168.1.0/24,其他10网段中的计算机即使添加了软路由还是不能够访问,这样就达到了我们的效果了。



以下是配置文档:




Switch#conf t


Enter configuration commands, one per line.  End with CNTL/Z.


Switch(config)#vlan 20   //创建VLAN20


Switch(config-vlan)#exit


Switch(config)#vlan 30   //创建VLAN30


Switch(config-vlan)#exit


Switch(config)#int range fa0/1 -14    //进行fa0/1-14这一段接口


Switch(config-if-range)#switchport mode access  //将交换机端口设置成访问模式


Switch(config-if-range)#switchport access vlan 20  //将该端口加入到vlan20当中


Switch(config-if-range)#exit


Switch(config)#int range fa0/15 -24    //进行fa0/15-24这一段接口


Switch(config-if-range)#switchport mode access    //将交换机端口设置成访问模式


Switch(config-if-range)#switchport access vlan 30   //将该端口加入到vlan30当中


Switch(config-if-range)#exit


Switch(config)#int vlan 20    //进入VLAN20的SVI接口


Switch(config-if)#ip add 192.168.1.254 255.255.255.0 //给访问接口配置一个IP地址做为网关


Switch(config-if)#exit


Switch(config)#int vlan 30   进入VLAN20的SVI接口


Switch(config-if)#ip add 10.195.93.254 255.255.255.0//给访问接口配置一个IP地址做为网关


Switch(config-if)#ip add 10.195.91.254 255.255.255.0 sec//给访问接口配置第二个IP地址做为网关


Switch(config-if)#exit




Switch(config)#ip routing  //开启我们的路由功能


Switch(config)# access-list 100 permit ip 10.1.1.2 0.0.0.0 192.168.1.0 255.255.255.0     //允许10.1.1.2访问192.168.1.0/24


Switch(config)# access-list 100 permit ip 10.1.2.2 0.0.0.0 192.168.1.0 255.255.255.0     //允许10.1.2.2访问192.168.1.0/24


Switch(config)# access-list 100 deny ip any any  //其他的都拒绝






Switch(config)#int vlan 20   //进入VLAN20的SVI接口


Switch(config-if)#ip access-group 100 in   //调用我们刚才建立的ACL100方向使用进,因为我们是对来来的数据进行检查。


Switch(config-if)#exit



以上就是我在交换机上面所做的配置。下面来看看PC上面如何设置呢?



交换机支持多vlan管理 多交换机上的vlan划分实验_路由表_02



在PC上面打开“命令提示符”,输入“route print”可以进行查看当前PC上面的路由表。



交换机支持多vlan管理 多交换机上的vlan划分实验_xml_03



从上图我们可以看见我们没有去往192.168.1.0/24的网段,而默认路由走的是10.1.1.1/24去了,所以在这里我们就必须自己手功添加一条路由。



交换机支持多vlan管理 多交换机上的vlan划分实验_路由表_04



注意在WIN7下面我们必须以管理员的身份才能进行添加哦。从上图我们可以看见已经添加成功了,我们再来查看一下PC上面的路由表看看有没有去往192.168.1.0/24的网络,是不是走的10.1.1.254/24这个地址。



交换机支持多vlan管理 多交换机上的vlan划分实验_xml_05



看看上面的路由表里面是不是有一条192.168.1.0/24走的10.1.1.254。而这时候我们去访问192.168.1.0/24这个网段就能够正常访问了。



这里昨天去调试的时候忘了截图了,所有测试图片就没有了,不过我可以给大家保证的是,这种方法已经是成功了的。



总结:



通过这一次的调试,我从中获得了一些知识,我们在解决问题的时候可以把自己的思维法发散一下,不要局限在网络设备上面。但是在上面的这个实例中,大家要注意的是我们的软路由,当我们重启一下计算机这条软路由说不一定就不存在了,我们必须自己手动在添加一下。


转载于:https://blog.51cto.com/ltyluck/219171