(可选)配置用户的免认证授权信息
背景信息
用户认证成功之前,为满足用户基本的网络访问需求,譬如下载802.1X客户端、更新病毒库等,需要用户免认证就能获取部分网络访问权限。用户免认证的授权信息使用免认证规则模板统一管理,通过在模板中定义一些网络访问规则,确定用户免认证时可以获取的网络访问权限。免认证规则模板配置完成后,需要绑定到认证模板下,之后使用该认证模板的用户即可获取免认证授权信息。
用户的免认证规则可以通过普通的免认证规则定义,也可以通过ACL定义。普通的免认证规则由IP地址、MAC地址、接口、VLAN等参数确定;通过ACL定义的免认证规则由ACL规则(通过命令rule配置)确定。两种方式定义的免认证规则都能够指定用户无需认证就可以访问的目的IP地址。除此之外,ACL定义的免认证规则还能够指定用户无需认证就可以访问的目的域名。
基于域名定义用户的免认证规则有时要比基于IP地址简单方便。例如,某些认证用户由于没有认证账号,必须首先在运营商提供的官方网站上注册申请会员账号;或者通过微博、微信等第三方账号进行登录。这就要求用户认证通过前,能够访问特定的网站。由于用户记忆网站的域名要比记忆其IP地址容易的多,所以,此时可以通过ACL定义的免认证规则,指定用户免认证即可访问以上网站域名。
- 多条免认证规则同时配置时,可累计生效,逐条匹配。
- 无线或SVF场景下,AP或AS上仅序号(rule-id)为0~127的免认证规则可以生效,AC或Parent上所有可配置的免认证规则均生效。
- 无线场景下,AP上不支持免认证规则中配置VLAN和Interface项,建议选取VLAN和Interface项时配置免认证规则序号大于等于128。但是,选取VLAN项时配置的免认证规则序号小于128,会导致无法Portal重定向。
- SVF场景下,免认证规则中的接口信息不生效。
- 如果免认证规则中同时配置了VLAN和Interface项,则要求Interface属于该VLAN,否则规则无效。
- 如果免认证规则中配置了目的端口号,则分片报文不能匹配规则,流量无法通过。
- DHCP、CAPWAP、ARP、HTTP协议报文,在用户认证成功之前,无需配置free-rule,就可以直接处理或转发。其他协议报文,需要设备转发时,必须配置free-rule;需要设备本地处理时,仅S5730-HI、S6720-HI、S5720-HI、S5731-H、S5731-H-K、S5731S-H、S5731-S、S5731S-S、S5732-H、S5732-H-K、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S要求配置free-rule。但是,对于DNS报文,Portal认证时,如果已执行命令portal pass dns enable放通DNS报文功能,则无需配置free-rule,但此方式会放通所有DNS报文,不推荐使用。
- DHCP报文:如果端口开启认证和DHCP功能,那么DHCP报文能触发认证,且设备会行使其DHCP中继或DHCP服务器功能,转发或处理DHCP报文。如果端口仅配置认证,未配置DHCP功能,那DHCP报文能触发认证,设备广播DHCP报文。
- CAPWAP报文:CAPWAP报文分为控制报文和数据报文,一般情况下CAPWAP数据报文解完封装后,依然受NAC权限控制,free-rule会生效(ARP、DHCP封装在CAPWAP数据报文中除外)。CAPWAP控制报文一般是上送CPU处理(例如SVF、无线场景)。如果接AP的物理口使能了认证,也还是要配置free-rule放通管理VLAN的,由于该种场景可能导致过多重认证对服务器造成冲击,不建议使用。
- ARP报文:无需配置free-rule,就可以直接处理或转发。
- HTTP报文:如果端口使能了Portal认证,且HTTP报文的目的URL并非Portal服务器,那么设备会将HTTP报文重定向至Portal服务器进行认证,free-rule授权优先级高于重定向ACL,free-rule和重定向ACL同时配置,重定向ACL不生效。
- 仅无线用户支持基于域名定义的免认证规则。
- SVF使能情况下,免认证规则ACL不支持下发到AS设备。
- 可以动态修改免认证规则,免认证规则不区分ACL规则(通过命令rule配置)的动作(deny和permit),统一按照permit处理;ACL规则的编号(rule编号)仅支持0~127。
- 多个域名对应同一个IP地址时,如果其中一个域名符合免认证规则,则其它域名都符合。
前置任务
- 使用ACL定义的免认证规则时,需要完成以下步骤:通过命令rule配置ACL规则。命令rule配置的ACL规则可以是基于IP地址的,也可以是基于域名的。基于IP地址时,支持配置参数source和destination;基于域名时,仅支持配置参数destination。
如果用户ACL是通过名称(参数acl-name)创建的,需要通过命令acl name acl-name acl-number,创建一个命名型的ACL,并指定其对应的ACL编号(6000~6031)。
- 在物理接口下配置认证时,必须执行authentication pre-authen-access enable命令使能预连接功能。
操作步骤
- 配置免认证规则模板。
执行命令system-view,进入系统视图。
执行命令free-rule-template name free-rule-template-name,创建免认证规则模板,并进入免认证规则模板视图。
缺省情况下,系统自带一个名称为default_free_rule的免认证规则模板。
当前设备仅支持1个免认证规则模板,即系统自带模板default_free_rule。
配置免认证规则。
- 执行命令free-rule rule-id { destination { any | ip { ip-address mask { mask-length | ip-mask } [ tcp destination-port port | udp destination-port port ] | any } } | source { any | { interface interface-type interface-number | ip { ip-address mask { mask-length | ip-mask } | any } | vlan vlan-id } * } } *,配置普通的免认证规则。
- 执行命令free-rule acl { acl-id | acl-name acl-name | ipv6 ipv6-acl-id },配置通过ACL定义的免认证规则。
缺省情况下,未配置NAC认证用户的免认证规则。
执行命令quit,返回到系统视图。
- 认证模板下绑定免认证规则模板。
执行命令authentication-profile name authentication-profile-name,进入认证模板视图。
执行命令free-rule-template free-rule-template-name,配置认证模板下绑定的免认证规则模板。
缺省情况下,认证模板下没有绑定任何免认证规则模板。
对于无线用户,必须在认证模板下执行命令free-rule-template(认证模板视图)绑定免认证规则模板,配置的免认证规则才能生效。
对于有线用户,免认证规则模板在系统视图下创建后即对所有有线用户都生效,不需要再在认证模板下执行命令free-rule-template(认证模板视图)绑定免认证规则模板。