05-Web认证配置
本章节下载: 05-Web认证配置 (261.97 KB)
目 录
1.5.2 采用AAA服务器认证方式进行Web认证的配置举例
1.6.1 本地访问外网,在接口配置正常的Web认证服务器情况下,用户上线失败
1.6.2 本地认证接口配置使用默认domain情况下,用户上线失败
1.6.3 本地访问外网,在接口配置已存在的VLAN情况下,用户上线失败
在采用了Web认证的组网环境中,未认证用户上网时,接入设备强制用户登录到特定站点,用户可以免费访问其中的服务;当用户需要访问特定站点之外的其它信息时,必须在本地Portal Web服务器提供的网站上进行Web认证,只有认证通过后才可以访问特定站点之外的设备或资源。
根据是否为用户主动发起认证,可以将Web认证分为主动认证和强制认证两种类型:用户可以主动访问已知的本地Portal Web服务器的网站,输入用户名和密码进行认证,这种开始Portal认证的过程称作主动认证;用户访问任意非本地Portal Web服务器网站时,被强制访问本地Portal Web服务器网站,继而开始Web认证的过程称作强制认证。
Web认证是一种灵活的访问控制技术,可以在接入设备的二层接口上实施访问控制,具有如下优势:
· 可以不安装客户端软件,直接使用Web页面认证,使用方便。
· 可以为网络服务提供者提供方便的管理功能和业务拓展功能,例如网络服务提供者可以在认证页面上开展商业广告、社区服务、信息发布等个性化的业务。
Web认证的典型组网方式如图1-1所示,它由四个基本要素组成:认证客户端、接入设备、本地Portal Web服务器、AAA服务器。
图1-1 Web认证系统组成示意图
用户终端的客户端系统,为运行HTTP协议的浏览器。
交换机、路由器等宽带接入设备的统称,主要有三方面的作用:
· 在认证之前,将用户的所有HTTP请求都重定向到本地Portal Web服务器。
· 在认证过程中,与AAA服务器交互,完成身份认证/授权/计费的功能。
· 在认证通过后,允许用户访问被授权的网络资源。
设备作为本地Portal Web服务器,负责向认证客户端提供Web认证页面,并将认证客户端的认证信息(用户名、密码等)提交给接入设备的AAA模块。
与接入设备进行交互,完成对用户的认证、授权和计费。目前RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器可支持对Web认证用户进行认证、授权和计费,以及LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)服务器可支持对Web认证用户进行认证。
目前,Web认证只支持本地Web认证,即由接入设备作为本地Portal Web服务器向用户提供Web认证服务,具体认证过程如下。
图1-2 Web认证流程图
(1) Web认证用户通过HTTP协议发起认证请求。HTTP报文经过开启了Web认证功能的接口时会被重定向到本地Portal Web服务器的监听IP地址,本地Portal Web服务器提供Web页面供用户输入用户名和密码来进行认证。该本地Portal Web服务器的监听IP地址为接入设备上一个与用户之间路由可达的三层接口IP地址(通常为Loopback接口的IP地址)。
(2) 接入设备与AAA服务器之间进行RADIUS协议报文的交互,对用户身份进行验证。
(3) 如果RADIUS认证成功,则接入设备上的本地Portal Web服务器向客户端发送登录成功页面,通知客户端认证(上线)成功。
Web认证支持认证服务器下发授权VLAN。当用户通过Web认证后,如果认证服务器上配置了下发VLAN功能,那么认证服务器会将授权VLAN信息下发给接入设备,由接入设备将认证成功的用户加入对应的授权VLAN中,则端口上会生成该用户MAC对应的MAC VLAN表项,若该VLAN不存在,则接入设备首先创建VLAN,而后端口将允许该VLAN的用户报文以不携带tag的方式通过。
通过支持下发授权VLAN,可实现对已认证用户可访问网络资源的控制。
Auth-Fail VLAN功能允许用户在认证失败的情况下,可以访问某一特定VLAN中的资源,比如病毒补丁服务器,存储客户端软件或杀毒软件的服务器,进行升级客户端或执行其他一些用户升级程序。这个VLAN称之为Auth-Fail VLAN。
Web认证支持基于MAC的Auth-Fail VLAN,如果接入用户的端口上配置了Auth-Fail VLAN,则端口上会基于认证失败的MAC地址生成相应的MAC VLAN表项,认证失败的用户将会被加入Auth-Fail VLAN中。加入Auth-Fail VLAN中的用户可以访问该VLAN中免认证IP的资源,但用户的所有访问非免认证IP的HTTP请求会被重定向到接入设备上进行认证,若用户仍然没有通过认证,则将继续处于Auth-Fail VLAN内;若认证成功,则回到加入Auth-Fail VLAN之前端口所在的VLAN。
用户加入授权VLAN或Auth-Fail VLAN后,需要自动申请或者手动更新客户端IP地址,以保证可以与授权VLAN或Auth-Fail VLAN中的资源互通。
ACL(Access Control List,访问控制列表)提供了控制用户访问网络资源和限制用户访问权限的功能。当用户上线时,如果服务器上配置了授权ACL,则设备会根据服务器下发的授权ACL对用户所在端口的数据流进行控制;在服务器上配置授权ACL之前,需要在设备上配置相应的规则。管理员可以通过改变服务器的授权ACL设置或设备上对应的ACL规则来改变用户的访问权限。
表1-1 Web认证配置任务简介
配置任务 |
说明 |
详细配置 |
配置Web认证服务器 |
必选 |
|
指定Web认证用户使用的认证域 |
必选 |
|
开启Web认证功能 |
必选 |
|
配置Web认证用户免认证IP地址 |
可选 |
|
配置Web认证最大用户数 |
可选 |
|
开启Web认证用户在线探测功能 |
可选 |
|
配置Web认证的Auth-Fail VLAN |
可选 |
|
配置Web认证支持Web代理 |
可选 |
目前设备支持两种方式的Web认证,在接入设备上进行本地认证和通过RADIUS服务器进行远程认证。
当选用本地认证方式进行Web认证时,直接在设备上完成对用户的认证。需要在设备上配置本地用户名和密码。
当选用RADIUS服务器认证方式进行Web认证时,设备作为RADIUS客户端,与RADIUS服务器配合完成Web认证。Web认证的配置前提:
· RADIUS服务器已安装并配置成功。
· 本地Portal Web服务器已配置完成,有关本地Portal Web服务器的相关配置请参见“安全配置指导”中的“Portal”。
· 用户、接入设备和RADIUS服务器之间路由可达。
· 如果通过远端RADIUS服务器进行认证,则需要在RADIUS服务器上配置相应的用户名和密码,然后在接入设备端进行RADIUS客户端的相关设置。RADIUS客户端的具体配置请参见“安全配置指导”中的“AAA”。
Web认证使用本地Portal Web服务器对认证用户提供认证页面,因此需要将设备上一个与Web客户端路由可达的三层接口IP地址指定为本地Portal Web服务器的监听IP地址,并强烈建议使用设备上空闲的Loopback接口的IP地址,利用LoopBack接口状态稳定的优点,避免因为接口故障导致用户无法打开认证页面的问题。另外,由于发送到LoopBack接口的报文不会被转发到网络中,当请求上线的用户数目较大时,可减轻对系统性能的影响。
配置的Web认证服务器的IP地址和端口号必须与重定向URL中配置的IP地址和端口号保持一致,同时也必须与本地Portal Web服务器中配置的侦听端口号保持一致。
在Web认证服务器视图下可以配置Web认证服务器侦听的IP地址、重定向URL及其重定向URL中携带的参数信息。
表1-2 配置Web认证服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Web认证服务器,并进入Web认证服务器视图 |
web-auth server server-name |
缺省情况下,不存在Web认证服务器 |
配置Web认证服务器的URL重定向 |
url url-string |
缺省情况下,Web认证服务器下不存在URL重定向 |
配置Web认证服务器的IP地址 |
ip ipv4-address port port-number |
缺省情况下,不存在Web认证服务器的IP地址和端口号 |
配置设备重定向给用户的URL中携带的参数信息 |
url-parameter parameter-name { original-url | source-address | source-mac | value expression } |
缺省情况下,未配置设备重定向给用户的URL中携带的参数信息 |
通过在指定接口上配置Web认证用户使用的认证域,使得所有从该接口接入的Web认证用户被强制使用指定的认证域来进行认证、授权和计费。即使Web认证用户输入的用户名中携带的域名相同,接入设备的管理员也可以通过该配置对不同接口指定不同的认证域,从而增加了管理员部署Portal接入策略的灵活性。
从指定接口接入的Web认证用户将按照如下先后顺序选择认证域:接口上指定的Web认证用户使用的ISP域-->用户名中携带的ISP域-->系统缺省的ISP域。关于缺省ISP域的相关介绍请参见“安全配置指导”中的“AAA”。
表1-3 指定Web认证用户使用的认证域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
Web认证用户使用的认证域 |
web-auth domain domain-name |
缺省情况下,未指定Web认证用户使用的认证域 |
为使Web认证功正常运行,不建议在接口上开启Web认证的同时开启端口安全功能和配置端口安全模式。
表1-4 开启Web认证功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启Web认证功能,并指定引用的Web认证服务器 |
web-auth enable apply server server-name |
缺省情况下,Web认证功能处于关闭状态 |
在设备上配置此功能后,Web认证用户无需认证即可访问免认证IP地址网段中的资源。
表1-5 Web认证用户免认证IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Web认证用户免认证IP地址 |
web-auth free-ip ip-address { mask-length | mask } |
缺省情况下,不存在Web认证用户免认证IP地址 |
如果配置Web认证最大用户数小于当前已经在线的Web认证用户数,则配置可以执行成功,且在线Web认证用户不受影响,但系统将不允许新的Web认证用户接入。
表1-6 配置Web认证最大用户数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Web认证最大用户数 |
web-auth max-user max-number |
缺省情况下,默认最大用户限制为1024 |
在接口上开启此功能后,设备会以此命令指定的间隔定期检测此接口上所有在线用户的MAC地址表项是否被刷新过,若检测到某用户的MAC地址表项未被刷新过或者已经老化,则认为一次检测失败,若连续两次检测失败,设备将强制该用户下线。
由于设备进行检测时若发现用户MAC地址表项已经老化,则会认为检测失败,因此,为避免这种无效检测,建议配置的检测时间间隔小于等于用户MAC地址表项的老化时间。
表1-7 开启Web认证用户在线探测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
开启Web认证用户在线探测功能 |
web-auth offline-detect interval interval |
缺省情况下,Web认证用户在线探测功能处于关闭状态 |
接口上配置此功能后,认证失败的Web认证用户可以访问Auth-Fail VLAN中的资源。
为使此功能生效,必须开启接口上的MAC VLAN功能,并将Auth-Fail VLAN的网段设为免认证IP。
因为MAC VLAN功能仅在Hybrid端口上生效,所以Web认证的Auth-Fail VLAN功能也只能在Hybrid端口上生效。
如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个接口的Web认证的Auth-Fail VLAN;同样,如果某个VLAN被指定为某个接口的Web认证的Auth-Fail VLAN,则该VLAN不能被指定为Super VLAN。
禁止删除已被配置为Auth-Fail VLAN的VLAN,若要删除该VLAN,请先通过undo web-auth auth-fail vlan命令取消Web认证的 Auth-Fail VLAN配置。
表1-8 配置Web认证的Auth-Fail VLAN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置Web认证的Auth-Fail VLAN |
web-auth auth-fail vlan authfail-vlan-id |
缺省情况下,不存在Web认证的Auth-Fail VLAN |
设备默认只允许未配置Web代理服务器的用户浏览器发起的HTTP请求才能触发Web认证。若用户使用配置了Web代理服务器的浏览器上网,则用户的这类HTTP请求报文将被丢弃,而不能触发Web认证。这种情况下,网络管理员可以通过在设备上添加Web认证代理服务器的TCP端口号,来允许使用Web代理服务器的用户浏览器发起的HTTP请求也可以触发Web认证。
多次配置本命令可以添加多个Web认证代理服务器的TCP端口号。
配置Web认证代理服务器的TCP端口号时,需要注意的是:
· 如果用户浏览器采用WPAD(Web Proxy Auto-Discovery,Web代理服务器自动发现)方式自动配置Web代理,则不仅需要网络管理员在设备上添加Web代理服务器端口,还需要配置免认证规则,允许目的IP为WPAD主机IP地址的用户报文免认证。
· 除了网络管理员需要在设备上添加指定的Web代理服务器端口,还需要用户在浏览器上将设备的本地Portal服务器监听IP地址配置为Web代理服务器的例外地址,避免Portal用户发送给本地Portal服务器的HTTP报文被发送到Web代理服务器上,从而影响正常的Web认证。
表1-9 配置允许触发Web认证的Web代理服务器端口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
|
配置允许触发Web认证的Web代理服务器端口 |
web-auth proxy port port-number |
缺省情况下,不存在允许触发Web认证的Web代理服务器端口 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后Portal的运行情况,通过查看显示信息验证配置的效果。
表1-10 Web认证显示和维护
操作 |
命令 |
显示接口上Web认证置信息 |
display web-auth [ interface interface-type interface-name ] |
显示所有Web认证用户免认证的IP地址 |
display web-auth free-ip |
显示所有Web认证服务器信息 |
display web-auth server [ server-name ] |
显示在线Web认证用户的信息和总数 |
display web-auth user [ interface interface-type interface-name | slot slot-number ] |
用户主机与接入设备Device直接相连,接入设备在接口GigabitEthernet1/0/1上对用户进行Web认证。具体要求如下:
· 使用本地认证方式进行认证和授权。
· Web认证服务器的监听IP地址为LoopBack 0接口IP地址,TCP端口号为80。设备向Portal用户推出自定义的认证页面,并使用HTTP协议传输认证数据。
· 配置Web认证服务器的重定向URL为http://20.20.0.1/portal/。
· 配置接入设备LoopBack0接口的IP地址为20.20.0.1/24。
(1) 配置各接口加入相应VLAN、对应VLAN接口的IP地址和接口类型(略)。
(2) 配置本地用户。
# 创建名称为user1的网络接入类本地用户,并进入其视图。
<Device>system-view
[Device] local-user user1 class network
# 配置设备管理类本地用户user1的密码为明文user1@#。
[Device-luser-network-user1] password simple user1@#
# 配置设备管理类本地用户user1可以使用lan-access服务。
[Device-luser-network-user1] service-type lan-access
# 配置设备管理类本地用户user1的授权用户角色为network-admin。
[Device-luser-network-user1] authorization-attribute user-role network-admin
[Device-luser-network-user1] quit
(3) 配置IPS域
# 创建一个名称为local的ISP域,并进入其视图。
[Device] domain local
# 为lan-access用户配置认证、授权和计费方法均为local。
[Device-isp-local] authentication lan-access local
[Device-isp-local] authorization lan-access local
[Device-isp-local] accounting lan-access local
[Device-isp-local] quit
(4) 配置本地Portal Web服务器
# 创建本地Portal Web 服务器,进入本地Portal Web服务器视图,并指定使用HTTP协议和客户端交互认证信息。
[Device] portal local-web-server http
# 配置本地Portal Web服务器提供的缺省认证页面文件为abc.zip(设备的存储介质的根目录下必须已存在该认证页面文件,否则功能不生效)。
[Device-portal-local-websvr-http] default-logon-page abc.zip
# 配置本地Portal Web服务器的HTTP服务侦听的TCP端口号为80。
[Device–portal-local-websvr-http] tcp-port 80
[Device-portal-local-websvr-http] quit
(5) 配置Web认证
# 创建名称为user的Web认证服务器,并进入其视图。
[Device] web-auth server user
# 配置Web认证服务器的重定向URL为http://20.20.0.1/portal/。
[Device-web-auth-server-user] url http://20.20.0.1/portal/
# 配置Web认证服务器的IP地址为20.20.0.1,端口为80。
[Device-web-auth-server-user] ip 20.20.0.1 port 80
[Device-web-auth-server-user] quit
# 指定Web认证用户使用的认证域为local。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] web-auth domain local
# 开启Web认证,并指定引用的Web认证服务器为user。
[Device-GigabitEthernet1/0/1] web-auth enable apply server user
[Device-GigabitEthernet1/0/1] quit
以上配置完成且Web认证成功后,通过执行以下显示命令可查看在线Web认证用户的信息。
<Device> display web-auth user
Online web-auth users: 1
User Name: user1
MAC address: acf1-df6c-f9ad
Access interface: GigabitEthernet1/0/1
Initial VLAN: 14
Authorization VLAN: N/A
Authorization ACL ID: N/A
Authorization user profile: N/A
用户主机与接入设备Device直接相连,接入设备在接口GigabitEthernet1/0/1上对用户进行Web认证。具体要求如下:
· 使用远程RADIUS服务器进行认证、授权和计费。
· Web认证服务器的监听IP地址为LoopBack 0接口IP地址,TCP端口号为80。设备向Portal用户推出自定义的认证页面,并使用HTTP协议传输认证数据。
· 配置Web认证服务器的重定向URL为http://20.20.0.1/portal/。
· 配置接入设备LoopBack0接口的IP地址为20.20.0.1/24。
· 按照组网图配置设备各接口的IP地址,保证启动Portal之前各主机、服务器和设备之间的路由可达。
· 完成RADIUS服务器上的配置,保证用户的认证/计费功能正常运行,用户名为user1。
· 按照自定义认证页面文件编辑规范,完成认证页面的编辑。并上传到设备存储介质的根目录下。
(1) 配置各接口加入相应VLAN、对应VLAN接口的IP地址和接口类型(略)。
(2) 配置RADIUS方案
# 创建名称为rs1的RADIUS方案并进入该方案视图。
<Device> system-view
[Device] radius scheme rs1
# 配置RADIUS方案的主认证和主计费服务器及其通信密钥。
[Device-radius-rs1] primary authentication 192.168.0.112
[Device-radius-rs1] primary accounting 192.168.0.112
[Device-radius-rs1] key authentication simple radius
[Device-radius-rs1] key accounting simple radius
# 配置发送给RADIUS服务器的用户名不携带ISP域名。
[Device-radius-rs1] user-name-format without-domain
[Device-radius-rs1] quit
(3) 配置认证域
# 创建并进入名称为dm1的ISP域。
[Device] domain dm1
# 配置ISP域使用的RADIUS方案rs1。
[Device-isp-dm1] authentication portal radius-scheme rs1
[Device-isp-dm1] authorization portal radius-scheme rs1
[Device-isp-dm1] accounting portal radius-scheme rs1
[Device-isp-dm1] quit
(4) 配置本地Portal Web服务器
# 创建本地Portal Web 服务器,进入本地Portal Web服务器视图,并指定使用HTTP协议和客户端交互认证信息。
[Device] portal local-web-server http
# 配置本地Portal Web服务器提供的缺省认证页面文件为abc.zip(设备的存储介质的根目录下必须已存在该认证页面文件,否则功能不生效)。
[Device-portal-local-websvr-http] default-logon-page abc.zip
# 配置本地Portal Web服务器的HTTP服务侦听的TCP端口号为80。
[Device–portal-local-websvr-http] tcp-port 80
[Device-portal-local-websvr-http] quit
(5) 配置Web认证
# 创建名称为user的Web认证服务器,并进入其视图。
[Device] web-auth server user
# 配置Web认证服务器的重定向URL为http://20.20.0.1/portal/。
[Device-web-auth-server-user] url http://20.20.0.1/portal/
# 配置Web认证服务器的IP地址为20.20.0.1,端口为80。
[Device-web-auth-server-user] ip 20.20.0.1 port 80
[Device-web-auth-server-user] quit
# 指定Web认证用户使用的认证域为dm1。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] web-auth domain dm1
# 开启Web认证,并指定引用的Web认证服务器为user。
[Device-GigabitEthernet1/0/1] web-auth enable apply server user
[Device-GigabitEthernet1/0/1] quit
以上配置完成且Web认证成功后,通过执行以下显示命令可查看在线Web认证用户的信息。
<Device> display web-auth user
Online web-auth users: 1
User Name: user1
MAC address: acf1-df6c-f9ad
Access interface: GigabitEthernet1/0/1
Initial VLAN: 14
Authorization VLAN: N/A
Authorization ACL ID: N/A
Authorization user profile: N/A
在系统视图下有创建好本地认证用户、服务器、认证域等,并且在接口下正常引用。用户通过浏览器上线,能正常推出页面且始终上线失败。
分别进入本地用户视图、服务器视图、认证域视图、LoopBack0接口视图、VLAN视图下display this查看配置,也没有问题。那么问题就可能出现在接口配置里,分别进入用户接口和外网接口下display this查看配置 ,发现这两个接口下都有使能Web认证服务器。
故障出现的原因是外网接口下有使能Web认证服务器,本地单板认证中外网是不需要配置Web认证服务器使能。因此只需要将外网接口下的Web认证服务器去使能即可。
在接口下未配置domain且其他配置均正常配置的情况下,用户通过浏览器上线,上线失败。
正常情况,接口下未配置domain,默认使用domain system,domain system默认认证方式就是本地(local)。然而本地认证失败原因可能有两个,一个是修改了默认domain的认证方式,另一个是修改了系统默认domain使能。
在任意视图下使用display domain查看系统中配置的domain信息以及系统默认domain使能情况,然后可以使用domain default enable修改系统默认domain使能。在系统视图下输入domain system进入domain system视图,通过命令display this查看配置。如果认证、授权、计费方式不为local,将其undo掉即可。
用户接口加入的VLAN和外网接口加入的VLAN不是同一个VLAN时,用户使用浏览器上线,始终无法认证上线成功。
访问外网配置中,有使用LoopBack0口并配置IP地址,就不需要在接口加入的VLAN下配置IP地址。但是用户接口和外网接口需要加入同一VLAN,才能使用户正常访问外网。
进入外网接口视图,删除VLAN项,然后加入用户接口下配置的VLAN中即可。也可以进入用户视图,删除VLAN项,然后加入外网接口下配置的VLAN中即可。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!