一、现场需求
内网用户在ACG1000上做本地web认证,用户名密码存储在本地,实现无感知功能(一次登录,一段时间内无需认证)。
备注:开启认证不弹portal页面、不用认证也可以上网、https流量触发认证、snmp用户同步等问题均可参考本案例。
二、组网
现场组网如上,实验中用交换机S6800的web登录页面充当web服务器。
三、配置步骤
1、基础配置:打通PC到WEB服务器路由。(根据现场组网自行写好路由)
WG网关设备:
# interface GigabitEthernet1/0/1
port link-mode route
ip address 10.1.1.2 255.255.255.0
#
#
interface GigabitEthernet1/0/2
port link-mode route
ip address 20.1.1.1 255.255.255.0
ACG配置:
ACG接口加bvi口,写路由。
web服务器配置:
将交换机的web登录页面设置为http服务器,写好路由。
[WEBserver-Ten-GigabitEthernet1/0/1]dis th
#
interface Ten-GigabitEthernet1/0/1 port link-mode route
ip address 10.1.1.3 255.255.255.0
#
[WEBserver]ip http enable
[WEBserver]ip https enable
验证开启认证前路由可达,web服务可用。(现场自己寻找web服务器,直接访问官网web页面也可以)
此时不开认证,测试终端(ip:20.1.1.2/24,网关20.1.1.1)可以正常打开交换机web登录页面。
2、ACG认证相关配置
A、创建本地用户zzw,注意此处不可以绑定IP范围,否则用户上来直接是静态绑定用户,无需认证,直接上网。
B、本地认证地址范围20.1.1.0/24定义一个地址对象组,若用户想定义某些IP范围做认证动作,则需要定义这么一个地址对象。
C、本地web认证一些参数的定义,全局唯一,即后面在认证策略中调用的本地web认证,都采用这些定义。
D、新建认证策略,选定源接口为ACG终端侧接口,源地址为定义的需要认证的地址对象组,认证方式为WEB认证。只有同时满足多个条件才可以触发web认证。
E、识别模式调整为强制模式。
本地web认证验证
测试终端输入http://10.1.1.3后,正常弹portal页面。
输入用户名密码可正常登录。
ACG在线用户可看到认证用户。
命令行查看用户在线信息方式
YF_ACG1000# display user-waa local-waa
MAC IP Name Group-name Online-StartTime Status
38:ad:8e:03:39:c1 20.1.1.2 zzw 2022-05-16 20:36:45 no-aging
3、https报文重定向
输入https://10.1.1.3后无法正常弹portal,加入以下命令后支持https报文重定向,点击继续访问后弹portal页面。
YF_ACG1000> en
YF_ACG1000# configure terminal
YF_ACG1000(config)# user-policy https-portal enable
4、配置无感知功能
无感知功能支持情况:
终端无感知上线,实现原理如下:
当认证用户上线后会将用户MAC加入无感知列表,如果用户因超时下线,在无感知周期内,用户使用同一终端(MAC地址不变)再次上网产生流量时,会直接匹配无感知列表上线,无需再次认证;若大于超时时间,设备会将该用户MAC从无感知列表中删除,此后用户下次上线时需要重新输入账号密码进行认证。
A、Web页面开启无感知功能,命令行开启mac地址敏感。
H3C(config)# user mac-sensitive [ disable | enable ] //用户MAC敏感开关,默认关闭
B、勾选无感知
通过以下命令显示无感知用户:
YF_ACG1000# display user-waa local-waa
MAC IP Name Group-name Online-StartTime Status
38:ad:8e:03:39:c1 20.1.1.2 zzw 2022-05-16 20:36:45 no-aging
5、配置snmp跨三层mac地址学习
但由于PC的报文经三层转发,ACG无法感知终端的真实地址,识别用户上来的MAC全是网关MAC,所以需要结合SNMP用户同步,进一步识别终端真实mac信息。否则,会出现不需要认证就可以上网,因为网关MAC在无感知表项内。
<WG>display int GigabitEthernet 1/0/1
GigabitEthernet1/0/1
Current state: UP
Line protocol state: UP
Description: GigabitEthernet1/0/1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Allow jumbo frames to pass
Broadcast max-ratio: 100%
Multicast max-ratio: 100%
Unicast max-ratio: 100%
Internet address: 10.1.1.2/24 (primary)
IP packet frame type: Ethernet II, hardware address: 38ad-8e03-39c1 ///与无感知用户MAC一致
IPv6 packet frame type: Ethernet II, hardware address: 38ad-8e03-39c1
A、WG网关配置snmp
[WG]snmp-agent sys-info version v1
[WG]snmp-agent community read public
B、ACG配置用户同步
查看同步结果:
网关设备的arp信息全部被同步成功:
[WG]display arp
Type: S-Static D-Dynamic O-Openflow R-Rule M-Multiport I-Invalid
IP address MAC address VLAN/VSI name Interface Aging Type
10.1.1.1 3c8c-404e-d8e1 -- GE1/0/1 1000 D
10.1.1.3 80e4-55f5-0a4c -- GE1/0/1 1101 D
20.1.1.2 3c97-0e0b-dde1 -- GE1/0/2 1197 D
再次查看无感知表项,关联的是真实的MAC表项。
这里为啥会有两个表项呢?由于一开始未开MAC敏感导致,一定要注销掉这些用户,不然会影响认证。
YF_ACG1000# display user-waa local-waa
MAC IP Name Group-name Online-StartTime Status
3c:97:0e:0b:dd:e1 20.1.1.2 zzw 2022-05-16 20:58:40 no-aging
38:ad:8e:03:39:c1 20.1.1.2 zzw 2022-05-16 20:36:45 no-aging
6、如何清除无感知用户表项?
clear user-waa命令用于清除所有无感知上线的用户。
【命令】 clear user-waa {local-waa | qrcode-waa | sms-waa | wechat-waa} [usermac MAC]
【视图】 全局配置视图
【参数】
local-waa:清除本地无感知认证上线的用户。
qrcode-waa:清除二维码无感知认证上线的用户。
sms-waa:清除短信无感知认证上线的用户。
wechat-waa:清除微信无感知认证上线的用户。
MAC:清除指定MAC地址对应的用户。
至此配置到此结束,已认证用户再次上线识别MAC地址,直接上线,认证类型无感知。
配置前注意事项:
关于snmp同步用户功能中的录入用户组选项,若开启该选项,对应的效果如下: 录入到用户组支持手工录入和自动录入,录入的用户以IP地址作为用户名,绑定其IP及MAC地址,即此IP或MAC其中任何一个匹配均认为是此用户,此同步录入的用户属于静态绑定的用户,不会再进行其它方式的认证同时用户录入到本地后,可以针对此录入的用户组或用户进行相关功能的引用控制,比如:审计策略、控制策略、流控策略、限额策略等。
ACG1000拦截用户HTTP报文弹出认证页面机制验证:
ACG1000设备的本地web认证功能与无线和有线的portal认证机制不同,并不是拦截终端的第一个报文tcp syn,然后直接给终端重定向到认证界面(http://10.1.1.1:8008/portal/.......),而是要与访问的目的设备或者服务进行三层握手交互之后,终端发出的HTTP的get请求才会被ACG1000拦截,ACG1000会回应一个request将浏览器的页面重定向到认证界面。 所以,如果遇到ACG1000本地web认证异常时,查看配置均无问题的时候,需要确认现场的部署环境,是否有能够完成三次握手并发送get请求的环境。
A、输入http://10.1.1.3/后弹下面这个url
http://10.1.1.1:8008/portal/local/index.html?uplcyid=1&weburl=http%3A%2F%2F10.1.1.3%2Fweb%2Fframe%2Flogin.html%3Fssl%3Dfalse%26host%3D10.1.1.3
备注:上面标注的ttl值,可以看出三次握手经过了一跳(网关三层设备);重定向报文ttl为64,是acg始发的报文。
但acg是网桥模式单纯看ttl值无法石锤前面的三次握手是与WEBserver交互的,直接在WEBserver镜像抓包。
[WEBserver]display mirroring-group all
Mirroring group 1:
Type: Local
Status: Active
Mirroring port:
Ten-GigabitEthernet1/0/1 Both
Monitor port: Ten-GigabitEthernet1/0/2
#
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
port access vlan 2
mirroring-group 1 monitor-port
抓包可以看出在输入账号密码之前,PC和WEBserver交互了tcp报文。
能不能设置指定时间上网,例如工作时间可以上网,下班就踢下线
(0)
思路参考控制策略相关配置: https://zhiliao.h3c.com/Theme/details/101321
基于时间做计划
类似功能交换机也可以实现,做基于时间的包过滤,参考:
1.10.1 在接口上应用包过滤的ACL配置举例
https://www.h3c.com/cn/d_202305/1858376_30005_0.htm#_Toc136198003
(0)
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
见下面评论