AC6005内置portal+外部LDAP认证授权配置

  • 1.配置说明
  • 2.组网需求
  • 3.官网文档参考
  • 4.配置步骤
  • 5.疑难解答


1.配置说明

  1. 配置了多个SSID适应不同场景:
    内部用户:因为用户设备都入域了,配置WPA-WPA2 + 802.1x,直接802.1x认证
    外部访客:配置了WPA-WPA2认证
    其他内部用户:有的用户设备没有入域,但又想访问内网,所以配置了Open + Portal方式
  2. Portal服务器:
    因为portal认证的用户是极少数的,所以就不考虑外置portal了,但也有几个不错的开源portal可以使用。
  3. LDAP认证:
    配置过程中发现不仅支持LDAP认证授权,还可以用Windows AD进行认证授权,这里主要说下LDAP的方式,AD认证方式配置过程是类似的。
  4. AC版本:V200R008C10SPC300

2.组网需求

AC对接入用户使用PORTAL+LDAP的认证方式;授权方式为LDAP服务器授权。
AC到LDAP服务器要路由可达,端口号为389。

3.官网文档参考

之前咨询了集成供应商售后工程师,说不支持这种方式,但支持外置portal. 后来因为看到配置页面可以配置LDAP和AD服务器验证,又咨询了华为WLAN人工客服,一开始说这个配置不能实现,后来讨论一番后,说此配置理论上可以实现,但没有具体操作实例,可以参考一下内置PORTAL+MAC文档:

配置采用LDAP方式进行认证和授权示例
https://support.huawei.com/hedex/hdx.do?lib=EDOC1100096148AZI0723G&docid=EDOC1100096148&lang=zh&v=05&tocLib=EDOC1100096148AZI0723G&tocV=05&id=ZH-CN_CONCEPT_0176913627&tocURL=resources%252fdc%252fdc%255fcfg%255fusrmgt%255fcd%252ehtml&p=t&fe=1&ui=3&keyword=%2525252525u7528%2525252525u6237%2525252525u63a5%2525252525u5165%2525252525u4e0e%2525252525u8ba4%2525252525u8bc1%2525252525u914d%2525252525u7f6e

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验证方式用户的密码是以明文的形式传输的,非常不安全,慎用!