logo资料库

第二篇.linux下安装Freeradius并与ROS对接-Ros使用PPPOE拨号并与raidus结合系列.pdf

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 Ros 使用 PPPOE 拨号并与 raidus 结合 第二篇 在 linux 下安装 Freeradius 并与 ROS 对接 (本教程总共三篇,这是第二篇) 第一篇:ROS 安装.PPPOE.限速教程 第二篇:安装 Freeradius 并与 ROS 对接 第三篇:补充 ROS 常用的一些操作和命令 作者:白月 工作室:白月工作室 网站:http://www.by111.com 感谢网络上很多高手的帖子给了我很大的帮助.我从一个完全不懂的人,慢慢掌握了. 可是在网上没有完整的并且很详细的教程.于是我就将这些零散的和不详细的部分进行补充 完整.希望对一些新手有些帮助 我本身是一个 PHP 的程序员.在一个偶然的机会,要做一个用 ROS 路由的这样的网 络.所以又需要 PPPOE 加上计费的东西.可是在网上找了很久,没有一个免费的和开原的东 西.本身对 PHP 来说都是开源程序.可是很多拿来卖钱,于是就想自己研究解决问题,再写一 个计费的管理.然后以开源的形式发布出去.我说到做到. 目前,我已经做到了 ROS+RED HAT+FREERADIUS+RADIUS 计费(根据 Radius manager 来自己写的程序)。已经供我们学校近 2000 人使用(当然上网的没 那么多,一般同时在线人数在 300 人左右)。学校 20M 网通+10M 电信带宽,ROS 采 用服务器,千兆 INTEL 网卡,老的思科交换机(呵呵,哪叫学校没什么钱呢)。 我 可 能 会 将 我 写 的RADIUS 认 证 计 费 系 统 发 布 出 来 , 请 大 家 关 注 我 的 网 站 : http://www.by111.com 或者在百度上搜索“白月工作室”。 RED HAT 5 LINUX 的安装,这里就不多说了。以后再单独出教程! 软件版本: RED HAT 5 LINUX Freeradius 1.1.7 Page 1 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 以下是我经过在网上资料和验证,并且能够成功的。因为有的网上讲解的不太 详细,或者有遗漏,我这里集众家之长,给大家一个详细的教程: 首先了解下: radius 和 freeradius RADIUS( Remote Access Dial In User Service) Protocol 主要 用来提供认证(Authentication)机制,用来辨认使用者的身份与密码,确 认通过之后,经由授权 (Authorization)使用者登入网域使用相关资源, 并可提供计费(Accounting)机制,保存使用者的网络使用记录。Radius 协议详 细介绍可参见 RFC2865,RFC2866。 FreeRadius 是一款 OpenSource 软件,基于 Radius 协议,实现 Radiu s AAA(Authentication,Authorization,Accounting)功能。 现在一般我们使用 RADIUS 来做计费的用途,我们的 ROS 自带有 RADIUS 功能.但是我们还是可以使用一些比较好的 RADIUS 服务器,比如: FreeRadi us. 首先将 tar 包进行解压 tar –zxvf freerdius-1.1.7.tar.gz 主要要注意下面几个内容: 1、 编译安装之前注意:mysql_develop 包是否存在!否则不能编译成功出 mys ql 所需要的驱动(rlm_sql_mysql.so 等文件)。 如果不清楚的话,可以使用#rpm –qa|grep mysql 命令搜索下。如果不存在, 可以在安装 DVD 中找到,然后安装下。 2、 编译安装时 freeradius,在解压出来的目录中,要复制一个 libltdl/ltdl.h 文件 到 src/include/ 目录中。 解压后找到 目录下的 libltdl/ltdl.h 再进行如下拷贝: #cp libltdl/ltdl.h src/include/ #cp libltdl/ltdl.h /usr/local/mysql/include/mysql 注意/usr/local/mysql 是我 MYSQL 的安装目录 (MYSQL 这个可以不用拷贝) 然后才可以进行编译 ./configure (也可以指定安装的地点。) Page 2 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 make , make install 服务! 3、 安装完成后,这个时候,freeradius 还不是一个服务,所以需要将她增加为 请注意服务名为:radiusd 首先,将 安装目录/sbin/radiusd 复制到 /usr/sbin 目录中 (默认安装目录是:/usr/local) 再将 安装目录/sbin/rc.radiusd 复制到 /etc/rc.d/init.d 目录,并更名为:rad 然后 vi 编辑这个文件,可以增加些东西进去后(增加内容附后),然后可 iusd 以成为一个服务。 ///////////////////////////注意修改的地方:主要是 # chkconfig: 2345 99 92 # description: FreeRadius //////////////////////////////////////////////////////////////// #!/bin/sh # # radiusd Start the radius daemon. # chkconfig: 2345 99 92 # description: FreeRadius # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU General Public License for more details. # # You should have received a copy of the GNU General Public Licen # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1 by of se See the 307 USA # Page 3 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 # Copyright (C) 2001-2002 The FreeRADIUS Project http://www.freera dius.org prefix=/radius/freeradius exec_prefix=${prefix} sbindir=${exec_prefix}/sbin localstatedir=${prefix}/var logdir=${localstatedir}/log/radius rundir=${localstatedir}/run/radiusd sysconfdir=${prefix}/etc # # If you have issues with OpenSSL, uncomment these next lines. # # Something similar may work for MySQL, and you may also # have to LD_PRELOAD libz.so # #LD_LIBRARY_PATH= -lcrypto -lssl -lcrypto #LD_RUN_PATH= -lcrypto -lssl -lcrypto: #LD_PRELOAD= -lcrypto -lssl -lcryptolibcrypto.so export LD_LIBRARY_PATH LD_RUN_PATH LD_PRELOAD RADIUSD=$sbindir/radiusd RADDBDIR=${sysconfdir}/raddb DESC="FreeRADIUS" # # See 'man radiusd' for details on command-line options. # ARGS="" test -f $RADIUSD || exit 0 test -f $RADDBDIR/radiusd.conf || exit 0 case "$1" in start) stop) [ -f $rundir/radiusd.pid ] && kill -TERM `cat $rundir/radiusd.pi echo -n "Starting $DESC:" $RADIUSD $ARGS echo "radiusd" ;; [ -z "$2" ] && echo -n "Stopping $DESC: " d` Page 4 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 [ -z "$2" ] && echo "radiusd." ;; echo "Reloading $DESC configuration files." [ -f $rundir/radiusd.pid ] && kill -HUP `cat $rundir/radiusd.pid` ;; reload|force-reload) restart) sh $0 stop quiet sleep 3 sh $0 start ;; *) echo "Usage: /etc/init.d/$RADIUS {start|stop|reload|restart}" exit 1 esac exit 0 ///////////////////////////////////////////////////// 最后,使用 chkconfig –add radiusd 命令,将 radiusd 增加为服务!这 样可以使用命令行下的 ntsysv 命令打开服务程序。或者在窗口模式下进行服务 的自启动。 4、 更改配置文件,使其支持 ROS 路由和使用 MYSQL 数据库 需要更改三个文件: radiusd.conf 文件(主配置文件) ① 这个文件主要是配置其支持 MYSQL。在 1.1.7 中只需要把配置文件后面 的 # sql 前面的#去掉,一般有四个,经过我测试!只需要去掉前面三个就可以了。 分别在:1860\2023\2045\2067,最后一个可以不去掉! ② 把 accounting { ……….. } 选项中(1.1.7 在 1994 行 ) 的 detail , radutmp 两个选项用 # 注释起来不让其应用。 Page 5 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 ③ 把 session { ………….. } 选项中 (1.1.7 在 2040 行)的 radutmp 选 项也要注释起来。如果这两个不注释掉的话,可能在不能重复登陆。比 如你自己断开后,就不能再连接上了,只有重新启动电脑后才能行。 # Update the wtmp file # # If you don't use "radlast", you can delete this line. unix # # Create a 'detail'ed log of the packets. # Note that accounting requests which are proxied # are also logged in the detail file. detail daily # # For Simultaneous-Use tracking. # # Due to packet losses in the network, the data here # may be incorrect. There is little we can do about it. radutmp sradutmp //////////这段代码是上面配置文件中②③条所说的内容。黑色部分就是需要注释的 地方! accounting { # # # main_pool # sqlippool # # # Instead of sending the query to the SQL server, # write it into a log file. # sql_log # Cisco VoIP specific bulk accounting # Return an address to the IP Pool when we see a stop record. # # Log traffic to an SQL database. # # See "Accounting queries" in sql.conf sql Page 6 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 radutmp pgsql-voip # # See "Simultaneous Use Checking Querie" in sql.conf sql # } # Session database, used for checking Simultaneous-Use. Either the radutmp # or rlm_sql module can handle this. # The rlm_sql module is *much* faster session { } ////////////////////////////////////// clients.conf 文件(主配置文件) 这个文件主要是配置与 ROS 的对接程序! 设置以下字段: client 127.0.0.1 { …… secret = ros shortname = routeros nastype = other …… } 127.0.0.1 : 客户端的地址. 这个经过我的测试是 ROS 路由的 IP 地址.如果你想 远程管理的话. secret : 与 ROS 对接的唯一识别号 在 /radius 里面建立 radius server 的时 候设定的.(见下面的图 winbox 中设置) Shortname : 随便,弄个 routeros 也可以 nastype = other 这个一般选择固定的。 Page 7 of 11 QQ:35854438 70097110 http://www.by111.com
白月工作室 企业信息化系统解决方案、订单系统、CRM 网络解决方案 订制 2010-10 选择 Incoming 然后要勾选 Accept 端口可以不修改 Page 8 of 11 QQ:35854438 70097110 http://www.by111.com
分享到:
收藏