RouterOS+RadiusManager38实现互联进行认证计费.docx
《RouterOS+RadiusManager38实现互联进行认证计费.docx》由会员分享,可在线阅读,更多相关《RouterOS+RadiusManager38实现互联进行认证计费.docx(16页珍藏版)》请在冰豆网上搜索。
RouterOS+RadiusManager38实现互联进行认证计费
RouterOS+RadiusManager3.8实现互联进行认证计费
(一)
一、拓扑介绍(试验成功的关键是对拓扑的了解)
1.我经常会告诉各位,兵马未动粮草先行的重要性,一定在动手之前先要构建拓扑,按照拓扑实施才会思路明确。
2.该拓扑使用微软visio2010构建。
以下操作通过Routeros和RadiusManager对接实现校园网络流量管理。
二、安装配置RadiusManager
1.安装操作系统
i.RadiusManager是一套基于web可管理Radius服务器的程序,需要使用PHP环境运行,并且必须安装在Linux操作系统上才行。
在这里我们选择了CentOS5这款RHEL5的再编译操作系统。
Linux操作系统的安装在这里不做冗述,请参见其他文章进行安装。
(当然,其他Linux发行版也可用,目前我只测试过Debian、RHEL和CentOS可以正常运行)
ii.更改IP地址,执行setup进行设置即可,设置完成之后执行:
servicenetworkrestart指令使网卡ip设置生效。
iii.更改系统默认运行级别和默认语言
#vi/etc/sysconfig/i18n#更改系统默认语言为英文
LANG="en_US"
#vim/etc/inittab
id:
3:
initdefault:
#找到类似内容更改为3,使Linux默认工作在文本模式
#reboot#重启系统让更改生效
2.添加YUM源,实现在线yum安装php5.2
#安装GPG密钥
#rpm--import
#添加源实现yum安装php5.2。
请注意:
用系统默认php5.1是不行的。
#vi/etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason’sUtterRamblingsRepo
baseurl=
enabled=1
gpgcheck=1
gpgkey=
3.使用YUM安装必须软件
#安装RadiusManager所需RPM包,目前发现PHP5.2可以正常工作,PHP5.1中症状为访问RadiusManager页面为空白页。
#yuminstallgccphpmysqlmysql-servermysql-develphp-mysqlphp-mcryptcurlphp-curlcompat-libstdc++-33libtool-ltdl-develhttpd
#启动MySQL服务并且设置密码保证安全性
#servicemysqldstart
#设置MySQL数据库密码为123456(请按自己的需求修改切记!
!
)
#mysqladmin-urootpassword'123456'
4.安装ionCube
i.可以到:
#解压缩下载的软件包
#tar-zxvfioncube_loaders_lin_x86.tar.gz
#cp-rioncube/usr/local/
#修改PHP配置文件
#vi/etc/php.ini
zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so
#php-v
#如果输出的最后几行类似于下面内容则证明配置正确ionCube已经安装成功
ZendEnginev2.1.0,Copyright(c)1998-2006ZendTechnologies
withtheionCubePHPLoaderv3.1.31,Copyright(c)2002-2007,byionCubeLtd.
5.编译安装FreeRadius
i.可以到
#解压缩下载的软件包
#tar-zxvffreeradius-server-2.1.8-dmamod-2.tar.gz
#请记住一点编译四步走,这是我的私藏秘籍:
1,编译一定要进入源码目录中(我的人生中只见到在做LFS的时候有过一次编译不许进入源码目录的时候)。
2,执行预编译:
./configure3,执行编译:
make4,执行安装makeinstall其实Linux编译安装是非常简单的。
#cdfreeradius-server-2.1.8
#预编译生成Makefile
#./configure
#编译生成2进制文件
#make
#拷贝2进制文件和配置文件到他们该去的地方
#makeinstall
#测试FreeRadius是否工作正常,红色字体表示安装正常
#radiusd-X
...
Listeningonauthenticationaddress*port1812
Listeningonaccountingaddress*port1813
Listeningoncommandfile/usr/local/var/run/radiusd/radiusd.sock
Listeningonproxyaddress*port1814
Readytoprocessrequests.
#修改权限
#chownapache/usr/local/etc/raddb
#chownapache/usr/local/etc/raddb/clients.conf
#修改FreeRadius配置文件和MySQL数据库结合工作
#vi/usr/local/etc/raddb/sql.conf
#按如下内容进行修改(用户名和密码可以自定义,但是之后的用户名和密码也需要按需修改才行)
#Connectioninfo:
server="localhost"
#port=3306
login="radius"#访问MySQL时的用户名
password="radius123"访问MySQL时使用的密码
6.修改网卡MAC地址
i.修改MAC地址的用意是因为我手头的RadiusManager是别人购买好的版本,RadiusManager是根据MAC地址授权用户的。
我只需要将自己的MAC地址更改为已授权即可了
ii.查看网卡MAC地址:
(如需购买正版RadiusManager应该将该MAC地址递交获取授权文件)
#ifconfig
#红色字体为本地网卡的MAC地址我们要修改其为已授权网卡MAC地址
eth0Linkencap:
EthernetHWaddr00:
0C:
29:
6A:
68:
2F
inetaddr:
172.16.4.10Bcast:
172.16.255.255Mask:
255.255.0.0
inet6addr:
fe80:
:
20c:
29ff:
fe6a:
682f/64Scope:
Link
iii.修改网卡MAC地址:
#vi/etc/sysconfig/network-scripts/ifcfg-eth0
#AdvancedMicroDevices[AMD]79c970[PCnet32LANCE]
DEVICE=eth0
#将自动识别到的MAC地址注释,按照我的软件修改MAC地址。
MACADDR为更改MAC地址的配置选项,请根据实际情况修改MAC地址
#HWADDR=00:
0c:
29:
6a:
68:
2f
MACADDR=00:
50:
11:
22:
33:
44
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.1.3
TYPE=Ethernet
GATEWAY=192.168.1.1
#更改MAC地址之后重新启动计算机
#servicenetworkrestart
Shuttingdowninterfaceeth0:
[OK]
Shuttingdownloopbackinterface:
[OK]
Bringinguploopbackinterface:
[OK]
Bringingupinterfaceeth0:
[OK]
7.安装RadiusManager
i.配置MySQL为RadiusManager创建MySQL帐号
#登陆MySQL服务器进行用户创建(注意:
-p之后紧跟数据库管理员密码,无空格)
#mysql-uroot-p123456
mysql>CREATEDATABASEradius;
mysql>CREATEDATABASEconntrack;
#CREATEUSER后紧跟的为MySQL帐号用户名,IDENTIFIEDBY之后紧跟的为密码
mysql>CREATEUSER'radius'@'localhost'IDENTIFIEDBY'radius123';
mysql>CREATEUSER'conntrack'@'localhost'IDENTIFIEDBY'conn123';
mysql>GRANTALLONradius.*TOradius@localhost;
mysql>GRANTALLONconntrack.*TOconntrack@localhost;
ii.解压缩RadiusManager
#tar-zxvfradiusmanager-3.8.0.tgz
iii.开始安装RadiusManager
#cdradiusmanager-3.8.0-rel
#chmod755install.sh
#./install.sh
#提示信息如下几乎一路回车即可,只是在最后输入一个“y”
RadiusManagerinstaller
Copyright2004-2010,DMASoftlabLLC
Allrightreserved.
(UseCTRL+Ctoabortanytime)
Selectthetypeofyouroperatingsystem:
1.Redhat(Fedora,CentOSetc.)
2.Debian(Ubuntuetc.)
Chooseanoption:
[1]
Selectinstallationtype:
1.Newinstallation
2.Upgradeoldsystem
Chooseanoption:
[1]
Chooseanoption:
[1]1
Selectedinstallationmethod:
NEWINSTALLATION
WWWrootpath:
[/var/www/html]
RADIUSdatabasehost:
[localhost]
RADIUSdatabaseusername:
[radius]
RADIUSdatabasepassword:
[radius123]
CTSdatabasehost:
[localhost]
CTSdatabaseusername:
[conntrack]
CTSdatabasepassword:
[conn123]
FreeradiusUNIXuser:
[root]
HttpdUNIXuser:
[apache]
Creatermpollerservice:
[y]
Creatermconntrackservice:
[y]
Createdatabasebackup:
[y]
WARNING!
IfYoucontinueYouwilloverwritetheexistingRADIUSdatabase!
AreYousuretostarttheinstallation?
[n]y
#开始安装的提示信息
Startinginstallationprocess...
Backingupradiusmanager.cfg
Backingupsystem_cfg.php
Backingupnetcash_cfg.php
Backinguppaypal_cfg.php
Backingupauthorizenet_cfg.php
Backingupdps_cfg.php
Copyingwebcontentto/var/www/html/radiusmanager
Copyingbinariesto/usr/local/bin
Copyingrootexecto/usr/local/sbin
Copyingradiusmanager.cfgto/etc
Creatingdatabasebackup
Creatingmysqltables
Creatingrmpollerservice
Creatingrmconntrackservice
Copyinglogrotatescript
Settingpermissiononraddbfiles
Copyingradiusdinitscriptto/etc/init.d
Installationfinished!
iv.更改任务计划
#vi/etc/crontab
#在任务计划末尾增加如下内容,如需修改密码请查看system_cfg.php
020***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.conf
DocumentRoot“/var/www/html/radiusmanager”
DirectoryIndexindex.htmlindex.html.varuser.php
#重启Apache使配置生效
#servicehttpdrestart
#servicemysqldrestart
#打开浏览器,在地址栏中输入:
http:
//192.168.1.3即可浏览。
如果浏览白屏请确认几件事情:
1就是php是否安装版本为5.2。
2.ionCube那个步骤测试是否正常。
3.你的授权文件lic.txt和mod.txt是否复制到了RadiusManager安装目录中。
4.你的浏览器字符集是不是不对,尝试使用UTF-8进行浏览
v.进行测试
#radiusd-X
#返回如下信息为正常
...
Listeningonauthenticationaddress*port1812
Listeningonaccountingaddress*port1813
Listeningoncommandfile/usr/local/var/run/radiusd/radiusd.sock
Listeningonproxyaddress*port1814
Readytoprocessrequests.
#在打开一个命令行终端执行以下操作
#radtestuser1111localhost1812testing123
#返回如下内容为正常
SendingAccess-Requestofid57to127.0.0.1port1812
User-Name="user"
User-Password="1111"
NAS-IP-Address=127.0.0.1
NAS-Port=1812
rad_recv:
Access-Acceptpacketfromhost127.0.0.1port1812,id=57,length=50
WISPr-Bandwidth-Max-Up=262144
WISPr-Bandwidth-Max-Down=262144
Acct-Interim-Interval=60
#执行如下语句关闭Freeradius
#serviceradiusdstop
8.修改php.ini优化日志输出
#如果你仔细观察Apache的错误日志会发现一些错误提示,不用担心这是因为PHP默认对于日志筛选的安全级别设置过低造成的,并不是错误,只需要按如下内容修改就可以避免看到该死的错误日志。
#vi/etc/php.ini
#找到error_reporting选项修改如下。
error_reporting=E_ERROR|E_WARNING|E_PARSE
#重启Apache服务
#servicehttpdrestart
9.尝试登陆RadiusManager配置NAS支持RouterOS
i.打开浏览器:
http:
//192.168.1.3/admin.php
ii.默认帐号:
admin密码:
1111
iii.选择NAS菜单下的列出NAS选项,如图所示进行修改。
(密钥可以根据需求自己修改,主要是为了和RouterOS进行连接时使用,如果这里更改了,那么RouterOS中对应步骤也需要更改)
至此RadiusManager基本安装完毕。
RadiusManager3.8最新下载地址(自解压)
后记:
部分朋友反映在配置文件配置正确的前提下,提示“couldnotconnectto”。
可以尝试一下我的方法:
在my.cfg加入以下内容“set-variable=max_connections=1000”尝试重启mysqld服务试试。
RouterOS+RadiusManager3.8实现互联进行认证计费
(二)
三、安装配置RouterOS
1.安装RouterOS
i.版本的选择:
网络上的RouterOS版本是在是太多了,大家可以根据自己的需求选择需要使用的版本,在这里我选择了RouterOS3.22_L6_Registed这个版本,解压缩之后得到一个ISO文件,大家可以将ISO文件刻录成光盘用于启动安装RouterOS。
ii.从光盘启动后如下图界面选择第一项安装RouterOS到硬盘上。
iii.根据需要选择组件,我的选择如下图所示。
按“i”键开始安装。
iv.回车重启后设置为还是从光驱启动选择第二项进行破解。
破解完成之后计算机将重新启动(适计算机配置不同破解的时间不同,我的机器只需要5分钟左右即可)。
2.配置IP地址
i.破解成功并且登陆后输入用户名:
admin密码为,空如下图所示。
ii.使用以下命令输入查看IP地址:
ipaddressprint
iii.当然IP地址为空,因为我们还没有设置,使用如下命令进行配置IP地址
#设置ether1网卡接口IP地址
ipaddressaddinterface=ether1address=192.168.1.2/24
#查看网卡接口IP地址
ipaddressprint
#测试IP地址配置的网卡接口对不对,因为有双网卡我们先尝试随意配置一块网卡IP地址如果可以ping通网关192.168.1.1说明接口正确,如果不能ping通就更换IP地址到另一个接口上。
很明显,如图我的网卡地址不通说明配置错误,更换一个接口测试一下。
ping192.168.1.1
#删除网卡IP地址
ipaddressremove0
ipaddressprint
#重新为另一块网卡设置IP地址测试连通性
ipaddressaddinterface=ether2address=192.168.1.2/24
ipaddressprint
ping192.168.1.1
#配置默认网关
setup
#按a
#再按g
#网关输入192.168.1.1
#按两次x保存退出
iv.打开浏览器浏览地址:
http:
//192.168.1.2,下载图形化的管理工具
3.通过图形工具连接进行配置
i.通过图形工具连接并且上传授权文件,如图所示选择:
system—license。
点击ImportKey按钮导入授权文件,如图
ii.重新启动后为另一个网卡配置IP地址,按照拓扑地址应该为:
172.16.1.1/16
选择IP—address如图添加另一块网卡的IP地址
iii.添加Radius服务器,点击Radius菜单如图设置
iv.设置RouterOS使用hotspot认证方式到RadiusManager服务器进行身份认证。
选择IP—hotspot点击hotspotsetup
选择需要认证的接口
需要地址转换的接口ip地址(一般默认即可)
其他步骤一路默认即可,同事创建了一个用户名为admin密码为空的测试账号,测试完成后请将其删除。
选择Serverprofiles标签页,双击编辑hsprof1配置文件如图进行设置
删除默认用户admin,选择users标签页删除admin即可
v.至此RouterOS基本配置完成。