【ACCESS精品源码栏目提醒】:网学会员为广大网友收集整理了,【精品】RouterOS+RadiusManager3.8实现互联进行认证计费 - 其它资料,希望对大家有所帮助!
RouterOSRadiusManager3.8 实现互联进行认证计费(一)一、拓扑介绍(试验成功的关键是对拓扑的了解)1. 我经常会告诉各位,兵马未动粮草先行的重要性,一定在动手之前先要构建拓扑,按照拓扑实施才会思路明确。
2. 该拓扑使用微软 visio2010 构建。
以下操作通过 Routeros 和 RadiusManager对接实现校园网络流量管理。
二、安装配置 RadiusManager1. 安装操作系统i. RadiusManager 是一套基于 web 可管理 Radius 服务器的程序,需要使用 PHP环境运行,并且必须安装在 Linux 操作系统上才行。
在这里我们选择了 CentOS5这款 RHEL5 的再编译操作系统。
Linux 操作系统的安装在这里不做冗述,请参见其他文章进行安装。
(当然,其他 Linux 发行版也可用,目前我只测试过 Debian、RHEL 和 CentOS 可以正常运行)ii. 更改 IP 地址,执行 setup 进行设置即可,设置完成之后执行:service network restart 指令使网卡 ip 设置生效。
iii. 更改系统默认运行级别和默认语言 vi /etc/sysconfig/i18n 更改系统默认语言为英文LANGen_US vim /etc/inittabid:3:initdefault: 找到类似内容更改为 3,使 Linux 默认工作在文本模式 reboot 重启系统让更改生效2. 添加 YUM 源,实现在线 yum 安装 php5.2安装 GPG 密钥 rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka添加源实现 yum 安装 php5.2。
请注意:用系统默认 php5.1 是不行的。
vi /etc/yum.repos.d/utterramblings.repoutterramblingsnameJason’s Utter Ramblings Repobaseurlhttp://www.jasonlitka.com/media/ELreleasever/basearch/enabled1gpgcheck1gpgkeyhttp://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka3. 使用 YUM 安装必须软件安装 RadiusManager 所需 RPM 包,目前发现 PHP5.2 可以正常工作,PHP5.1 中症状为访问 RadiusManager 页面为空白页。
yum install gcc php mysql mysql-server mysql-devel php-mysql php-mcryptcurl php-curl compat-libstdc-33 libtool-ltdl-devel httpd启动 MySQL 服务并且设置密码保证安全性 service mysqld start设置 MySQL 数据库密码为 123456(请按自己的需求修改切记!!) mysqladmin -u root password 1234564. 安装 ionCubei. 可以到: http://www.dmasoftlab.com/downloads 下载 ionCube,该组件为使PHP 可以解密加密过的文件,因为 RadiusManager 程序是加密过的,该组件为关键组件请确保安装无误。
解压缩下载的软件包 tar -zxvf ioncube_loaders_lin_x86.tar.gz cp -r ioncube /usr/local/修改 PHP 配置文件 vi /etc/php.inizend_extension/usr/local/ioncube/ioncube_loader_lin_5.2.so php -v如果输出的最后几行类似于下面内容则证明配置正确 ionCube 已经安装成功Zend Engine v2.1.0 Copyright c 1998-2006 Zend Technologieswith the ionCube PHP Loader v3.1.31 Copyright c 2002-2007 by ionCubeLtd.5. 编译安装 FreeRadiusi. 可以到 http://www.dmasoftlab.com/downloads 下载 FreeRadius2.1.8(请注意版本,其他版本我未尝试是否可安装成功)。
解压缩下载的软件包 tar -zxvf freeradius-server-2.1.8-dmamod-2.tar.gz请记住一点编译四步走, 1, 这是我的私藏秘籍: 编译一定要进入
源码目录中(我的人生中只见到在做 LFS 的时候有过一次编译不许进入
源码目录的时候)。
2,执行预编译:./configure 3,执行编译:make 4,执行安装 make install 其实 Linux 编译安装是非常简单的。
cd freeradius-server-2.1.8预编译生成 Makefile ./configure编译生成 2 进制文件 make拷贝 2 进制文件和配置文件到他们该去的地方 make install测试 FreeRadius 是否工作正常,红色字体表示安装正常 radiusd -X...Listening on authentication address port 1812Listening on accounting address port 1813Listening on command file /usr/local/var/run/radiusd/radiusd.sockListening on proxy address port 1814Ready to process requests.修改权限 chown apache /usr/local/etc/raddb chown apache /usr/local/etc/raddb/clients.conf修改 FreeRadius 配置文件和 MySQL 数据库结合工作 vi /usr/local/etc/raddb/sql.conf按如下内容进行修改(用户名和密码可以自定义,但是之后的用户名和密码也需要按需修改才行) Connection info:server localhostport 3306login radius 访问 MySQL 时的用户名password radius123 访问 MySQL 时使用的密码6. 修改网卡 MAC 地址i. 修改 MAC 地址的用意是因为我手头的 RadiusManager 是别人购买好的版本,RadiusManager 是根据 MAC 地址授权用户的。
我只需要将自己的 MAC 地址更改为已授权即可了ii. 查看网卡 MAC 地址:(如需购买正版 RadiusManager 应该将该 MAC 地址递交获取授权文件) ifconfig红色字体为本地网卡的 MAC 地址我们要修改其为已授权网卡 MAC 地址eth0 Link encap:Ethernet HWaddr 00:0C:29:6A:68:2Finet addr:172.16.4.10 Bcast:172.16.255.255 Mask:255.255.0.0inet6 addr: fe80::20c:29ff:fe6a:682f/64 Scope:Linkiii. 修改网卡 MAC 地址: vi /etc/sysconfig/network-scripts/ifcfg-eth0 Advanced Micro Devices AMD 79c970 PCnet32 LANCEDEVICEeth0将自动识别到的 MAC 地址注释,按照我的软件修改 MAC 地址。
MACADDR 为更改MAC 地址的配置选项,请根据实际情况修改 MAC 地址HWADDR00:0c:29:6a:68:2fMACADDR00:50:11:22:33:44ONBOOTyesNETMASK255.255.255.0IPADDR192.168.1.3TYPEEthernetGATEWAY192.168.1.1更改 MAC 地址之后重新启动计算机 service network restartShutting down interface eth0: OK Shutting down loopback interface: OK Bringing up loopback interface: OK Bringing up interface eth0: OK 7. 安装 RadiusManageri. 配置 MySQL 为 RadiusManager 创建 MySQL 帐号登陆 MySQL 服务器进行用户创建(注意:-p 之后紧跟数据库管理员密码,无空格) mysql -u root -p123456mysqlCREATE DATABASE radiusmysqlCREATE DATABASE conntrackCREATE USER 后紧跟的为 MySQL 帐号用户名,IDENTIFIED BY 之后紧跟的为密码mysqlCREATE USER radiuslocalhost IDENTIFIED BY radius123mysqlCREATE USER conntracklocalhost IDENTIFIED BY conn123mysqlGRANT ALL ON radius. TO radiuslocalhostmysqlGRANT ALL ON conntrack. TO conntracklocalhostii. 解压缩 RadiusManager tar -zxvf radiusmanager-3.8.0.tgziii. 开始安装 RadiusManager cd radiusmanager-3.8.0-rel chmod 755 install.sh ./install.sh提示信息如下几乎一路回车即可,只是在最后输入一个“y”Radius Manager installerCopyright 2004-2010 DMA Softlab LLCAll right reserved.Use CTRLC to abort any timeSelect the type of your operating system:1. Redhat Fedora CentOS etc.2. Debian Ubuntu etc.Choose an option: 1Select installation type:1. New installation2. Upgrade old systemChoose an option: 1Choose an option: 1 1Selected installation method: NEW INSTALLATIONWWW root path: /var/www/htmlRADIUS database host: localhostRADIUS database username: radiusRADIUS database password: radius123CTS database host: localhostCTS database username: conntrackCTS database password: conn123Freeradius UNIX user: rootHttpd UNIX user: apacheCreate rmpoller service: yCreate rmconntrack service: yCreate database backup: yWARNING If You continue You will overwrite the existing RADIUS databaseAre You sure to start the installation n y开始安装的提示信息Starting installation process...Backing up radiusmanager.cfgBacking up system_cfg.phpBacking up netcash_cfg.phpBacking up paypal_cfg.phpBacking up authorizenet_cfg.phpBacking up dps_cfg.phpCopying web content to /var/www/html/radiusmanagerCopying binaries to /usr/local/binCopying rootexec to /usr/local/sbinCopying radiusmanager.cfg to /etcCreating database backupCreating mysql tablesCreating rmpoller serviceCreating rmconntrack serviceCopying logrotate scriptSetting permission on raddb filesCopying radiusd init script to /etc/init.dInstallation finishediv. 更改任务计划 vi /etc/crontab在任务计划末尾增加如下内容,如需修改密码请查看 system_cfg.php02 0 root /usr/bin/php /var/www/html/radiusmanager/rmscheduler.php12345拷贝授权文件到 RadiusManager 安装目录中 cp /root/lic/lic.txt /var/www/html/radiusmanager cp /root/lic/mod.txt /var/www/html/radiusmanager更改 Apache 的配置文件如下(注意:是修改不是增加) vi /etc/httpd/conf/httpd.confDocumentRoot “/var/www/html/radiusmanager”DirectoryIndex index.html index.html.var user.php重启 Apache 使配置生效 service httpd restart service mysqld restart打开浏览器,在地址栏中输入:http://192.168.1.3 即可浏览。
如果浏览白屏请确认几件事情:1 就是 php 是否安装版本为 5.2。
2. ionCube 那个步骤测试是否正常。
3.你的授权文件 lic.txt 和 mod.txt 是否复制到了 RadiusManager 安装目录中。
4.你的浏览器字符集是不是不对,尝试使用 UTF-8 进行浏览v. 进行测试 radiusd -X返回如下信息为正常...Listening on authentication address port 1812Listening on accounting address port 1813Listening on command file /usr/local/var/run/radiusd/radiusd.sockListening on proxy address port 1814Ready to process requests.在打开一个命令行终端执行以下操作 radtest user 1111 localhost 1812 testing123返回如下内容为正常Sending
Access-Request of id 57 to 127.0.0.1 port 1812User-Name userUser-Password 1111NAS-IP-Address 127.0.0.1NAS-Port 1812rad_recv:
Access-Accept packet from host 127.0.0.1 port 1812 id57length50WISPr-Bandwidth-Max-Up 262144WISPr-Bandwidth-Max-Down 262144Acct-Interim-Interval 60执行如下语句关闭 Freeradius service radiusd stop8. 修改 php.ini 优化日志输出如果你仔细观察 Apache 的错误日志会发现一些错误提示,不用担心这是因为PHP 默认对于日志筛选的安全级别设置过低造成的,并不是错误,只需要按如下内容修改就可以避免看到该死的错误日志。
vi /etc/php.ini找到 error_reporting 选项修改如下。
error_reporting E_ERROR E_WARNING E_PARSE重启 Apache 服务 service httpd restart9. 尝试登陆 RadiusManager 配置 NAS 支持 RouterOSi. 打开浏览器:http://192.168.1.3/admin.phpii. 默认帐号:admin 密码:1111iii. 选择 NAS 菜单下的列出 NAS 选项,如图所示进行修改。
(密钥可以根据需求自己修改,主要是为了和 RouterOS 进行连接时使用,如果这里更改了,那么RouterOS 中对应步骤也需要更改)至此 RadiusManager 基本安装完毕。
RadiusManager3.8 最新下载地址(自解压)后记:部分朋友反映在配置文件配置正确的前提下,提示“could notconnect to”。
可以尝试一下我的方法:在 my.cfg 加入以下内容“set-variablemax_connections1000”尝试重启 mysqld 服务试试。
RouterOSRadiusManager3.8 实现互联进行认证计费(二)三、安装配置 RouterOS1. 安装 RouterOSi. 版本的选择:网络上的 RouterOS 版本是在是太多了, 大家可以根据自己的需求选择需要使用的版本,在这里我选择了 RouterOS3.22_L6_Registed 这个版本,解压缩之后得到一个 ISO 文件,大家可以将 ISO 文件刻录成光盘用于启动安装RouterOS。
ii. 从光盘启动后如下图界面选择第一项安装 RouterOS 到硬盘上。
iii. 根据需要选择组件,我的选择如下图所示。
按“i”键开始安装。
iv. 回车重启后设置为还是从光驱启动选择第二项进行破解。
破解完成之后计算机将重新启动(适计算机配置不同破解的时间不同,我的机器只需要 5 分钟左右即可)。
2. 配置 IP 地址i. 破解成功并且登陆后输入用户名:admin 密码为,空如下图所示。
ii. 使用以下命令输入查看 IP 地址:ip address printiii. 当然 IP 地址为空,因为我们还没有设置,使用如下命令进行配置 IP 地址设置 ether1 网卡接口 IP 地址ip address add interfaceether1address192.168.1.2/24查看网卡接口 IP 地址ip address print测试 IP 地址配置的网卡接口对不对,因为有双网卡我们先尝试随意配置一块网卡 IP 地址如果可以 ping 通网关192.168.1.1 说明接口正确,如果不能 ping 通就更换 IP地址到另一个接口上。
很明显,如图我的网卡地址不通说明配置错误,更换一个接口测试一下。
ping 192.168.1.1删除网卡 IP 地址ip address remove 0ip address print重新为另一块网卡设置 IP 地址测试连通性ip address add interfaceether2address192.168.1.2/24ip address printping 192.168.1.1配置默认网关setup按 a再按 g网关输入 192.168.1.1按两次 x 保存退出iv. 打开浏览器浏览地址:http://192.168.1.2,下载图形化的管理工具3. 通过图形工具连接进行配置i. 通过图形工具连接并且上传授权文件,如图所示选择:system—license。
点击 Import Key 按钮导入授权文件,如图ii. 重新启动后为另一个网卡配置 IP 地址,按照拓扑地址应该为:172.16.1.1/16选择 IP—address 如图添加另一块网卡的 IP 地址iii. 添加 Radius 服务器,点击 Radius 菜单如图设置iv. 设置 RouterOS 使用 hotspot 认证方式到 RadiusManager 服务器进行身份认证。
选择 IP—hotspot 点击 hotspot setup选择需要认证的接口需要地址转换的接口 ip 地址(一般默认即可)其他步骤一路默认即可,同事创建了一个用户名为 admin 密码为空的测试账号,测试完成后请将其删除。
选择 Server profiles 标签页,双击编辑 hsprof1 配置文件如图进行设置删除默认用户 admin,选择 users 标签页删除 admin 即可v. 至此 RouterOS 基本配置完成。