本举例是在F1000-AI-55的R8860版本上进行配置和验证的。
本举例是在MSR26-30的Version 7.1.064, ESS 0701版本上进行配置和验证的。
本举例以iMC为例(使用iMC版本为:iMC PLAT 7.3 (E0606)、iMC UAM 7.3 (E0503)、iMC CAMS 7.3 (E0501)、iMC EIA 7.3 (E0512),说明RADIUS server和Portal server的基本配置。
在下图网络环境中企业需要对Portal用户进行身份识别和访问控制,具体要求如下:
采用一台Portal服务器承担Portal认证服务器和Portal Web服务器的职责。
采用RADIUS服务器作为认证服务器。
配置RESTful服务器用于存储帐号信息。
用户通过静态方式配置IP地址,并在NAS设备上进行Portal认证后接入网络。
在Device上对所有Portal在线用户进行身份识别和基于用户的访问控制,具体要求如下:
用户user10001即不能访问FTP server,也不能访问Internet。
用户user10002仅能与FTP server互通,不能访问Internet。
用户user10003仅能访问Internet,不能访问FTP server。
Internet上的用户不能主动访问Trust安全域和DMZ安全域中的主机。
图-1 基于RADIUS单点登录的身份识别与管理配置组网图
完成本配置举例需要在Host、Router、Device和iMC服务器上进行相关配置,具体配置思路如下图所示。
图-2 基于RADIUS单点登录的身份识别与管理配置思路图
因为iMC服务器只有收到用户的计费停止报文后,才会将此用户下线。所以在此配置举例中即使不需要对Portal用户进行计费,仍然需要在Device的认证域中配置计费功能(iMC服务器上不需要配置计费策略),否则在Portal用户下线时虽然设备上已经下线,但iMC服务器不会将此用户下线。
# 配置接口GigabitEthernet0/0的IP地址为20.2.1.1。
<Router> system-view
[Router] interface gigabitethernet 0/0
[Router-GigabitEthernet0/0] ip address 20.2.1.1 255.255.255.0
[Router-GigabitEthernet0/0] quit
# 配置接口GigabitEthernet0/1的IP地址为192.168.100.90。
[Router] interface gigabitethernet 0/1
[Router-GigabitEthernet0/1] ip address 192.168.100.90 255.255.255.0
[Router-GigabitEthernet0/1] quit
# 配置缺省路由保证Router与FTP server和Internet路由可达。
[Router] ip route-static 0.0.0.0 0.0.0.0 192.168.100.88
# 开启设备的SNMP Agent功能。
[Router] snmp-agent
# 配置设备支持SNMP所有版本、只读团体名为public,读写团体名为private。
[Router] snmp-agent sys-info version all
[Router] snmp-agent community read public
[Router] snmp-agent community write private
# 创建名称为rs1的RADIUS方案并进入该方案视图。
[Router] radius scheme rs1
# 配置RADIUS方案的主认证服务器及其通信密钥。
[Router-radius-rs1] primary authentication 192.168.100.244
[Router-radius-rs1] primary accounting 192.168.100.244
[Router-radius-rs1] key authentication simple admin
# 配置发送给RADIUS服务器的用户名不携带ISP域名。
[Router-radius-rs1] user-name-format without-domain
[Router-radius-rs1] quit
# 创建并进入名称为dm1的认证域。
[Router] domain dm1
# 配置ISP域使用的RADIUS方案rs1。
[Router-isp-dm1] authentication portal radius-scheme rs1
[Router-isp-dm1] authorization portal radius-scheme rs1
[Router-isp-dm1] accounting portal radius-scheme rs1
[Router-isp-dm1] quit
# 配置Portal认证服务器:名称为newpt,IP地址为192.168.100.244,密钥为明文admin,监听Portal报文的端口为50100。
[Router] portal server newpt
[Router-portal-server-newpt] ip 192.168.100.244 key simple admin
[Router-portal-server-newpt] port 50100
[Router-portal-server-newpt] quit
# 配置Portal Web服务器的URL为http://192.168.100.244:8080/portal。
[Router] portal web-server newpt
[Router-portal-websvr-newpt] url http://192.168.100.244:8080/portal
[Router-portal-websvr-newpt] quit
# 在接口GigabitEthernet0/0上开启直接方式的Portal认证。
[Router] interface gigabitethernet 0/0
[Router–GigabitEthernet0/0] portal enable method direct
# 在接口GigabitEthernet0/0上引用Portal Web服务器为newpt。
[Router–GigabitEthernet0/0] portal apply web-server newpt
# 在接口GigabitEthernet0/0上配置Portal用户使用的认证域为dm1。
[Router–GigabitEthernet0/0] portal domain dm1
[Router–GigabitEthernet0/0] quit
# 开启设备的SNMP Agent功能。
<Device> system-view
[Device] snmp-agent
# 配置设备支持SNMP所有版本、只读团体名为public,读写团体名为private。
[Device] snmp-agent sys-info version all
[Device] snmp-agent community read public
[Device] snmp-agent community write private
# 开启基于HTTP的SOAP功能。
[Device] netconf soap http enable
# 开启基于HTTPS的SOAP功能。
[Device] netconf soap https enable
# 开启基于HTTP的RESTful功能。
[Device] restful http enable
# 开启基于HTTPS的RESTful功能。
[Device] restful https enable
# 选择“网络 > 接口 > 接口”,进入接口配置页面。
# 单击接口GE1/0/1右侧的<编辑>按钮,配置如下。
安全域:Trust
选择“IPv4地址”页签,配置IP地址/掩码:192.168.100.88/24
其他配置项使用缺省值
# 单击<确定>按钮,完成接口IP地址和安全域的配置。
# 按照同样的步骤配置接口GE1/0/2,配置如下。
安全域:DMZ
IP地址/掩码:11.1.1.1/24
其他配置项使用缺省值
# 按照同样的步骤配置接口GE1/0/3,配置如下。
安全域:Untrust
IP地址/掩码:12.1.1.1/24
其他配置项使用缺省值
配置静态路由保证Device与user网络路由可达。
本举例仅以静态路由为例,若实际组网中需采用动态路由,请配置对应的动态路由协议。
# 选择“网络 > 路由 > 静态路由 > IPv4静态路由”,单击<新建>按钮,进入新建IPv4静态路由页面。
# 新建IPv4静态路由,并进行如下配置:
目的IP地址:20.2.1.0
掩码长度:24
下一跳IP地址: 192.168.100.90
其他配置项使用缺省值
# 单击<确定>按钮,完成静态路由的配置。
配置缺省路由保证Device与Internet路由可达。(此处以Device连接Internet的下一条IP地址是12.1.1.2为例,实际组网中,请以运营商提供的实际IP地址为准)
本举例仅以静态路由为例,若实际组网中需采用动态路由,请配置对应的动态路由协议。
# 选择“网络 > 路由 > 静态路由 > IPv4静态路由”,单击<新建>按钮,进入新建IPv4静态路由页面。
# 新建IPv4静态路由,并进行如下配置:
目的IP地址:0.0.0.0
掩码长度:0
下一跳IP地址:12.1.1.2
其他配置项使用缺省值
# 单击<确定>按钮,完成静态路由的配置。
# 选择“系统 > 管理员 > 管理员”,管理员页面。
# 在管理员页面,单击admin用户右边的<编辑>按钮,进入修改管理员页面。
# 在修改管理员页面,配置其拥有HTTP服务。其他配置项保持默认情况即可,如下图所示。
图-3 修改管理员信息
# 其他配置项保持默认情况即可。
# 单击<确定>按钮,完成管理员信息修改。
开启用户身份识别功能。
# 选择“对象 > 用户 > 用户管理 > 在线用户”,选择在线用户页签。
# 在在线用户页面,单击<开启身份识别功能>按钮,开启用户身份识别功能。如下图所示。
图-4 开启身份识别功能
创建名称为rest1的RESTful服务器
# 选择“对象 > 用户 > 认证管理 > RESTful服务器”,进入RESTful服务器页面。
# 在RESTful服务器页面,单击<新建>按钮,进入新建RESTful服务器页面。
# 在新建RESTful服务器页面,配置相关参数信息,具体内容如下图所示。
图-5 新建RESTful服务器
# 其他配置项保持默认情况即可。
# 单击<确定>按钮,完成策略配置。
RESTful服务器的具体配置信息如下:
名称:rest1
用户名:admin
密码:admin。
获取用户账号的URI:http://192.168.100.244:8080/imcrs/uam/acmUser/acmUserList
获取在线用户的URI:http://192.168.100.244:8080/imcrs/uam/online
获取用户组的URI:http://192.168.100.244:8080/imcrs/uam/acmUser/userGroup
以上关于URI的部分,对于iMC服务器URI是如下固定的内容,其中仅IP地址可以被替换。
创建名称为imc的用户导入策略
# 选择“对象 > 用户 > 用户管理 > 用户导入策略”,进入用户导入策略页面。
# 在用户导入策略页面,单击<新建>按钮,进入新建导入策略页面。
# 在新建导入策略页面,配置相关参数信息,具体内容如下图所示。
图-6 新建导入策略
# 其他配置项保持默认情况即可。
# 单击<确定>按钮,完成策略配置。
# 在设备与iMC正常通信后,在用户导入策略页面选择imc用户导入策略,单击<手工导入身份识别用户>和<手工导入在线用户>按钮,将iMC服务器上的账户信息和在线用户信息导入设备。如下图所示。
图-7 导入账户和在线用户
此步骤保证Device能够从iMC上同步身份识别用户信息。
# 创建名称为trust-local的安全策略,使Trust安全域到Local安全域的报文可通。
# 选择“策略 > 安全策略 > 安全策略”,单击<新建>按钮,选择新建策略,进入新建安全策略页面。
# 新建安全策略,并进行如下配置:
名称:trust-local
源安全域:trust
目的安全域:local
类型:IPv4
动作:允许
其他配置项使用缺省值
# 单击<确定>按钮,完成安全策略的配置。
# 按照同样的步骤配置名称为local-trust的安全策略,使Local安全域到Trust安全域的报文可通,配置如下。
名称:local-trust
源安全域:local
目的安全域:trust
类型:IPv4
动作:允许
其他配置项使用缺省值
# 按照同样的步骤配置名称为user10002的安全策略,仅允许user10002与FTP server互通,但是禁止其他用户访问FTP server,配置如下。
名称:user10002
源安全域:trust、dmz
目的安全域:trust、dmz
类型:IPv4
动作:允许
用户:user10002
其他配置项使用缺省值
# 按照同样的步骤配置名称为user10003的安全策略,仅允许user10003主动访问Internet,但是禁止Internet用户主动访问内网。
名称:user10003
源安全域:trust
目的安全域:untrust
类型:IPv4
动作:允许
用户:user10003
其他配置项使用缺省值
# 在iMC上增加设备保证iMC可以监控和管理设备,具体配置步骤如下。
登录iMC管理平台
# 在浏览器地址栏中输入iMC管理平台的URL。本配置举例中iMC管理平台的URL为http://192.168.100.244:8080/imc/,用户名和密码均为admin,具体步骤略。
增加设备
# 选择“资源”页签,单击导航树中的[资源管理/增加设备]菜单项,进入增加设备配置页面,其配置内容如下图所示,其中Telnet参数的用户名和密码均为admin;其他配置保持默认值即可,其中SNMP的只读团体字密码缺省值为public,读写团体字密码缺值省为private。
图-8 增加设备
# 单击<确定>按钮完成操作。
# 请参考以上步骤添加设备Router,IP地址为192.168.100.90,具体配置步骤略。
修改NETCONF参数信息
# 选择“资源”页签,单击导航树中的[视图管理/设备视图]菜单项,进入设备视图列表页面,在此页面的设备标签列单击目标设备,进入某设备的详细信息页面,如下图所示。
图-9 设备视图列表
# 在设备详细信息页面的右侧,依次单击[配置/修改NETCONF参数],在弹出的对话框中单击加号添加协议,具体配置内容如下图所示,其中用户名和密码为admin。
# 单击<确定>按钮完成操作。
在安全业务中同步设备,保证设备与iMC服务器上的配置信息和用户信息的同步
# 选择“业务”页签,单击导航树中的[安全业务管理/设备管理]菜单项,进入设备管理配置页面,在设备管理页签下的设备列表中可以看到添加成功的设备,如下图所示。
图-10 安全设备管理页面(未同步)
# 选中需要同步的设备单击<同步>按钮,进行设备同步。设备同步完成后同步状态一列会显示成功,如下图所示。(同步时间较长,请耐心等待)
图-11 安全设备管理页面(同步中)
图-12 安全设备管理页面(同步成功)
配置用户认证系统参数和用户通知参数,保证iMC服务器将用户的上下线信息实时同步给设备
# 选择“业务”页签,单击导航树中的[安全业务管理/全局参数配置]菜单项,进入全局参数配置页面,在此页面配置用户认证系统参数,如下图所示。
请根据Portal认证服务器的协议类型,选择对应的协议类型。用户名和密码与登录iMC服务器的相同。
图-13 配置用户认证系统参数
# 选择“用户”页签,单击导航树中的[接入策略管理/业务参数配置/系统配置]菜单项,进入系统配置页面,在此页面选择用户通知参数配置进入修改用户通知页面,如下图所示。
此处的共享密钥没有用到,随意输入即可。
图-14 修改用户通知
登录iMC管理平台
# 在浏览器地址栏中输入iMC管理平台的URL。本配置举例中iMC管理平台的URL为http://192.168.100.244:8080/imc/,用户名和密码均为admin,具体步骤略。
增加接入设备
# 选择“用户”页签,单击导航树中的[接入策略管理/接入设备管理/接入设备配置]菜单项,进入接入设备配置页面,在该页面中单击<增加>按钮,进入增加接入设备页面。配置共享密钥为admin,其他配置如下图所示。
图-15 增加接入设备
# 单击<确定>按钮完成操作。
· 添加的接入设备IP地址要与Router发送RADIUS报文的源地址保持一致。缺省情况下,设备发送RADIUS报文的源地址是发送RADIUS报文的接口IP地址。
· 若设备上通过命令nas-ip或者radius nas-ip指定了发送RADIUS报文的源地址,则此处的接入设备IP地址就需要修改并与指定源地址保持一致。
· 若设备使用缺省的发送RADIUS报文的源地址,例如,本例中为接口GigabitEthernet0/1的IP地址192.168.100.90,则此处接入设备IP地址就选择192.168.100.90。
增加接入策略
# 选择“用户”页签,单击导航树中的[接入策略管理/接入策略管理]菜单项,进入接入策略管理配置页面,在该页面中单击<增加>按钮,进入增加接入策略页面。配置接入策略名为Portal,其他配置项使用缺省值即可,如下图所示。
图-16 增加接入策略
# 单击<确定>按钮完成操作。
增加接入服务
# 选择“用户”页签,单击导航树中的[接入策略管理/接入服务管理]菜单项,进入接入服务管理配置页面,在该页面中单击<增加>按钮,进入增加接入服务页面。配置服务名为Portal,引用的缺省接入策略为Portal,其他配置项使用缺省值即可,如下图所示。
图-17 增加接入服务
# 单击<确定>按钮完成操作。
增加接入用户
# 选择“用户”页签,单击导航树中的[接入用户管理/接入用户]菜单项,进入接入用户配置页面,在该页面中单击<增加>按钮,进入增加接入用户页面。配置用户姓名为user,帐号名为user10001,密码为admin,接入服务选择Portal,其他配置项使用缺省值即可,如下图所示。
图-18 增加接入用户
# 单击<确定>按钮完成操作。
# 请参考上面的配置步骤,继续增加帐号user10002和user10003。
登录iMC管理平台
# 在浏览器地址栏中输入iMC管理平台的URL。本配置举例中iMC管理平台的URL为http://192.168.100.244:8080/imc/,用户名和密码均为admin,具体步骤略。
配置Portal服务器
# 选择“用户”页签,单击导航树中的[接入策略管理/Portal服务器管理/服务器配置]菜单项,进入服务器配置页面。根据实际组网情况调整以下参数,本例中使用缺省配置。
图-19 Portal服务器配置
增加IP地址组
# 选择“用户”页签,单击导航树中的[接入策略管理/Portal服务器管理/IP地址组配置]菜单项,进入IP地址组配置页面,在该页面中单击<增加>按钮,进入增加IP地址组配置页面。配置内容如下图所示。
图-20 增加IP地址组
# 单击<确定>按钮完成操作。
增加Portal设备
# 选择“用户”页签,单击导航树中的[接入策略管理/Portal服务器管理/设备配置]菜单项,进入设备配置页面,在该页面中单击<增加>按钮,进入增加设备信息配置页面。配置密钥为admin,其它配置内容如下图所示。
图-21 增加Portal设备配置
# 单击<确定>按钮完成操作。
Portal设备关联IP地址组
# 选择“用户”页签,单击导航树中的[接入策略管理/Portal服务器管理/设备配置]菜单项,进入设备配置页面,在设备配置页面中的设备信息列表中,点击Router设备操作中的<端口组信息管理>按钮,进入端口组信息配置页面。
图-22 设备信息列表
# 在端口组信息配置页面中点击<增加>按钮,进入增加端口组信息配置页面。配置内容如下图所示。
图-23 增加端口组信息配置
# 单击<确定>按钮完成操作。
# 在Host上配置IP地址、子网掩码、默认网关保证Host可以正常与外部通信,具体配置步骤略。
在Host上验证Portal用户的接入认证
# 在浏览器地址栏中输入Portal Web服务器的URL:http://192.168.100.244:8080/portal,登录Portal认证页面,输入用户名和密码,单击<Log In>按钮,Portal用户认证成功后如下图所示。
图-24 Portal用户认证成功示意图
iMC上的本地在线用户
用户user10001、user10002和user10003进行Portal认证成功后,可以在iMC的本地在线用户列表中看到,如下图所示。
图-25 本地在线用户示意图
在Device上查看身份识别用户信息
# 显示所有身份识别用户信息。
[Device] display user-identity all user
User ID Username
0x2 user10001
0x3 user10002
0x4 user10003
# 显示非域下名称为user10001的在线身份识别用户信息。
[Device] display user-identity online-user null-domain name user10001
User name: user10001
IP : 20.2.1.11
MAC : 0011-95e4-4aa9
Type: Dynamic
Total 1 records matched.
# 显示非域下名称为user10002的在线身份识别用户信息。
[Device] display user-identity online-user null-domain name user10002
User name: user10002
IP : 20.2.1.12
MAC : 0011-95e4-4aa3
Type: Dynamic
Total 1 records matched.
# 显示非域下名称为user10003的在线身份识别用户信息。
[Device] display user-identity online-user null-domain name user10003
User name: user10003
IP : 20.2.1.13
MAC : 0011-95e4-4aa2
Type: Dynamic
Total 1 records matched.
Device基于用户的访问控制效果
# 用户user10001不可Ping通FTP server。
C:\>ping 11.1.1.2
Pinging 11.1.1.2 with 32 bytes of data:
Request time out.
Request time out.
Request time out.
Request time out.
Ping statistics for 11.1.1.2:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
# 用户user10002可Ping通FTP server。
C:\>ping 11.1.1.2
Pinging 11.1.1.2 with 32 bytes of data:
Reply from 11.1.1.2: bytes=32 time=36ms TTL=253
Reply from 11.1.1.2: bytes=32 time<1ms TTL=253
Reply from 11.1.1.2: bytes=32 time<1ms TTL=253
Reply from 11.1.1.2: bytes=32 time<1ms TTL=253
Ping statistics for 11.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 36ms, Average = 9ms
# 当用户user10002Ping通FTP server时,Device上会生成日志信息。
# 用户user10003可Ping通Internet上的主机。(假设Internet上存在一个IP地址为12.1.1.2的主机,实际组网中请以实际情况为准)
C:\>ping 12.1.1.2
Pinging 12.1.1.2 with 32 bytes of data:
Reply from 12.1.1.2: bytes=32 time=37ms TTL=253
Reply from 12.1.1.2: bytes=32 time<1ms TTL=253
Reply from 12.1.1.2: bytes=32 time<1ms TTL=253
Reply from 12.1.1.2: bytes=32 time<1ms TTL=253
Ping statistics for 12.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 36ms, Average = 9ms
# 当用户user10003Ping通Internet上的主机时,Device上会生成日志信息。
[Router] display current-configuration
#
interface GigabitEthernet0/0
port link-mode route
ip address 20.2.1.1 255.255.255.0
portal enable method direct
portal domain dm1
portal apply web-server newpt
#
interface GigabitEthernet0/1
port link-mode route
ip address 192.168.100.90 255.255.255.0
#
interface GigabitEthernet3/0
port link-mode route
combo enable copper
#
ip route-static 0.0.0.0 0 192.168.100.88
#
snmp-agent
snmp-agent local-engineid 800063A28074258A37B5F500000001
snmp-agent community write private
snmp-agent community read public
snmp-agent sys-info version all
#
radius scheme rs1
primary authentication 192.168.100.244
primary accounting 192.168.100.244
key authentication cipher $c$3$hhbEbD5Ycvw7VWqljAoMoU7hQRgcUjtg
user-name-format without-domain
#
domain dm1
authentication portal radius-scheme rs1
authorization portal radius-scheme rs1
accounting portal radius-scheme rs1
#
domain system
#
domain default enable system
#
local-user admin class manage
password hash $h$6$UbIhNnPevyKUwfpm$LqR3+yg1IjNct39MkOR0H0iQXLkYB3jMqM4vbAeoXOh
babIIFnjJPEGR00YiYA1Sz4LiY3FmEdru2fOLMb1shQ==
service-type telnet http
authorization-attribute user-role network-admin
#
portal web-server newpt
url http://192.168.100.244:8080/portal
#
portal server newpt
ip 192.168.100.244 key cipher $c$3$+UmaGOco7eHsjOqlrp8lI4eYe0A8NpYU
#
return
[Device] display current-configuration
#
interface GigabitEthernet1/0/1
port link-mode route
ip address 192.168.100.88 255.255.255.0
#
interface GigabitEthernet1/0/2
port link-mode route
ip address 11.1.1.1 255.255.255.0
#
interface GigabitEthernet1/0/3
port link-mode route
ip address 12.1.1.1 255.255.255.0
#
security-zone name Trust
import interface GigabitEthernet1/0/1
#
security-zone name DMZ
import interface GigabitEthernet1/0/2
#
security-zone name Untrust
import interface GigabitEthernet1/0/3
#
line vty 0 63
authentication-mode scheme
user-role network-admin
#
ip route-static 0.0.0.0 0 12.1.1.2
ip route-static 20.2.1.0 24 192.168.100.90
#
snmp-agent
snmp-agent local-engineid 800063A280487ADA9593B700000001
snmp-agent community write private
snmp-agent community read public
snmp-agent sys-info version all
snmp-agent target-host trap address udp-domain 192.168.100.244 params securityn
ame public v2c
#
local-user admin class manage
password hash $h$6$UbIhNnPevyKUwfpm$LqR3+yg1IjNct39MkOR0H0iQXLkYB3jMqM4vbAeoXOh
babIIFnjJPEGR00YiYA1Sz4LiY3FmEdru2fOLMb1shQ==
service-type ssh telnet terminal http https
authorization-attribute user-role level-3
authorization-attribute user-role network-admin
authorization-attribute user-role network-operator
#
netconf soap http enable
netconf soap https enable
restful http enable
restful https enable
#
user-identity enable
user-identity user-account auto-import policy imc
#
user-identity restful-server rest1
login-name admin password cipher $c$3$phGy00HA6OP6pIpGI0KOKZEOPuLVbtt/
uri get-user-database http://192.168.100.244:8080/imcrs/uam/acmUser/acmUserList
uri get-user-group-database http://192.168.100.244:8080/imcrs/uam/acmUser/userGroup
uri get-online-user http://192.168.100.244:8080/imcrs/uam/online
#
user-identity user-import-policy imc
account-update-interval 1
restful-server rest1
#
security-policy ip
rule 0 name trust-local
action pass
source-zone trust
destination-zone local
rule 1 name local-trust
action pass
source-zone local
destination-zone trust
rule 2 name user10002
action pass
logging enable
source-zone trust
source-zone dmz
destination-zone dmz
destination-zone trust
user user10002
rule 3 name user10003
action pass
logging enable
source-zone trust
destination-zone untrust
user user10003
#