3COM公司的SuperStack II Remote Access System 1500为中小型企业和Internet 服务提供商提供全面的远程访问服务。其在一个平台中集成了非常广泛的功能,以较低的设备开支,提供了拨入/拨出访问、采用拨号或帧中继和专线PPP连接的局域网间路由选择功能。
|
|
|||
*易于安装。基于HTML浏览器的安装向导、图形用户界面(GUI)和文档浏览。
*先进、易于操作。NAT/PAT地址转换功能提供低成本高效率的共享ISP访问。DHCP服务器、中继和代理功能为本地和远程用户提供了简捷的LAN访问方式。
*访问方式安全。包括本地验证,并可与RADIUS、 Windows NT 或NetWare NOS 服务器配合实现远程验证功能。
*I/O单元模块化。模块化单元,便于I/O卡的添加和扩展以及PRI访问单元的热插拔。
*Univerrsal ConnectTM技术。通过同一基本速率的 ISDN 连接,提供了业界领先的模拟连接方式(速率可高达V.90)和 ISDN 拨入访问方式。
*可伸缩性。将 ISDN 和模拟连接方式集于一身,端口范围为4至24端口,可以随着您的需要进行扩展。
3COM RAS1500以较低价位为要求严格的用户提供了企业级网络的功能和优异性能,因此成为当前国内小型ISP首选的远程接入服务器(Remonte Network Access Server),在国内各个小型ISP得到了广泛的应用。但是,虽然RAS1500可以通过网管软件Transcend Network Supervisor (TNS)提供功能强大易用的记费认证功能,能满足中小型企业的需求,但是其昂贵的价格使小型ISP望而却步。因此如何以较低的价格实现RAS1500的认证和记费就成为当前使用RAS1500的小型ISP的难以解决问题。
本文讨论了如何使用linux作为3comRas1500的radius服务器,实现集中化的认证和记费功能,以减少管理的负担和费用。这里实现的radius服务器可以实现拨号用户的集中管理,可以实现拨号用户账号和系统账号集成或分开;并且在拨号账户独立时,实现web界面的管理,如:察看详细的log信息及各个用户的记账信息;实现用户拨号时间的限定,当该用户拨号时间到达限定以后,自动断开,而且不能再拨入。还可以实现用户的月拨号时间限定,每个月该用户只能使用限额的时间等等。
一、radius协议原理
Radius是Remote Authentication Dial In User Service-远程拨入用户认证服务的简写。其定义了在NAS(Network Access Server,拨号服务器,如:pastmaster,3com rs1500等)和集中存放认证信息的radius服务器之间传输认证、授权和配置信息的协议。其协议的标准最新的定义在rfc2865和rfc2866中,也可以在www.freeradius.org处得到相关的rfc。RADIUS以Client/Server模式工作,实现了对远程电话拨号用户的身份认证、授权和计费功能。其Client端多为网络访问服务器(NAS),主要用来将用户信息传递给Server;Server则对用户进行认证,并反回用户的配置信息。为保证传输的安全性,在Client和Server之间传送的数据均以MD5方式加密。RADIUS Server端和Client端通信主要有两种情况,一种是接入认证,另一种是计费请求。
RADIUS是一种基于UDP协议的上层协议,认证服务的监听端口号为1812,记费服务的监听端口号为1813。标准的RADIUS数据包的结构包括Code、ID、Length、Authenticator和Attributes几部分。
Code表示该包的类型。ID号区分不同消息并给予相应的应答。Length为该RADIUS包的总长度,Authenticator 是供MD5加密使用的字符串。Attributes则对应包中具体内容,Attributes包括三个部分:type、length、value。type表示该Attribute的具体含义;length为该type的长度;value是该type的具体值。
1.接入请求 (Access-Request)
type length
01 USERNAME(以00为结束) ≥3(其长度为加入00后的长度)
02 PASSWORD(以00为结束) 6
04 IP-ADDRESS 6(接入服务器NAS地址)
05 NAS-PORT 6(物理端口号)
3D PORT-TYPE 6
18 STATE ≥3(此处可不使用)
1F CALLING-STATION-ID ≥3(电话呼入被叫号)
IE CALLED-STATION-ID ≥3(电话呼入主叫号)
2C ACCT-SESSION-ID(以00为结束) ≥3(以00结束其长度为加入00后的长度)
当用户请求连接时,Client端给Server发送认证请求,在请求包中带有username、password、NAS_port等。Server端收到该请求后会到users文件中查找对应信息,当用户的username和password正确时,Server会返回Access-Accept信息,否则返回Access-Reject信息。
2.同意接入 (Access-Accept)
type length
06 SERVICE-TYPE 6
07 FRAMED-PROTOCOL 6
其中, SERVICE-TYPE是用户的服务类型,大部分用户是Framed(其值为2);FRAMED-PROTOCOL则是用户所使用的协议,多为PPP(其值为1)或SLIP(其值为2)。Access-Accept包是由Server端发给Client端用户的数据包,此时Server已认证通过了该用户,返回确认信号和该用户的配置参数.这些参数是在users文件中配入的。
3.拒绝接入 (Access-Reject)
无type位。Access-Reject包是用户认证不通过时,Server发送给client端的否认信号。
4.计费请求 (Accounting-Request)
type length
01 USERNAME(以00为结束) ≥3(其长度为加入00后的长度)
04 IP-ADDRESS 6
05 NAS-PORT 6
3D PORT-TYPE 6
28 ACCT-STATUS-TYPE 6(1:start;2:stop)
29 ACCT-DELAY-TIME 6
2C ACCT-SESSION-ID(以00为结束) ≥3(其长度为加入00后的长度)
2D ACCT-AUTHENTIC 6(1:RADIUS;2:local;3:remote)
2E ACCT-SESSION-TIME 6
1F CALLING-STATION-ID ≥3(被叫号)
1E CALLED-STATION-ID ≥3(主叫号)
07 FRAMED-PROTOCOL 6
08 FRAMED-IP-ADDRES 6(NAS地址)
2A ACCT-INPUT-OCTETS 6(仅用于stop中,表示多少字节从此端口输入)
2B ACCT-OUTPUT-OCTETS 6(仅用于stop中,表示多少字节从此端口送出)
2F ACCT-INPUT-PACKETS 6(仅用于stop中,表示多少包送给了用户)
(带*为必需项)
计费请求信息分为两种情况:一是start即当用户认证通过并连接成功时发出的信息;一是stop即用户断链时发出的信息,通知该用户断链,停止计费。两者是由ACCT-STATUS-TYPE来区分的。Server记录这些信息到detail文件中,以供二次开发时使用。
5.计费应答 (Accounting- Response)
当Server收到Client端送来的计费请求时,会返回Accounting-Response包,告诉Client端已收到该信息,该包无type位。
上面为radius协议的简单的原理,但是笔者推荐在动手之前阅读rfc2865和rfc2866,这样可以在安装除错中解决很多问题。
二、下载安装必需的支持软件
这里介绍使用Linux环境下的radius服务器软件-icradius来实现radius服务器,其主页地址为:http://radius.innercite.com,当前最新版本为0.17。包括icradius一共需要下载以下软件:
icradius http://icradius.hislora.com.au/
perl http://www.perl.com
mysql http://www.mysql.com
Perl DBI http://www.mysql.com/downloads/contrib.html
mySQL DBD Modules http://www.mysql.com/downloads/contrib.html
perl的Authen::RADIUS模块 http://www.mirror.ac.uk/sites/ftp.internat.freebsd.org/pub/FreeBSD/packages-4.1/All/p5-Authen-Radius-0.05.tgz[peek]
笔者是在内核版本2.2.14-5.0的Redhat6.2环境下,使用的icradius为0.17版;perl为redhat6.2自带的5.005_03版;mysql下载的是rpm包形式发布的3.23.22-1的源代码;perl DBI为1.13版;mySQL DBD Modules为1.2214版本。所有的软件都为源代码方式下载。
1、Mysql的安装;
笔者使用的rpm包方式的源代码,因此首先要解开rpm包:
[root@radiusd ideal]# rpm -ivh MySQL-3.23.22-1.src.rpm
MySQL ##################################################
然后:
[root@radiusd ideal]# cd /usr/src/redhat/SOURCES/
[root@radiusd SOURCES]# ls -al
total 6432
drwxr-xr-x 2 root root 4096 Oct 29 14:07 .
drwxr-xr-x 7 root root 4096 Oct 30 2000 ..
-rw-r--r-- 1 root root 6560696 Jul 30 11:23 mysql-3.23.22-beta.tar.gz
-rw-rw-r-- 1 root root 3082 Jul 30 11:23 mysql.gif
[root@radiusd SOURCES]# tar xvgz mysql-3.23.22-beta.tar.gz
解压源代码包,就会在当前目录下生成mysql-3.23.22-beta的子目录,其中包含了mysql的源代码,然后使用下面的命令进行安装:
相关图文阅读
频道图文推荐
相关专题
·FTP服务器 (5017篇文章)
·双核服务器技术 (5594篇文章)
·网站服务器的选型 (6537篇文章)
·网吧流媒体服务器 (5264篇文章)
·刀片服务器专题 (4594篇文章)
·网吧服务器专栏 (4478篇文章)
·服务器配置专栏 (8912篇文章)
·IIS服务器应用技巧 (5071篇文章)
·Linux集群技术 (7085篇文章)
·打造安全服务器 (11022篇文章)
·双核服务器技术 (5594篇文章)
·网站服务器的选型 (6537篇文章)
·网吧流媒体服务器 (5264篇文章)
·刀片服务器专题 (4594篇文章)
·网吧服务器专栏 (4478篇文章)
·服务器配置专栏 (8912篇文章)
·IIS服务器应用技巧 (5071篇文章)
·Linux集群技术 (7085篇文章)
·打造安全服务器 (11022篇文章)
阅读排行榜
·扮酷你的桌面 Linux超靓壁纸下载(多图) (10747次浏览)
·Linux常用基本命令及应用技巧 (10445次浏览)
·学Linux如此轻松-Linux入门教程 (9807次浏览)
·Red Hat Enterprise Linux AS 4 Update 3 ( (6582次浏览)
·在Linux中也可以使用“QQ” (4320次浏览)
·网络协议完全分析—网络协议全了解。 (4317次浏览)
·清爽漂亮 Ubuntu 7.04 新手指南 (2090次浏览)
·RedHat7.2下ADSL双网卡共享上网实战 (2057次浏览)
·Linux下的FTP服务器配置 (2010次浏览)
·虚拟网络计算工具VNC使用指南 (1974次浏览)
·Linux常用基本命令及应用技巧 (10445次浏览)
·学Linux如此轻松-Linux入门教程 (9807次浏览)
·Red Hat Enterprise Linux AS 4 Update 3 ( (6582次浏览)
·在Linux中也可以使用“QQ” (4320次浏览)
·网络协议完全分析—网络协议全了解。 (4317次浏览)
·清爽漂亮 Ubuntu 7.04 新手指南 (2090次浏览)
·RedHat7.2下ADSL双网卡共享上网实战 (2057次浏览)
·Linux下的FTP服务器配置 (2010次浏览)
·虚拟网络计算工具VNC使用指南 (1974次浏览)
最新技术文档
·Linux系统Iptables规则执行顺序详解 07-24
·Linux 2.6内核的编译步骤及模块动态加载 07-23
·系统备份与恢复技巧 Ghost程序参数四则 07-23
·如何制作和使用Jffs2文件系统 07-23
·Linux攻略 如何修改系统服务启动和停止 07-23
·Unix和Linux密码丢失解决方法 07-22
·让Windows和Linux程序并存同一桌面 07-21
·Linux操作系统下的Oracle数据库编程详解 07-21
·LINUX学习笔记:DNS服务器设置篇 07-21
·搭建Linux邮件网关与邮件系统 07-21
·Linux 2.6内核的编译步骤及模块动态加载 07-23
·系统备份与恢复技巧 Ghost程序参数四则 07-23
·如何制作和使用Jffs2文件系统 07-23
·Linux攻略 如何修改系统服务启动和停止 07-23
·Unix和Linux密码丢失解决方法 07-22
·让Windows和Linux程序并存同一桌面 07-21
·Linux操作系统下的Oracle数据库编程详解 07-21
·LINUX学习笔记:DNS服务器设置篇 07-21
·搭建Linux邮件网关与邮件系统 07-21
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容




