首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Portal组网架构、协议报文、用户认证流程讲解Portal组网架构Portal协议报文格式用户接入Portal认证的方式Portal认证的认证方式

  • 23-09-05 02:42
  • 2085
  • 8828
blog.csdn.net

目录

Portal组网架构

Portal协议报文格式

用户接入Portal认证的方式

Portal认证的认证方式


802.1x认证点多,配置量大,使用portal认证

Portal认证也称为Web认证,通过网站的形式进行身份认证,免除客户端(只需要网络浏览器的支持,也可以使用Portal客户端软件进行认证),一般将Portal认证网站称为门户网站

Portal组网架构

认证客户端

一般为运行HTTP/HTTPS协议的浏览器,也可以是运行Portal客户端软件的主机

接入设备NAS

一般为交换机或路由器,主要有三个作用

在认证之前,将用户的所有HTTP请求都重定向到Portal服务器

在认证过程中,与Portal服务器、认证/计费服务器等进行交互,完成身份认证/计费的功能

在认证通过后,允许用户访问被管理员授权的互联网资源

Portal服务器

接收Portal客户端认证请求,提供基于Web认证的界面

与接入设备交互认证客户端的认证信息

认证/计费服务器

与接入设备进行交互,完成对用户的认证和计费

通常为Radius服务器

Web认证版本

Portal协议报文格式

Portal端口号为UDP 2000

Version Portal协议版本号

默认为0x02

Poratl协议常用报文Type

REQ_CHALLENGE Portal服务器向接入设备发送的挑战请求报文        0x01(也可以是终端发给Portal服务器)

ACK_CHALLENGE  接入设备对Portal服务器的挑战请求的响应报文   0x02(也可以是Portal服务器发给终端)

REQ_AUTH           Portal服务器向接入设备发送的认证请求报文         0x03(也可以是终端发给Portal服务器)

ACK_AUTH           接入设备对Portal服务器的认证请求报文的响应      0x04(也可以是Portal服务器发给终端)

AFF_ACK_AUTH    Portal服务器向接入设备发送认证成功的响应报文 0x07(也可以是终端发给Portal服务器)

REQ_LOGOUT       Portal服务器向接入设备发送的下线请求报文        0x05

ACK_LOGOUT       接入设备对Portal服务器下线请求的响应报文        0x06

NTF_LOGOUT       接入设备向Portal服务器发送用户被强制下线通知的报文    0x08

ACK_NTF_LOGPUT              Portal服务器通知接入设备用户强制下线成功       0x0e

注意事项

REQ_CHALLENGE和ACK_CHALLENGE只有在使用CHAP协议时才会使用到

AuthType      认证方式

目前只支持CHAP和PAP

CHAP:0x00 三次握手,密文方式传输用户名

PAPA:0x01 两次握手,明文方式传输用户名

SeriaINo与RequestID

SeriaINo报文的序列号,由Portal服务器随机生成;Portal服务器必须保证再同一个认证流程中的所有报文序列号相同(不同认证流程下的报文序列号在一定时间不得重复)

RequestID报文ID,由接入设备生成,RequestID不会重复

UserIP

Portal用户的IP地址

UserPort

保留字段,为0

ErrCode

错误码,根据不同的Type值,错误码有不同的含义

Authenticator

验证字段,由MD5算法对各个字段计算后得出来的数据

Attribute

可变长字段,为TLV格式

关于Radius报文

AAA与Radius协议讲解_radius协议详解_静下心来敲木鱼的博客-CSDN博客

用户接入Portal认证的方式

通过HTTP/HTTPS进行接入,主要在客户端和Portal服务器之间进行交互

用户触发Portal认证的两种方式

用户开机获取IP地址后,通过登录Portal认证网站进行认证,认证通过后即可访问Internet

主动认证

用户需要知道Portal服务器的IP地址,主动登录到Portal门户网站进行Portal认证

重定向认证

用户输入的访问地址不是Portal服务器的IP地址,然后被接入设备强制重定向到Portal服务器

根据客户端与接入设备之间的网络分为不同的认证方式

二层直连Portal认证:客户端与接入设备之间为二层网络

接入设备在连接用户的二层端口上开启Portal认证,只允许源MAC通过认证的用户才可以访问外部网络;目前该认证方式仅支持本地Portal认证(即接入设备作为本地的Portal服务器向用户提供Web认证服务;也就是内置Portal认证)

三层Portal认证:客户端与接入设备之间为三层网络

在连接用户的三层端口上开启Portal认证,其中又细分为三种不同的认证方式

直接认证

用户在认证前通过手工配置或DHCP直接获取一个IP地址,只能访问Portal服务器以及设定的免费访问地址;认证通过后才可以访问网络资源

二次地址分配认证

用户在认证前通过DHCP获取到一个私网地址,只能访问Portal服务器以及设定的免费访问地址;认证通过后会重新申请一个公网地址来访问网络资源,认证失败后不会获取IP地址

可跨三层认证

和直接认证类似,只不过此认证方式允许认证用户和接入设备之间跨三层设备转发

用户接入Portal认证的流程

Portal认证的认证方式

对于Porta认证我们由一代Portal认证和二代Portal认证,它们之间的主要区别如下(以下我们介绍的都是二代Web认证流程)

一代Web认证 –Poratl服务器和Radius服务器进行认证报文交互

终端把用户名和密码提交上来之后,通过Portal界面提交给Portal服务器

Porta服务器直接把用户名和密码发给Radius服务器

Radius服务器校验之后告诉给Portal服务器,Portal向终端返回认证成功界面;

Portal服务器再把认证的结果告诉接入设备,接入把相应的上网通道给打开

二代Web认证—接入设备代替Portal服务器和Radius服务器进行认证报文交互(Portal感知不到Radius服务器)

终端输入用户名和密码之后,通过Portal界面提交到Portal服务器

Portal服务器把用户名和密码提交给接入设备,接入设备去发送Radius报文和Radius服务器去交互进行认证

认证成功之后,接入设备放通用户上网权限,并告诉Portal服务器,Portal服务器通过下发认证成功的界面给终端

通过二层认证接入,三层直连认证接入、可跨三层认证接入Portal认证时的认证流程

通过Web认证(免客户端)  基于HTTP/HTTPS进行认证

客户端直接将用户信息通过HTTP请求传递给接入设备,支持GET和POST两种请求

此时用户提交的用户名密码通过HTTP/HTTPS报文传输

POST:请求数据放置在HTTP请求消息的正文中,不作为URL的一部分

GET: 请求的数据会加在URL之后,以“?“分隔,对所有人可见(以下就是此方式)

通过Portal客户端软件进行认证(基于Portal协议进行Portal认证)

Portal服务器直接使用Portal协议报文与接入设备进行交互

采用客户端软件/服务器的架构,基于UDP运行,支持PAP/CHAP认证

此时用户提交的用户名密码通过Portal报文传输,Portal报文采用TLV格式携带用户名、密码、用户MAC等属性信息

  1. 用户发送认证请求,将用户名和密码发给Portal设备,通过Req_auth报文的TLV携带
  2. Portal服务器发送Req_challenge给接入设备;Req_challenge表示告诉接入设备开始CHAP的认证,开始认证请求
  3. 接入设备收到后,产生随机数发送给Portal服务器,发送Ack_challenge响应认证请求
  4. Portal服务器收到接入设备发来的随机数后,使用密码和随机数做hash得到密文发给接入用户,进行请求认证,发送Req_auth
  5. 接入设备将收到的密文以及自己产生的随机数发给Radius服务器,进行认证请求,发送radius报文Access-request进行认证请求
  6. Radius服务器根据此随机数结合该用户的密码做hash的到密文,然后比较hash的结果是否一致;结果一致发送readius报文Access-accept告诉认证结果成功
  7. 此时接入设备进行计费请求(Accounting-Request)
  8. Radius服务器回应计费响应(Accounting-Response)
  9. 接入设备收到之后告诉Portal服务器用户通过认证并放通用户上网通道;发送ack_auth报文
  10. Portal服务器收到认证成功报文后,并通知用户认证成功发送ack_auth报文
  11. Portal服务器并响应接入设备的认证成功报文,发送Aff_ack_auth报文

通过二次地址分配认证接入时的认证流程(Portal客户端方式)

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览14820 人正在系统学习中
注:本文转载自blog.csdn.net的静下心来敲木鱼的文章"https://blog.csdn.net/m0_49864110/article/details/129629456"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top