1.配置说明
- 配置了多个SSID适应不同场景:
内部用户:因为用户设备都入域了,配置WPA-WPA2 + 802.1x,直接802.1x认证
外部访客:配置了WPA-WPA2认证
其他内部用户:有的用户设备没有入域,但又想访问内网,所以配置了Open + Portal方式 - Portal服务器:
因为portal认证的用户是极少数的,所以就不考虑外置portal了,但也有几个不错的开源portal可以使用。 - LDAP认证:
配置过程中发现不仅支持LDAP认证授权,还可以用Windows AD进行认证授权,这里主要说下LDAP的方式,AD认证方式配置过程是类似的。 - AC版本:V200R008C10SPC300
2.组网需求
AC对接入用户使用PORTAL+LDAP的认证方式;授权方式为LDAP服务器授权。
AC到LDAP服务器要路由可达,端口号为389。
3.官网文档参考
之前咨询了集成供应商售后工程师,说不支持这种方式,但支持外置portal. 后来因为看到配置页面可以配置LDAP和AD服务器验证,又咨询了华为WLAN人工客服,一开始说这个配置不能实现,后来讨论一番后,说此配置理论上可以实现,但没有具体操作实例,可以参考一下内置PORTAL+MAC文档:
4.配置步骤
前面AC与AP之间传输配置这里就不再描述了。
-
配置LDAP服务器模板、认证方案和授权方案。
[AC] ldap-server template template1
[AC-ldap-template1] ldap-server authentication X.X.X.X 389
[AC-ldap-template1] ldap-server authentication base-dn ou=domain,dc=domain,dc=com
[AC-ldap-template1] ldap-server authentication manager cn=Administrator,cn=users,DC=domain,DC=com password password
[AC-ldap-template1] quit这里配置好之后用test-aaa命令测试下LDAP服务器是否配置正确。
test-aaa uasename password ldap-template template1
Info: Server detection succeeded. -
配置认证方案authen-sch,认证模式为LDAP认证。
[AC] aaa
[AC-aaa] authentication-scheme authen-sch
[AC-aaa-authen-authen-sch] authentication-mode ldap
[AC-aaa-authen-authen-sch] quit -
配置授权方案author-sch,授权模式为进行LDAP授权。
[AC-aaa] authorization-scheme author-sch
[AC-aaa-author-author-sch] authorization-mode ldap
[AC-aaa-author-author-sch] quit
[AC-aaa] quit -
配置PORTAL接入模板“m1”
[AC] portal-access-profile name m1
[AC-portal-access-profile-m1] quit -
配置认证模板“p1”
[AC] authentication-profile name p1
[AC-authentication-profile-p1] portal-access-profile m1
[AC-authentication-profile-p1] authentication-scheme authen-sch
[AC-authentication-profile-p1] authorization-scheme author-sch
[AC-authentication-profile-p1] ldap-server template1
[AC-authentication-profile-p1] quit -
配置WLAN业务参数
创建名为“wlan-security”的安全模板,并配置安全策略。缺省情况下,安全策略为open方式的开放认证。
[AC] wlan
[AC-wlan-view] security-profile name wlan-security
[AC-wlan-sec-prof-wlan-security] quit创建名为“wlan-ssid”的SSID模板,并配置SSID名称为“wlan-net”。
[AC-wlan-view] ssid-profile name wlan-ssid
[AC-wlan-ssid-prof-wlan-ssid] ssid wlan-net
[AC-wlan-ssid-prof-wlan-ssid] quit创建名为“wlan-vap”的VAP模板,配置业务数据转发模式、业务VLAN,并且引用安全模板、SSID模板和认证模板。
[AC-wlan-view] vap-profile name wlan-vap
[AC-wlan-vap-prof-wlan-vap] forward-mode tunnel
[AC-wlan-vap-prof-wlan-vap] service-vlan vlan-id XXX
[AC-wlan-vap-prof-wlan-vap] security-profile wlan-security
[AC-wlan-vap-prof-wlan-vap] ssid-profile wlan-ssid
[AC-wlan-vap-prof-wlan-vap] authentication-profile p1
[AC-wlan-vap-prof-wlan-vap] quit配置AP组引用VAP模板,AP上射频0和射频1都使用VAP模板“wlan-vap”的配置。
[AC-wlan-view] ap-group name ap-group1
[AC-wlan-ap-group-ap-group1] vap-profile wlan-vap wlan 1 radio 0
[AC-wlan-ap-group-ap-group1] vap-profile wlan-vap wlan 1 radio 1
[AC-wlan-ap-group-ap-group1] return
5.疑难解答
因为之前test-aaa是通过的,所以搜索到新建的SSID,portal页面输入域账号和密码之后提示密码错误,再次test-aaa通过验证,debugging一下ldap和portal日志之后,发现几行报错:
Apr 21 2020 13:32:44.854.1+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] Read a message of authentication request from AAA(Username:XXXXXX, UserAttribute:sAMAccountName, isExist:0, ulSTNo: 0, AccessType:24) Apr 21 2020 13:32:44.854.2+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] DTeamTotal:0, DTeamName:, DTeamFilter:. Apr 21 2020 13:32:44.854.3+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] status change to LDAP_FLAG_NORREQ_INIT. Apr 21 2020 13:32:44.854.4+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Pkt):] LDAP Make Pack filter is sAMAccountName. Apr 21 2020 13:32:44.854.5+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Pkt):] server type=0, username=XXXXXX, UserDN: Apr 21 2020 13:32:44.854.6+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Pkt):] Make a packet of user bind (UserDN:XXXXXX@domain.com) Apr 21 2020 13:32:44.854.7+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Pkt):] status change to LDAP_FLAG_REQ_USR_BINDED Apr 21 2020 13:32:44.854.8+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] Make user bind packet OK. Apr 21 2020 13:32:44.854.9+08:00 AC6005 LDAP/7/DEBUG:LDAP Proc AuthAndSearchReq: ulSTNo = 0, server ip is 0xc0a80f0a, port is 389. Apr 21 2020 13:32:44.864.1+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] Connect the LDAP server(Server IP:X.X.X.X,port:389) Apr 21 2020 13:32:44.864.2+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Pkt):] Send packet to server OK(Server IP:X.X.X.X,port:389,Socket=1) Apr 21 2020 13:32:44.864.3+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] LDAP Proc Auth And Search Req is OK. Apr 21 2020 13:32:44.964.1+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Err):] Bind failed. Error number is [49]. Apr 21 2020 13:32:44.964.2+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Evt):] Receive a packet bind fail. Apr 21 2020 13:32:44.964.3+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Pkt):] Receive a packet of user bind result fail. Apr 21 2020 13:32:44.964.4+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Err):] BaseDN is empty. Apr 21 2020 13:32:44.964.5+08:00 AC6005 LDAP/7/DEBUG:[LDAP(Err):] authentication rejected.后来查到因为目前Windows AD类型的LDAP服务器没有配置“使用可逆的加密存储密码”,所以不能使用CHAP认证,尝试将authentication-method改为PAP,用户成功上线。
微软相关文档参考:
用可还原的加密来存储密码
https://docs.microsoft.com/zh-cn/windows/security/threat-protection/security-policy-settings/store-passwords-using-reversible-encryption
注意:PAP验证方式用户的密码是以明文的形式传输的,非常不安全,慎用!