文章包括下面内容: 配置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配置好。
二、 配置交换机
配置SW1(VTP Server)
<!-- lang: shell -->
Router>en
<!-- lang: shell -->
Router#conf t
<!-- lang: shell -->
Router(config)#no cdp run //关闭CDP协议
<!-- lang: shell -->
Router(config)#no ip domain lookup //关闭名称解析
<!-- lang: shell -->
Router(config)# ip routing //打开路由功能因为SW1要提供VLAN间路由。
<!-- lang: shell -->
Router(config)#line console 0
<!-- lang: shell -->
Router(config-line)#logging synchronous //控制台信息同步,避免干扰
<!-- lang: shell -->
Router(config-line)#exec-timeout 0 0 //永不超时,但离开控制台时要即时关闭
<!-- lang: shell -->
Router(config-line)#exit
<!-- lang: shell -->
Router(config)#hostname SW1
<!-- lang: shell -->
SW1(config)#interface range fa0/0 - 15
<!-- lang: shell -->
SW1(config-if-range)#shutdown //同时关闭16个端口
<!-- lang: shell -->
SW1(config)#interface range fa0/1 - 2
<!-- lang: shell -->
SW1(config-if-range)#no shut
<!-- lang: shell -->
SW1(config-if-range)#switchport mode access //将fa0/1和fa0/2口激活并设为访问口,因为连接的是PC机
<!-- lang: shell -->
SW1(config)#int fa0/15
<!-- lang: shell -->
SW1(config-if)#no shut
<!-- lang: shell -->
SW1(config-if)#switchport mode trunk //连接的是SW2,要设成中继链路,链路默认采用802.1Q封装
<!-- lang: shell -->
SW1#vlan database //进入VLAN数据库模式以配置VLAN相关信息
<!-- lang: shell -->
SW1(vlan)#vtp server //将SW1设成Server
<!-- lang: shell -->
SW1(vlan)#vtp domain Cisco //将VTP域名设成Cisco,名称可以任意
<!-- lang: shell -->
SW1(vlan)#vtp password abc //为了域的安全设置密码,密码不同的成员不可以加入该域,生产环境中要设置复杂密码。
<!-- lang: shell -->
SW1(vlan)#vtp pruning //启用VTP修剪
<!-- lang: shell -->
SW1(vlan)#vlan 2 name bjxh //增加VLAN 2 名称为bjxh,名称可以任意
<!-- lang: shell -->
SW1(vlan)#vlan 3 name xhce //增加VLAN3
<!-- lang: shell -->
SW1(vlan)#exit //退出VLAN配置模式,注意,这里一定要用exit退出才能使设置生效。
<!-- lang: shell -->
SW1(config)#int vlan 1
<!-- lang: shell -->
SW1(config-if)#ip address 192.168.0.2 255.255.255.0
<!-- lang: shell -->
SW1(config-if)#no shut
分配端口
<!-- lang: shell -->
SW1(config)#int fa0/1
<!-- lang: shell -->
SW1(config-if)#switchport access vlan 2
<!-- lang: shell -->
SW1(config-if)#int fa0/2
<!-- lang: shell -->
SW1(config-if)#switchport access vlan 3
配置SW2(VTP Client)
<!-- lang: shell -->
Router>en
<!-- lang: shell -->
Router#conf t
<!-- lang: shell -->
Enter configuration commands, one per line. End with CNTL/Z.
<!-- lang: shell -->
Router(config)#no cdp run //关闭CDP协议
<!-- lang: shell -->
Router(config)#no ip domain lookup //关闭名称解析
<!-- lang: shell -->
Router(config)#no ip routing //关闭路由功能否则交换机将不能和PC通信。
<!-- lang: shell -->
Router(config)#line console 0
<!-- lang: shell -->
Router(config-line)#logging synchronous //控制台信息同步,避免干扰
<!-- lang: shell -->
Router(config-line)#exec-timeout 0 0 //永不超时,但离开控制台时要即时关闭
<!-- lang: shell -->
Router(config-line)#exit
<!-- lang: shell -->
Router(config)#hostname SW2
<!-- lang: shell -->
SW2(config)#int range fa0/0 - 15
<!-- lang: shell -->
SW2(config-if-range)#shutdown
<!-- lang: shell -->
SW2(config-if-range)#exit
<!-- lang: shell -->
SW2(config)#int r
<!-- lang: shell -->
SW2(config)#int range fa0/0 - 1
<!-- lang: shell -->
SW2(config-if-range)#no shutdown
<!-- lang: shell -->
SW2(config-if-range)#switchport mode access //连接的是PC3和PC4
<!-- lang: shell -->
SW2(config)#int fa0/15
<!-- lang: shell -->
SW2(config-if)#no shut
<!-- lang: shell -->
SW2(config-if)#switchport mode trunk //连接的是SW1
<!-- lang: shell -->
SW2#vlan database
<!-- lang: shell -->
SW2(vlan)#vtp client
<!-- lang: shell -->
SW2(vlan)#vtp domain Cisco
<!-- lang: shell -->
SW2(vlan)#vtp password abc
<!-- lang: shell -->
SW2(vlan)#vtp pruning
<!-- lang: shell -->
SW2(vlan)#exit
<!-- lang: shell -->
<!-- lang: shell -->
SW2(config)#int vlan 1
<!-- lang: shell -->
SW2(config-if)#ip address 192.168.0.3 255.255.255.0
<!-- lang: shell -->
SW2(config-if)#no shut
<!-- lang: shell -->
SW2(config-if)#exit
<!-- lang: shell -->
SW2(config)#ip default-gateway 192.168.0.1 //不可少
<!-- lang: shell -->
SW2(config)#int fa0/0
<!-- lang: shell -->
SW2(config-if)#switchport access vlan 3
<!-- lang: shell -->
SW2(config-if)#int fa0/1
<!-- lang: shell -->
SW2(config-if)#switchport access vlan 2 //配置到这里的时候相同VLAN的成员之间可以互相通信,但不同VLAN成员之间不能通信。
<!-- lang: shell -->
<!-- lang: shell -->
要实现VLAN间路由要在SW1上接着做如下配置:
<!-- lang: shell -->
Router(config)#int vlan 2 //在三层交换上把每一个VLAN都看成是一个接口。
<!-- lang: shell -->
SW1(config-if)#ip address 192.168.1.1 255.255.255.0
<!-- lang: shell -->
SW1(config-if)#no shut
<!-- lang: shell -->
SW1(config-if)#int vlan 3
<!-- lang: shell -->
SW1(config-if)#ip address 192.168.2.1 255.255.255.0
<!-- lang: shell -->
SW1(config-if)#no shut
到此三层交换做VLAN间路由就做完了!如果要做VLAN间通信的特殊限制可以做ACL,记住:在三层交换上把每一个VLAN都看成是一个接口,不然在应用ACL的时候你就有麻烦了!
上面的VLAN成员IP都是手动指定的,我们可以在SW1上为每个VLAN配置一个地址池,为每个VLAN自动分配IP和DNS等相关信息,也可以用网络中现有DHCP服务器为各成员分配IP,不管哪种方式都要定义相关VLAN的地址范围。个人觉得还是就近在设备上做地址池方便。配置如下:
<!-- lang: shell -->
SW1(config)#ip dhcp pool v2
<!-- lang: shell -->
SW1(dhcp-config)#network 192.168.1.0 255.255.255.0
<!-- lang: shell -->
SW1(dhcp-config)#default-router 192.168.1.1
<!-- lang: shell -->
SW1(dhcp-config)#lease 5
<!-- lang: shell -->
SW1(dhcp-config)#exit
<!-- lang: shell -->
SW1(config)#ip dhcp pool v3
<!-- lang: shell -->
SW1(dhcp-config)#network 192.168.2.0 255.255.255.0
<!-- lang: shell -->
SW1(dhcp-config)#default-router 192.168.2.1
<!-- lang: shell -->
SW1(dhcp-config)#lease 5
<!-- lang: shell -->
SW1(dhcp-config)#exit
<!-- lang: shell -->
SW1(config)#int vlan 2
<!-- lang: shell -->
SW1(config-if)#ip helper-address 192.168.0.1 //这个地址也可以换成192.168.1.1或192.168.2.1。
<!-- lang: shell -->
SW1(config-if)#int vlan 3
<!-- lang: shell -->
SW1(config-if)#ip helper-address 192.168.0.1
<!-- lang: shell -->
SW1(config-if)#exit
不分配下列地址
<!-- lang: shell -->
SW1(config)#ip dhcp excluded-address 192.168.0.1 //VLAN1 地址
<!-- lang: shell -->
SW1(config)#ip dhcp excluded-address 192.168.1.1 //VLAN2 网关
<!-- lang: shell -->
SW1(config)#ip dhcp excluded-address 192.168.2.1 //VLAN3 网关
<!-- lang: shell -->
SW1(config)#ip dhcp excluded-address 192.168.0.2 //SW2VLAN1地址
各VLAN成员只要将自己的IP设置成自动获取就可以得到正确的IP了!