文章包括下面内容:

配置 VLAN ;配置 VTP ;用路由器的快速以太网口提供 VLAN 间路由;在路由器上配置 DHCP 为各 VLAN分配 IP

实验所用硬件:

Cisco3600+NM-16ESW 交换模块

拓扑图如下:
图中两台交换机和一台路由器都是采用 Cisco3600+NM-16ESW

逻辑规划:

VLAN 2 IP 段是 192.168.1.0/24 成员 PC1 PC4 IP 分别为 192.168.1.11 192.168.1.44 ;成员网关是 192.168.1.1

VLAN 3 IP 段是 192.168.2.0/24 成员 PC2 PC3 IP 分别为 192.168.2.22 192.168.2.33 ;成员网关是 192.168.2.1

VLAN 1 IP 段是 192.168.0.0/24 成员 SW1 SW2 IP 分别为: 192.168.0.2 192.168.0.3 ;成员网关是 192.168.0.1

一、            配置 PC

照上述 IP 地址方案将 PC IP 配置好。

二、            配置交换机

配置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   // 配置到这一步的时候 PC1 PC4 PC2 PC3 是可以相互通信的,因为此时还没有划分 VLAN ,默认所有 PC 都在 VLAN 1 里。所以在一个逻辑网段的 PC 可以相互通信,即使不在一个逻辑网段,只要将地址人为改成一个逻辑网段就可以相互通信了,例如这时 PC2 将地址从 192.168.2.22 改成 192.168.1.22 这样 PC2 就可以和 PC1 PC4 通信了,由此可见不划分 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间的路由。
请参看下面的文章:[url]http://yuan2.blog.51cto.com/446689/95792[/url]