Vlan配置详解之单臂路由

文章包括下面内容:
配置VLAN;配置VTP;用路由器的快速以太网口提供VLAN间路由;在路由器上配置DHCP为各VLAN分配IP
实验所用硬件:
Cisco3600+NM-16ESW交换模块
拓扑图如下:
Vlan配置详解之单臂路由
图中两台交换机和一台路由器都是采用Cisco3600+NM-16ESW
逻辑规划:
VLAN 2 IP段是192.168.1.0/24 成员PC1PC4IP分别为192.168.1.11192.168.1.44;成员网关是192.168.1.1
VLAN 3IP段是192.168.2.0/24 成员PC2PC3IP分别为192.168.2.22192.168.2.33;成员网关是192.168.2.1
VLAN 1IP段是192.168.0.0/24 成员SW1SW2IP分别为:192.168.0.2 192.168.0.3;成员网关是192.168.0.1
一、            配置PC
照上述IP地址方案将PCIP配置好。
二、            配置交换机
配置SW1VTP Server
Router>en
Router#conf t
Router(config)#no cdp run //关闭CDP协议
Router(config)#no ip domain lookup //关闭名称解析
Router(config)#no ip routing //关闭路由功能否则会使VLAN1和其它PC不能通信。
Router(config)#line console 0
Router(config-line)#logging synchronous //控制台信息同步,避免干扰
Router(config-line)#exec-timeout 0 0  //永不超时,但离开控制台时要即时关闭
Router(config-line)#exit
Router(config)#hostname SW1
SW1(config)#interface range fa0/0 - 15
SW1(config-if-range)#shutdown  //同时关闭16个端口
SW1(config)#interface range fa0/1 - 2
SW1(config-if-range)#no shut
SW1(config-if-range)#switchport mode access //fa0/1fa0/2口激活并设为访问口,因为连接的是PC
SW1(config)#int range fa0/0 , fa0/15
SW1(config-if-range)#no shut   //配置到这一步的时候PC1PC4PC2PC3是可以相互通信的,因为此时还没有划分VLAN,默认所有PC都在VLAN 1里。所以在一个逻辑网段的PC可以相互通信,即使不在一个逻辑网段,只要将地址人为改成一个逻辑网段就可以相互通信了,例如这时PC2将地址从192.168.2.22改成192.168.1.22这样PC2就可以和PC1PC4通信了,由此可见不划分VLAN的情况下想从逻辑上分隔不同部门是不安全的。
SW1(config-if-range)#switchport mode trunk //fa0/0fa0/15激活并设为中继口,因为一个连的是路由器,一个连的是SW2。在该平台上配置的中继后,默认会采用802.1Q封装。如果两台设备默认封装不同要手动设置。
SW1#vlan database  //进入VLAN数据库模式以配置VLAN相关信息
SW1(vlan)#vtp server //SW1设成Server
SW1(vlan)#vtp domain Cisco //VTP域名设成Cisco,名称可以任意
SW1(vlan)#vtp password abc //为了域的安全设置密码,密码不同的成员不可以加入该域,生产环境中要设置复杂密码。
SW1(vlan)#vtp pruning //启用VTP修剪
SW1(vlan)#vlan 2 name bjxh //增加VLAN 2 名称为bjxh,名称可以任意
SW1(vlan)#vlan 3 name xhce //增加VLAN3
SW1(vlan)#exit  //退出VLAN配置模式,注意,这里一定要用exit退出才能使设置生效。
SW1(config)#int vlan 1
SW1(config-if)#ip address 192.168.0.2 255.255.255.0
SW1(config-if)#no shut
SW1(config-if)#exit
SW1(config)#ip default-gateway 192.168.0.1
 分配端口
SW1(config)#int fa0/1
SW1(config-if)#switchport access vlan 2
SW1(config-if)#int fa0/2
SW1(config-if)#switchport access vlan 3  //配置到这里的时候各PC之间应该都不能访问了,因为这时候SW2还没有从VTP Server上得到VLAN信息,所以默认还是只有一个VLAN 1,而SW1上已经有了三个VLAN所以各PC间都是不通的。
配置SW2VTP Client
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#no cdp run //关闭CDP协议
Router(config)#no ip domain lookup //关闭名称解析
Router(config)#no ip routing //关闭路由功能
Router(config)#line console 0
Router(config-line)#logging synchronous //控制台信息同步,避免干扰
Router(config-line)#exec-timeout 0 0  //永不超时,但离开控制台时要即时关闭
Router(config-line)#exit
Router(config)#hostname SW2
SW2(config)#int range fa0/0 - 15
SW2(config-if-range)#shutdown
SW2(config-if-range)#exit
SW2(config)#int r
SW2(config)#int range fa0/0 - 1
SW2(config-if-range)#no shutdown
SW2(config-if-range)#switchport mode access //连接的是PC3PC4
SW2(config)#int fa0/15
SW2(config-if)#no shut
SW2(config-if)#switchport mode trunk //连接的是SW1
SW2#vlan database
SW2(vlan)#vtp client
SW2(vlan)#vtp domain Cisco
SW2(vlan)#vtp password abc
SW2(vlan)#vtp pruning
SW2(vlan)#exit  //配置到这里的时候SW2应该可以得到VLAN信息了,但各PC间还是不能通信,因为SW2上的相关端口还没有分配到对应的VLAN里。注意:客户端只能从服务器端得到VLAN信息,但不会得到端口分配信息。
SW2(config)#int vlan 1
SW2(config-if)#ip address 192.168.0.3 255.255.255.0
SW2(config-if)#no shut
SW2(config-if)#exit
SW2(config)#ip default-gateway 192.168.0.1
SW2(config)#int fa0/0
SW2(config-if)#switchport access vlan 3
SW2(config-if)#int fa0/1
SW2(config-if)#switchport access vlan 2 //配置到这里的时候同一个VLAN的成员之间可以相互通信了,不同VLAN成员间依然不能通信。
 
路由器配置:
Router>
Router>en
Router#conf t
Enter configuration commands, one per lin
Router(config)#no cdp run
Router(config)#no ip domain lookup
Router(config)#line console 0
Router(config-line)#logging synchronous
Router(config-line)#exec-timeout 0 0
Router(config-line)#exit
Router(config)#int fa0/0
Router(config-if)#no ip address
Router(config-if)#no shut  //主接口一定要激活,否则子接口激不活
Router(config-if)#int fa0/0.1
Router(config-subif)#encapsulation dot1Q //一定先配置封装类型,再配置IP,封装类型要和SW1的fa0/0口一致
Router(config-subif)#ip address 192.168.0.1 255.255.255
Router(config-subif)#no shut
Router(config-subif)#int fa0/0.2
Router(config-subif)#encapsulation dot1Q 2
Router(config-subif)#ip address 192.168.1.1 255.255.255
Router(config-subif)#no shut
Router(config-subif)#int fa0/0.3
Router(config-subif)#encapsulation dot1Q 3
Router(config-subif)#ip address 192.168.2.1 255.255.255
Router(config-subif)#no shut //配置到这里的时候不同VLAN成员间也可以通信了,整个网络都是畅通的。VLAN间路由配置完成。如果还想限制某些访问可以配置ACL。
 
 在上面的配置中,客户机都是手动指定的IP地址,如果VLAN里成员多的话,维护起来工作量会很大。我们可以在路由器上为各VLAN配置DHCP地址池,为各VLAN自动分配IP和相信息。
Router(config)#ip dhcp pool v2 //建一个地址池名称叫v2,名称任意
Router(dhcp-config)#network 192.168.1.0 255.255.255.0 //分配地址范围
Router(dhcp-config)#default-router 192.168.1.1 //分配默认路由,也是相应VLAN的网关地址
Router(dhcp-config)#lease 5 //租约5天
Router(dhcp-config)#exit
Router(config)#ip dhcp pool v3
Router(dhcp-config)#network 192.168.2.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.2.1
Router(dhcp-config)#lease 5
Router(dhcp-config)#exit
Router(config)#ip dhcp excluded-address 192.168.0.1 //排除不分配的地址,这些地址通常都是网关地址。
Router(config)#ip dhcp excluded-address 192.168.0.2
Router(config)#ip dhcp excluded-address 192.168.0.3
Router(config)#ip dhcp excluded-address 192.168.1.1
Router(config)#ip dhcp excluded-address 192.168.2.1
 
在交换机上为各VLAN配置IP帮助者地址,以通过该地址访问DHCP,该地址可以是任意的DHCP服务器地址,例如是一台WindowsDHCP服务器,只要该服务器是可以被访问的,而且该DHCP上定义了相关VLAN的地址域信息,否则VLAN成员会得不到正确的IP地址。
SW1(config)#int vlan 2
SW1(config-if)#ip helper-address 192.168.0.1 //这里设置成VLAN 1 的网关地址,可以设置成用意VLAN的网关地址。
SW1(config-if)#int vlan 3
SW1(config-if)#ip helper-address 192.168.0.1
在客户机上将IP设置成自动获取就可以得到正确的地址了!在上面的配置中还可以配置其它参数
Router(dhcp-config)#dns-server 202.106.196.115 //分配DNS
Router(dhcp-config)#client-identifier MAC //MAC绑定
 
可以根据具体情况配置你的网络。这是采用单臂路由器配置VLAN间路由的方法。这种方法容易出现瓶颈,就是当然VLAN数目多,且成员多而路由器以太口的速率又受到限制时就容易出现拥塞。为了解决这种问题我们可以采用三层交换来提供VLAN间的路由。

本文转自Y.weisheng 51CTO博客,原文链接:http://blog.51cto.com/yuan2/95766,如需转载请自行联系原作者
上一篇:CSS实现中间粗两头细的线条


下一篇:CCNP精粹系列之十五---实现单交换机VLAN间的通信