首先我们来看一个常见的错误配置方式
拓扑
需求
1.网络拓扑如上图所示,AC是无线控制器,其E1/0/1口连接着AP的LAN1口
2.按照 表1-1 完成无线网络的配置.使用户连接WLAN使能够获取对应VLAN的IP地址。AP地址通过DHCP下发,为192.168.3.10。
VLANSVI接口地址说明对应SSID1192.168.1.254/24用户VLANVLAN1-Wireless-LAB2192.168.2.254/24用户VLANVLAN2-Wireless-LAB3192.168.3.254/24管理 and 用户VLANVLAN3-Wireless-LAB表1-1
配置及实现
1.AP上线
划分VLAN和设置SVI接口地址
AC(config)#vlan 2 //创建VLAN2
AC(config-vlan2)#vlan 3 //创建VLAN3
AC(config-vlan3)#int vlan 1 //进入Vlan1的SVI接口
AC(config-if-vlan1)#ip ad 192.168.1.254 255.255.255.0 //设置IP地址
AC(config-if-vlan1)#int vlan 2 //进入VLAN2的SVI接口
AC(config-if-vlan2)#ip ad 192.168.2.254 255.255.255.0 //设置IP地址
AC(config-if-vlan2)#int vlan 3 //进入VLAN3的SVI接口
AC(config-if-vlan3)#ip ad 192.168.3.254 255.255.255.0 //设置IP地址
AC(config-if-ethernet1/0/1)#sw mo trunk //更改接口模式为Trunk
AC(config-if-vlan3)#int e1/0/1
AC(config-if-ethernet1/0/1)#sw mo trunk
AC(config-if-ethernet1/0/1)#switchport trunk native vlan 3 //设置Native VLAN为VLAN3
2 开启DHCP功能,自动下发地址。
AC(config)#ip dhcp pool vlan1 //创建地址池
AC(dhcp-vlan1-config)#network-address 192.168.1.0 255.255.255.0 //设置下发网段
AC(dhcp-vlan1-config)#default-router 192.168.1.254
AC(dhcp-vlan1-config)#!
AC(config)#ip dhcp pool vlan2 //创建地址池
AC(dhcp-vlan2-config)#network-address 192.168.2.0 255.255.255.0 //设置下发网段
AC(dhcp-vlan2-config)#default-router 192.168.2.254 //设置网关
AC(dhcp-vlan2-config)#!
AC(config)#ip dhcp pool vlan3 //创建地址池
AC(dhcp-vlan3-config)#network-address 192.168.3.0 255.255.255.0 //设置下发网段
AC(dhcp-vlan3-config)#default-router 192.168.3.254 //设置网关
AC(dhcp-vlan3-config)#!
AC(config)#service dhcp //开启DHCP服务
3 DHCP静态绑定AP地址
AC
AC(config)#show ip dh binding //查看DHCP绑定
Total dhcp binding items: 1, the matched: 1
IP address Hardware address Lease expiration Type
192.168.3.1 00-03-0F-5B-F0-E0 Mon Jan 02 00:30:00 2006 Dynamic
AC(config)#ip dhcp pool AP //添加DHCP池
AC(dhcp-ap-config)#hardware-address 00-03-0F-5B-F0-E0 //绑定MAC地址
AC(dhcp-ap-config)#host 192.168.3.10 //绑定IP
AC(dhcp-ap-config)#default-router 192.168.3.254 //设置网关
AC(dhcp-ap-config)#!
AC(config)#show ip dh binding
Total dhcp binding items: 1, the matched: 1
IP address Hardware address Lease expiration Type
192.168.3.10 00-03-0F-5B-F0-E0 Infinite Manual
AP
重启的DHCP功能
AP# set management dhcp-status down //关闭DHCP获取地址
AP# set management dhcp-status up //开启DHCP获取地址
AP# get management
Property Value
--------------------------------------------
vlan-id 1
interface brvlan1
static-ip 192.168.1.10
static-mask 255.255.255.0
ip 192.168.3.10 //获取到了192.168.3.10
mask 255.255.255.0
ipv6
ipv6-prefix-length 0
mac 00:03:0F:5B:F0:E0
dhcp-status up
dhcpv6-status down
ipv6-status up
ipv6-autoconfig-status up
static-ipv6
static-ipv6-prefix-length 0
4 开启AC无线功能
AC(config-wireless)#no auto-ip-assign //关闭无线地址选举
AC(config-wireless)#static-ip 192.168.3.254 //设置静态无线地址
AC(config-wireless)#discovery vlan-list 3 //设置二层发现VLAN
AC(config-wireless)#ap authentication none //关闭AP验证
AC(config-wireless)#enable //开启无线功能
查看AP状态
AC(config)#show wir ap status
MAC Address Configuration
(*) Peer Managed IP Address Profile Status Status Age
------------------ --------------------------------------- ------- ------- ------------- --------------
00-03-0f-5b-f0-e0 192.168.3.10 1 Managed Failure 0d:00:00:07
Total Access Points............................ 1
5 无线配置
AC(config)#wireless //进入无线全局模式
AC(config-wireless)#network 1 //进入network配置模式
AC(config-network)#ssid VLAN1-Wireless-LAB //设置SSID
AC(config-network)#security mode none //关闭用户认证
AC(config-network)#vlan 1 //设置VLAN
AC(config-network)#network 2 //进入network配置模式
AC(config-network)#ssid VLAN2-Wireless-LAB
AC(config-network)#security mode none //关闭用户认证
AC(config-network)#vlan 2 //设置VLAN
AC(config-network)#network 3 //进入network配置模式
AC(config-network)#ssid VLAN3-Wireless-LAB
AC(config-network)#security mode none //关闭用户认证
AC(config-network)#vlan 3 //设置VLAN
AC(config-network)#!
AC(config-wireless)#ap profile 1 //进入profile 1
AC(config-ap-profile)#hwtype 29 //设置硬件号
AC(config-ap-profile)#radio 1 //进入radio配置模式
AC(config-ap-profile-radio)#vap 1 //进入vap配置模式
AC(config-ap-profile-vap)#enable //开启vap
AC(config-ap-profile-vap)#vap 2 //进入VAP配置模式
AC(config-ap-profile-vap)#enable //开启VAP
AC(config-ap-profile-vap)#!
AC(config-ap-profile-radio)#!
AC(config-ap-profile)#!
AC(config-wireless)#!
AC(config)#!
AC(config)#exit
AC#wir ap prof ap 1 //下发配置文件
All configurations will be send to the aps associated to this profile and associated clients on these aps will be disconnected. Are you sure you want to apply the profile configuration? [Y/N] y
6.测试
配置文件下发之后,稍等一会,就可以搜索到无线信号了。
接着我们连上去试试
首先我们连接VLAN1的
结果发现
竟然获取到了VLAN3的地址
接下来我们再连接VLAN2的试试
发现是正常的
最后再来连接VLAN3
发现根本获取不到IP地址
问题分析
1.拓扑
2.VLAN 1 用户上线过程
**(1).**当用户连接到无线网络之后,客户端发送DHCP DISCOVER
广播包来请求IP地址
**(2).**AP默认的转发方式为本地转发,所以DHCP DISCOVER
报文到达AP之后802.11帧便被转换成以太网帧。不打VLAN TAG,将数据包转发给交换机。
**(3).**我们在交换机的E1/0/1接口上配置了命令 switchport trunk native vlan 3
,所以当没有VLAN Tag的帧到达交换机的时候,被打上VLAN 3的标签.
**(4).**所以最后导致了Client获取到了VLAN3网段的地址
VLAN1的数据AP不打标签
3.VLAN 2 用户上线过程
**(1).**当用户连接到无线网络之后,客户端发送DHCP DISCOVER
广播包来请求IP地址
**(2).**AP默认的转发方式为本地转发,所以DHCP DISCOVER
报文到达AP之后802.11帧便被转换成以太网帧。
打上VLAN 2
TAG,将数据包转发给交换机。
**(3).**交换机收到该帧,不对帧进行任何处理,直接放行,最后帧在VLAN2内传播。
**(4).**所以客户机可以获取到正确的地址。
4.VLAN 3 用户上线过程
**(1).**当用户连接到无线网络之后,客户端发送DHCP DISCOVER
广播包来请求IP地址
**(2).**AP默认的转发方式为本地转发,所以DHCP DISCOVER
报文到达AP之后802.11帧便被转换成以太网帧。
**(3).**打上VLAN 3
TAG,将数据包转发给交换机,然而交换机上配置了switchport trunk native vlan 3
,导致交换机丢包,该SSID下所有数据都不能通过交换机,所以最终也不能获取地址。
解决问题
让我们重新做一遍
1.设置VLAN
AC(config)#vlan 2 //创建VLAN2
AC(config-vlan2)#vlan 3 //创建VLAN3
AC(config-vlan3)#int vlan 1 //进入Vlan1的SVI接口
AC(config-if-vlan1)#ip ad 192.168.1.254 255.255.255.0 //设置IP地址
AC(config-if-vlan1)#int vlan 2 //进入VLAN2的SVI接口
AC(config-if-vlan2)#ip ad 192.168.2.254 255.255.255.0 //设置IP地址
AC(config-if-vlan2)#int vlan 3 //进入VLAN3的SVI接口
AC(config-if-vlan3)#ip ad 192.168.3.254 255.255.255.0 //设置IP地址
AC(config-if-vlan3)#int e1/0/1
AC(config-if-ethernet1/0/1)#sw mo trunk //更改接口模式为Trunk
注意,这里不设置Native VLAN
2.设置DHCP
AP
设置管理VLAN
AP# set management vlan-id 3 //设置管理VLAN为VLAN3
设置管理VLAN之后,从AP发出的管理/控制报文都会打上VLAN 3的TAG,也可以接受带VLAN3 TAG的管理报文。
AC
AC(config)#ip dh pool VLAN1
AC(dhcp-vlan1-config)#network-address 192.168.1.0 255.255.255.0
AC(dhcp-vlan1-config)#default-router 192.168.1.254
AC(dhcp-vlan1-config)#!
AC(config)#ip dh pool VLAN2
AC(dhcp-vlan2-config)#network-address 192.168.2.0 255.255.255.0
AC(dhcp-vlan2-config)#default-router 192.168.2.254
AC(dhcp-vlan2-config)#!
AC(config)#ip dh pool VLAN3
AC(dhcp-vlan3-config)#network-address 192.168.3.0 255.255.255.0
AC(dhcp-vlan3-config)#default-router 192.168.3.254
AC(dhcp-vlan3-config)#!
AC(config)#service dhcp
3.静态绑定DHCP
AC
AC(config)#show ip dh binding
Total dhcp binding items: 1, the matched: 1
IP address Hardware address Lease expiration Type
192.168.3.1 aa-aa-aa-aa-aa-aa Mon Jan 02 00:12:00 2006 Dynamic
AC(config)#ip dhcp pool AP
AC(dhcp-ap-config)#hardware-address aa-aa-aa-aa-aa-aa
AC(dhcp-ap-config)#host 192.168.3.10
AC(dhcp-ap-config)#default-router 192.168.3.254
AC(dhcp-ap-config)#!
AP
AP# set management dhcp-status down
AP# set management dhcp-status up
4.开启无线功能
AC(config-wireless)#no auto-ip-assign
AC(config-wireless)#static-ip 192.168.3.254
AC(config-wireless)#ap authe none
AC(config-wireless)#discovery vlan-list 3
AC(config-wireless)#enable
5.配置无线
AC(config-wireless)#network 1
AC(config-network)#ssid VLAN1-Wireless-LAB
AC(config-network)#vlan 1
AC(config-network)#network 2
AC(config-network)#ssid VLAN2-Wireless-LAB
AC(config-network)#vlan 2
AC(config-network)#network 3
AC(config-network)#ssid VLAN3-Wireless-LAB
AC(config-network)#vlan 3
AC(config-network)#!
AC(config-wireless)#ap profile 1
AC(config-ap-profile)#hwtype 29
AC(config-ap-profile)#management vlan 3
AC(config-ap-profile)#radio 1
AC(config-ap-profile-radio)#vap 1
AC(config-ap-profile-vap)#enable
AC(config-ap-profile-vap)#vap 2
AC(config-ap-profile-vap)#enable
AC(config-ap-profile-vap)#!
AC(config-ap-profile-radio)#!
AC(config-ap-profile)#!
AC#wireless ap prof ap 1
All configurations will be send to the aps associated to this profile and associated clients on these aps will be disconnected. Are you sure you want to apply the profile configuration? [Y/N] y
AP Profile apply is in progress.
6.测试
VLAN1
VLAN2
VLAN3
可以发现,这次一切都正常了。
失误发生的原因
这个配置错误出现的原因主要有以下两点:
**1.**对network
配置模型下vlan
的命令有所误解
这个命令是设置VLAN表示,设置无线用户的数据在经过AP之后应打上的VLAN TAG,而不是说这个无线信号数据是哪个VLAN,就设置成哪个VLAN。
**2.**无线管理VLAN的设置
一般来说,我们设置管理VLAN的时候都是将接口设置为Trunk,并更改接口的本征VLAN.大多数情况下这样子是没有问题的.但是当管理VLAN和用户VLAN是同一个,并且不是VLAN1的时候,情况就有些尴尬.
如上面的第一个实验,当管理和用户VLAN都是VLAN3的时候,我们一般都是这么设置的:
AC(config-if-vlan3)#int e1/0/1
AC(config-if-ethernet1/0/1)#sw mo trunk
AC(config-if-ethernet1/0/1)#switchport trunk native vlan 3 //设置Native VLAN为VLAN3
更改接口的本征VLAN
AC(config-network)#network 3 //进入network配置模式
AC(config-network)#ssid VLAN3-Wireless-LAB
AC(config-network)#security mode none //关闭用户认证
AC(config-network)#vlan 3 //设置VLAN
在Network下设置VLAN标识
如果这么设置,AP转发连接到Network 3的用户流量的时候,就会打上VLAN 3的TAG并发送出去,然而我们的AC接口也将接口的本征VLAN修改为了VLAN3。一但AC收到AP发来带有VLAN 3 TAG的数据帧时,就会将帧丢弃,这就这就导致了我们连上了Network 3却无法访问网络.
解决方法有两种
**1.**将network中的vlan标识改回vlan1
如此,当AP转发Network的流量时,就不会打上VLAN TAG,AC接收到数据帧之后,会根据本征VLAN打上VLAN TAG,然后在AC中进行转发。
此方法的代价就是VLAN1不能用来转发无线流量(不能当做用户VLAN).
**2.**请看[解决问题]篇
总结
当你的管理VLAN与用户VLAN是同一个VLAN且不是VLAN1的时候,要么放弃使用VLAN1转发数据。
要么在AP上设置管理VLAN.