『 配置 环境参数』 计算机设置为自动获取 IP 地址的方式 MA5200F 的上行口地址: 200.100.0.1 MA5200F 对端路由器地址: 200.100.0.2 RADIUS SERVER 的 IP 地址: 202.10.1.2 WEB S"/> 『 配置 环境参数』 计算机设置为自动获取 IP 地址的方式 MA5200F 的上行口地址: 200.100.0.1 MA5200F 对端路由器地址: 200.100.0.2 RADIUS SERVER 的 IP 地址: 202.10.1.2 WEB S">
第5章 强制 WEB 认证 的 配置 5.1 组网图 500)this.width=500;" border=0> 『 配置 环境参数』 计算机设置为自动获取 IP 地址的方式 MA5200F 的上行口地址: 200.100.0.1 MA5200F 对端路由器地址: 200.100.0.2 RADIUS SERVER 的 IP 地址: 202.10.1.2 WEB S
『配置环境参数』
计算机设置为自动获取IP地址的方式
MA5200F的上行口地址:200.100.0.1
MA5200F对端路由器地址:200.100.0.2
RADIUS SERVER的IP地址:202.10.1.2
WEB SERVER的IP地址:202.11.1.2
『强制WEB认证用户的接入流程是:』
l 在最开始,我们需要明确,做WEB认证的用户必须首先获取IP地址,在5200上面只有一个合法的用户才能获取到IP地址,因此,在用户进行WEB认证之前我们需要先让这个用户“合法化”,使之获取一个IP地址。这样我们首先给用户指定一个“认证前”的域,在这个域里面指定用户所使用的地址池,强制WEB的服务器地址,以及认证策略,同时利用UCL将这个域里面的用户的权限进行限制,使域里面的用户只能访问WEB服务器等资源。然后用户在获取了地址之后在浏览器的地址栏里无论输入任何的地址都会被强制到这个指定的WEB服务器上进行认证,认证通过之后的用户将属于另外一个域,我们只需要在这个域里面将用户全部的上网权限打开就可以了。
l 首先一个用户的报文在经过二层交换机的时候就带上了相应的VLAN ID;
l 用户的报文从5200的某一个端口进入的时候5200就会根据事先配置好的portvlan的数据来确定这样的一个用户在认证前和认证后分别是属于那个域的,在portvlan下面还配置了用户的认证方式是采用WEB认证;
l 该用户在找到自己所属的域之后就会根据域下面配置的地址池分配一个ip地址,随后用户需要登陆一个指定的WEB页面上去用自己的用户名和密码进行认证,然后根据域下面设置好的认证和计费策略来进行认证和计费(radius还是本地),认证通过之后该用户就能正常的上网了。
在了解了用户报文的基本接入流程之后我们就开始来配置数据,从上面的接入流程我们可以看出来,比较关键和重要的几个数据是:地址池、域、认证计费策略、PORTVLAN的数据以及RADIUS数据。
【配置地址池】
对于WEB认证的用户是首先要获取IP地址的(这个地址可以是动态获取的,也可以是静态的地址,这里我们利用动态获取地址的方法),这个地址是存在在一个事先设定好的地址池中的,这个地址池可以存在一个远端的DHCP服务器上面,也可以存在5200本机上面,如果地址池是在5200上面的话那么首先就要配置这个地址池的相关参数。
1. 创建一个名为huawei的地址池:
[MA5200F]ip pool huawei local
2. 配置地址池的网关以及掩码:
[MA5200F-ip-pool-huawei]gateway 61.10.1.1 255.255.255.0
3. 配置地址池的地址段:
[MA5200F-ip-pool-huawei]section 0 61.10.1.2 61.10.1.10
注意:
地址池中间还需要根据具体的情况配置相应的DNS服务器。
★ 如果采用的是外置的地址池的话就按照下面的内容进行配置:
注意:
MA5200R007版本在采用外置地址池的情况下也需要在本地配置此地址池,所不同的在建立地址池的时候需要将地址池的属性设置为remote,而且地址池中只需要指定gateway(这里的主要作用就是生成一条用户网关的路由),而不需要配置地址段section。同时还需要建立一个DHCP SERVER组,在这个组里面指定外置DHCP SERVER的地址(注意,这里的DHCP SERVER的ip地址并不是地址池中的gateway)
1. 建立外置一个名为remotedhcp的DHCP SERVER组:
[MA5200F]dhcp-server group remotedhcp
2. 设置此DHCP SERVER组:
这里主要是指定此DHCP SERVER组所指向的DHCP SERVER的IP地址。
[MA5200F-dhcp-server-group-remotedhcp]dhcp-server 192.168.1.10
3. 创建一个远端地址池:
[MA5200F]ip pool huaweiremote remote
4. 指定地址池的gateway以及绑定DHCP SERVER组:
[MA5200F-ip-pool-huaweiremote]gateway 61.10.1.1 255.255.255.0
[MA5200F-ip-pool-huaweiremote]dhcp-server group remotedhcp
好了,现在我们已经给用户配置了一个地址池,接下来我们要为用户设置相应的认证和计费方案。
【配置认证方案】
由于在进行WEB认证的时候需要配置两个域,所以这里需要分别设置这两个域里面的认证和计费策略。但是由于第一个域仅仅是用来使用户能够获取IP地址,所以在这个域里面所指定的认证和计费方法可以尽量的简单,可以采用不认证不计费的方式,仅仅让用户能够正常的上线获取IP地址,然后在这个域中通过UCL来限制用户的上网权限。用户在获取了IP地址之后就会到相应的WEB服务器上去进行认证,认证的时候用户将会属于另外一个域(通过用户名里面所带的域名或者5200上设置的默认域名来确定用户认证的时候属于哪个域),这样在第二个域里面可以采用合适的认证方法(本地或者radius)来对用户进行认证。
1. 进入AAA视图:
[MA5200F]aaa
2. 添加一个新的认证方案Auth1:
[MA5200F-aaa]authentication-scheme Auth1
这样接下来就进入了相应的认证方案视图。
3. 设置认证方案:
我们已经创建了一个新的认证方案Auth1,接下来我们将定义这个认证方案的具体内容。
[MA5200F-aaa-authen-auth1]authentication-mode radius
这里我们只配置了一个认证方案,这是一个radius的认证方案,为什么不配置一个认证方案给用户在WEB认证之前进行地址获取的时候使用呢?因为在5200F上面两个默认的域default0和default1,这两个域对应的认证和计费策略分别是:不认证、不计费和radius认证、radius计费。因此我们只需要将WEB认证前的用户放到default0这个域里面就能够使得用户不用认证便能获取IP地址,进而进行进一步的WEB认证。
这里我们将Auth1这一个认证方案定义为了radius(远端)认证,也就是说采用这样的一个认证方案的用户的帐号是在远端的radius服务器上进行认证的,当然在实际的开局中我们也可以根据实际的情况将认证方案设置为其它的类型,如local,这样的话这个用户的帐号将在5200本地生成并进行认证。
【配置计费方案】
1. 进入AAA视图:
[MA5200F]aaa
2. 添加一个新的计费方案Acct1:
[MA5200F-aaa]accounting-scheme Acct1
3. 设置计费方案:
[MA5200F-aaa-accounting-acct1]accounting-mode radius
同样,我们这里也是只配置了一个计费方案,而对于WEB认证之前用户获取地址的时候使用的也是default0里面的计费策略――不计费。
这里我们将Acct1这一个计费方案定义为了radius(远端)计费,也就是说采用这样的一个计费方案的用户是在远端计费服务器上进行计费的,当然在实际的开局中我们也可以根据实际的情况将计费方案设置为其它的类型,如local,这样的话这个用户将会在5200本地进行计费。
【配置radius服务器】
我们既然采用了radius的认证和计费方式,那么我们就需要在5200上面配置有关radius服务器的参数,这些参数包括了:服务器的地址、计费和认证端口、密钥等等。
1. 进入radius服务器配置视图:
[MA5200F]radius-server group radius1
其中的“radius1”是5200上面radius配置项的名字,长度不能超过32个字符。
2. 配置主备用radius服务地址和端口号:
配置主用radius服务器地址和端口号
[MA5200F-radius-radius1]radius-server authentication 202.10.1.2 1812
配置备用radius服务器地址和端口号(如果没有备用服务器这一步可以不配)
[MA5200F-radius-radius1]radius-server authentication 218.18.1.18 1812 secondary
3. 配置主备用计费服务地址和端口号:
配置主用计费服务器地址和端口号
[MA5200F-radius-radius1]radius-server accounting 202.10.1.2 1813
配置备用计费服务器地址和端口号(如果没有备用服务器这一步可以不配)
[MA5200F-radius-radius1]radius-server accounting 218.18.1.18 1813 secondary
4. 配置共享密钥:
共享密钥是5200和radius之间进行报文加密交互的重要参数,两端一定要设置的一致,因此在设置共享密钥之前需要和radius方面进行协商,这里我们假定共享密钥是huawei。
[MA5200F-radius-radius1]radius-server key Huawei
【配置WEB认证服务器】
WEB认证服务器就是平常说的portal服务器,是用来提供用户认证页面等功能的。它和radius可以是同一个服务器,也可以是不同的服务器。配置WEB认证服务器主要是配置服务器的IP地址和密钥
1. 配置WEB认证服务器以及相关参数:
[MA5200F] web-auth-server 202.11.1.2 key huawei
注意:
不论是portal v1还是portal v2版本这里都需要配置web-auth-server,对于portal v1的版本这里只需要配置一个地址就可以了。
【配置认证前的域】
这里是给WEB认证前的域(default0)添加地址池。
1. 配置域里面的地址池:
[MA5200F-aaa-domain-default0]ip-pool first Huawei
对于该域的认证和计费策略这里不用配置,采用默认的设置(不认证不计费)就可以了。
2. 配置域下面用户所属的UCL组:
[MA5200F-aaa-domain-default0]ucl-group 1
3. 配置强制WEB认证的WEB服务器地址:
[MA5200F-aaa-domain-default0]web-server 202.11.1.2
【配置认证时的域】
这里配置的是进行WEB认证的时候所使用的域,用户在获取IP地址的时候使用的是default0的默认域。
在5200上面每一个用户都是属于一个指定的(或者是默认的)域的,因此,在进行用户的配置之前我们首先要配置用户所属的域的一些参数。
1. 进入AAA视图:
[MA5200F]aaa
2. 新建一个名为isp的域:
[MA5200F-aaa]domain isp
接下来便进入了相应的域的配置视图。
3. 指定该域的认证方案和计费方案:
[MA5200F-aaa-domain-isp]authentication-scheme Auth1
[MA5200F-aaa-domain-isp]accounting-scheme Acct1
这里我们将该域的认证方案和计费方案设置为了先前定义好的两个方案Auth1和Acct1,分别是radius认证和radius计费。
4. 指定该域所使用的raidus服务器
[MA5200F-aaa-domain-isp]radius-server group radius1
这里我们就将先前配置的radius服务器radius1指定为了此isp域所使用的radius服务器。这样属于isp域的用户都将到这样的一个radius服务器上进行认证。
【配置系统的ACL策略】
这里所配置的ACL策略主要是针对认证前和认证后的用户来说的,上面我们以及在认证前和认证时的域里面指定了用户分别在认证前后属于不同的UCL组,现在我们就要针对这些不同的UCL组来进行ACL的控制,使得进行WEB认证前的用户只能访问WEB服务器,而WEB认证后的用户能够访问所有的资源。
1. 进入增强型ACL配置视图,采用默认匹配模式:
[MA5200F]acl number 101 match-order auto
提示:
100到199是增强型ACL组,采用五元组进行控制。1到99是普通型的ACL组,采用三元组进行控制。
2. 配置对于WEB认证前的用户只能访问WEB服务器和DNS服务器:
[MA5200F-acl-adv-101]rule user-net permit ip source 1 destination 202.11.1.2 0
[MA5200F-acl-adv-101]rule net-user permit ip source 202.11.1.2 0 destination 1
[MA5200F-acl-adv-101]rule user-net permit ip source 1 destination 192.168.8.188 0
[MA5200F-acl-adv-101]rule net-user permit ip source 192.168.8.188 0 destination 1
以上的配置指定了UCL group 1的用户能够访问WEB服务器,下面我们需要禁止UCL group 1的用户访问其它的地址。
[MA5200F-acl-adv-101]rule user-net deny ip source 1
3. 将101的ACL引用到全局:
[MA5200F]access-group 101
这样,用户在仅仅获取了IP地址的情况下就只能访问WEB服务器了。
【配置VLAN端口】
配置VLAN端口的目的是指定某个端口的某些指定的VLAN用户认证前后所使用的域,所采用的认证方法。
1. 进入端口VLAN的配置视图:
[MA5200F]portvlan ethernet 2 vlan 1 1
这里的含义是进入了2号以太网端口的从1开始总共1个VLAN ID的配置视图。
2. 设置该端口VLAN为二层普通用户接入类型:
[MA5200F-ethernet-2-vlan1-1]access-type layer2-subscriber
在access-type后面有多个选项,其中的layer-subscriber是指的普通的二层认证类型的端口,一般用于接入VLAN用户。
3. 配置用户所使用的域:
[MA5200F-ethernet-2-vlan1-1]default-domain authentication isp
这里只配置了认证时的域为isp,对于认证前的域系统在默认的情况下使用default0这个域,所以可以不用配置。
4. 配置端口的认证方法:
[MA5200F-ethernet-2-vlan1-1]authentication-method web
注意:
这里和前面的绑定认证所不同的是将端口的认证方法指定为了WEB,这样从2号以太网端口上来的VLAN ID为1的用户就是采用的WEB认证的方式。
【配置上行接口以及路由】
配置上行接口的目的是为了和上层的路由器或者交换机相连接,在配置上行接口的时候我们首先要将需要配置的接口指定为“非管理类型”。
1. 进入端口VLAN的配置视图:
[MA5200F]portvlan ethernet 24 0 1
2. 设置端口VLAN的接入类型为非管理类型:
[MA5200F-ethernet-24-vlan0-0]access-type interface
在access-type后面有多个选项,其中的interface是指的非管理类型的端口,用于连接上层交换机。
3. 创建VLAN子接口:
[MA5200F]interface Ethernet 24.0
这里需要说明一下,创建上行接口的步骤是先将一个端口上的某一个VLAN指定为“非管理类型”,然后再在这个端口上创建此VLAN的子接口。这里多了一个概念就是“VLAN子接口”。
这样,一个物理端口上就可以创建多个逻辑的VLAN子接口,每个子接口可以配置不同的ip地址。这样报文在上行的时候就可以根据需要走不同的ip上行,并且带上相应的VLAN ID,三层交换机(或者二层交换机)就可以根据这样的VLAN ID对用户的报文进行不同路径的转发了。增强了转发的灵活性。如果这里的VLAN子接口设置为0的话就是不带 VLAN ID上去。
4. 在 VLAN子接口下配置ip地址:
[MA5200F-Ethernet24.0]ip address 200.100.0.1 255.255.255.252
5. 配置默认路由:
对于一般条件的接入业务,5200上面只需要配置一条指向上行路由器端口的默认路由就可以了:
[MA5200F]ip route-static 0.0.0.0 0.0.0.0 200.100.0.2
计算机应该能够获取到61.10.1.0/24网段的IP地址,此时应该只可以ping通用户的网关地址61.10.1.1;之后用户在IE的地址栏里面输入任意的IP地址,然后就会强制登陆到WEB SERVER上区进行WEB认证,认证通过之后应该能够ping通对端路由器的地址202.100.0.2(对端路由器需要做到MA5200F下面用户网段的回程路由)。
同时可用display access-user来查看用户是否上线。