一、需求背景

      当用户首次上网时,会要求用户提交用户名密码信息,如果用户提交的用户名密码信息和本地(或第三方服务器)一致,则给予认证通过。
      一般适用于对认证要求严格,希望上网日志记录具体的帐号,或希望和客户现有的第三方服务器结合认证的场景。

二、HTTP协议基础

HTTP协议简介

    什么是超文本(HyperText)?Hyper Text Transfer Protoco

       包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。
   什么是URL?
       URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。如:
   什么是超文本传输协议HTTP?
       是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

HTTP工作原理

请求/响应交互模型

在用户点击URL为 http://www.qq.com/index.html的链接后,浏览器和Web服务器执行以下动作:

1.浏览器分析超链接中的URL

2.浏览器向DNS请求解析www.qq.com的IP地址

3.DNS将解析出的IP地址222.246.129.80返回浏览器

4.浏览器与服务器建立TCP连接(80端口)

5.浏览器请求文档:GET /index.html

6.服务器给出响应,将文档index.html发送给浏览器

7.释放TCP连接

8.浏览器显示index.html中的内容

HTTP请求方法

  请求报文中的方法
     POST - 向指定的资源提交要被处理的数据

HTTP响应

       响应报文中的状态码

          状态码(Status-Code)是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么。状态码分为以下五类:

 

HTTP头部

三、密码认证实战流程

以访问www.qq.com为例
   第一步:PC先进行www.qq.com DNS解析域名过程
   第二步:PC向解析出的www.qq.com服务器地址发起tcp三次握手
   第三步:PC向www.qq.com 服务器发出GET请求,请求主页
   第四步:AC拦截PC的GET请求,并把AC自己伪装成服务器(用腾讯服务器的IP给PC发包),给PC回复HTTP 302 Moved Temporarily ,要求PC重定向请求以下URL
http://10.1.3.4:80/ac_portal/proxy.html?template=default&tabs=pwd&vlanid=0&url
=http://www.qq.com%2f 其中10.1.3.4就是AC设备的LAN IP、网桥IP或者虚拟IP
   第五步:PC自动重定向访问AC的认证界面,输入正确的账号密码,登录成功

四、故障排查与优化

如果“密码认证页面”无法正常弹出,应该如何排查?

   先确认网络环境,手动打开是否可以打开
     1、网桥部署虚拟地址是否跟内网冲突,PC浏览器是否做了上网代理
     2、AC下接的设备是否有做限制
     3、需要启用未通过认证的用户允许访问dns服务
     4、访问的如果是https的网站需要启用HTTPS请求未通过认证时,重定向到认证页面(代理时除外)
     5、根据关联的上网策略不能拒绝http应用和dns应用
     6、防火墙规则不能拒绝8053端口【系统管理】-【防火墙】-LAN-WAN

特殊环境适配

   如果以设备网桥模式部署在30位掩码的环境中是否还能弹出重定向页面?
    答:AC部署在防火墙和核心交换机之间,在防火墙与AC连接的接口配置一个新的网段地址(AC在网桥模式不支持NAT,下一代防火墙在网桥模式支持NAT)

五、用户和用户组管理

【用户管理】-【组/用户】:可以查看、新增、删除用户/组信息

【限制在以下地址范围内登录】:指的是账号只能在设置地址范围的终端上登录,其它账号也可以在这些地址上登录。

终端绑定(用户绑定):被绑定的地址只能在此账号登录,用户同时可以绑定多终端,可以用于免认证
可以一次新建一个用户或组,也可以一次新建多个组,添加多个组时,名称用英文逗号隔开
如果用户和组太多,可以将用户和组格式做成csv表格,一次性导入设备。
如果只添加用户,且认证方式为不需要认证,单点登录,也可以通过认证策略自动添加新用户。

用户注销机制

1. 在【系统管理】-【在线用户管理】中强制注销在线用户 (临时用户,Dkey用户,无需认证的用户无法被强制注销)
2. 在【认证选项】中选择【无流量时强制注销用户】(对所有用户生效)
3. 在【用户认证与管理】-【认证高级选项】-【认证选项】里设置【每天强制注销】,并设置注销时间(对所有用户生效)
4. 设置认证页面关闭时自动注销
5. 设置MAC变动时自动注销
Logo

一座年轻的奋斗人之城,一个温馨的开发者之家。在这里,代码改变人生,开发创造未来!

更多推荐