CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

什么是RADIUS服务:

RADIUS:(Remote Authentication Dial In User Service)中文名为远程用户拨号认证服务,简称RADIUS,是目前应用最广泛的AAA协议(认证、授权和计费)。

 
RADIUS是一种C/S结构的协议,它的客户端最初就是NAS(Net Access Server)服务器,任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS协议认证机制灵活,可以采用PAP、CHAP或者Unix登录认证等多种方式。RADIUS是一种可扩展的协议,它进行的全部工作都是基于Attribute-Length-Value的向量进行的。RADIUS也支持厂商扩充厂家专有属性。
 
由于RADIUS协议简单明确,可扩充,因此得到了广泛应用,包括普通电话上网、ADSL上网、小区宽带上网、IP电话、VPDN(Virtual Private Dialup Networks,基于拨号用户的虚拟专用拨号网业务)、移动电话预付费等业务。IEEE提出了802.1x标准,这是一种基于端口的标准,用于对无线网络的接入认证,在认证时也采用RADIUS协议。
常见的AAA组网示意如下图所示,其中RADIUS应用在AAA服务器上对用户进行认证、授权和计费服务。
CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能
图中Device(例如交换机)向远程接入用户提供接入及与RADIUS服务器交互的服务。RADIUS服务器上则存储用户的身份信息、授权信息以及访问记录,对用户进行认证、授权和计费服务。
 

freeradius是GNU/GPL(通用公共许可证)的原则下,开发的高性能开源radius服务器。常见的radius服务器种类不多,比较强大的当属开源的freeradius,世界上大部分的radius服务器都是基于freeradius开发而来的。

freeradius可以对支持radius协议的网络设备进行账户认证、授权和记账管理,常见的开源路由器操作系统:如Openwrt,DD-wrt等,都支持radius协议,常见的电信运营商的宽带账户,上网账户管理,记账,也都是使用的radius服务器进行鉴权记账的。
 
RADIUS服务器和NAS服务器通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。采用UDP的基本考虑是因为NAS和RADIUS服务器大多在同一个局域网中,使用UDP更加快捷方便,而且UDP是无连接的,会减轻RADIUS的压力,也更安全。

搭建环境:

操作系统:CentOS 6.5 , Win 7 / 10

其他设备:TP-LINK路由器、H3C交换机

freeradius服务官网:http://freeradius.org/

daloradius Web管理页面官网:https://sourceforge.net/projects/daloradius/

CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理:https://www.cnblogs.com/opsprobe/p/9769555.html

一、LAMP环境安装:

  1. yum -y install httpd httpd-devel
  2. yum -y install mysql mysql-server mysql-devel
  3. yum -y install php php-devel php-mysql php-common php-gd php-mbstring php-mcrypt php-imap php-odbc php-pear php-xml php-xmlrpc
  4. /etc/init.d/httpd start        #启动http服务
  5. /etc/init.d/mysqld start     #启动mysql服务
  6. chkconfig httpd on           #把http服务加入开机启动
  7. chkconfig mysqld on       #把mysql服务加入开机启动
  8. mysqladmin -u root password '数据库的密码'       #设置mysql数据库的密码

为防止缺少相关的依赖关系,安装以下软件包:

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel

二、然后可以通过yum命令快速安装freeradius,就是版本略低一点,命令为:

yum install -y freeradius freeradius-mysql freeradius-utils

三、修改启用测试账户:

找到 radius 的用户信息配置参数文件(注:将来换mysql数据库存用户账户的话这个文件就不用了,测试完后修改回原来的样子),yum自动安装的在/etc/raddb路径里面。

vi /etc/raddb/users

然后找到下面这段信息(从76行开始)

  1. #steve  Cleartext-Password := "testing"
  2. #       Service-Type = Framed-User,
  3. #       Framed-Protocol = PPP,
  4. #       Framed-IP-Address = 172.16.3.33,
  5. #       Framed-IP-Netmask = 255.255.255.0,
  6. #       Framed-Routing = Broadcast-Listen,
  7. #       Framed-Filter-Id = "std.ppp",
  8. #       Framed-MTU = 1500,
  9. #       Framed-Compression = Van-Jacobsen-TCP-IP

然后把这段文字前面的 # 注释全部去掉后保存文件

现在可以通过radiusd -X来做首次启动,注意首次启动必须是root账户才行,还有注意那个X是大写的。

如果看到下面的提示应该就是启动成功了:

  1. Listening on authentication address * port 1812
  2. Listening on accounting address * port 1813
  3. Listening on command file /var/run/radiusd/radiusd.sock
  4. Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
  5. Listening on proxy address * port 1814
  6. Ready to process requests.

然后另外打开一个终端输入 radtest steve testing localhost 1812 testing123 进行测试,当出现 rad_recv: Access-Accept  字样说明freeradius已经安装成功。

注意:

若测试时出现以下问题:

radclient:: Failed to find IP address for centos6

radclient: Nothing to send.

解决方法:

进入vi /etc/hosts 配置文件

在最后添加:127.0.0.1  servername(系统管理员的账户名)即可。

还需要特别注意,添加的这个127.0.0.1  servername(系统管理员的账户名)信息在测试成功后,一定要记得注释或者删除掉,否则在接入设备(交换机或者路由器)后会出现错误。

测试无问题以后记得再次进入vi /etc/raddb/users,把这个测试账户刚打开的相关的配置再全部注释掉,保存退出,然后用如下命令关闭 radiusd 的调试进程

killall -9 radiusd      # 杀死 radius 服务进程

chkconfig  radiusd on     # 把radius服务加入开机启动

service radiusd start      # 启动radius服务

现在可以通过新打开一个终端窗口,然后执行 cat /var/log/radius/radius.log 去查看启动日志看有没有错误。

四、以下开始配置freeradius了:

  1. mv /etc/raddb/clients.conf /etc/raddb/clients.conf.backup      # 备份/etc/raddb/clients.conf文件
  2. grep -v "#" /etc/raddb/clients.conf.backup > /etc/raddb/clients.conf      # 过滤出不带注释符号 # 的信息行
  3. vi /etc/raddb/clients.conf

内容配置为:

  1. client localhost {
  2. ipaddr = 127.0.0.1
  3. secret = testing123
  4. require_message_authenticator = no
  5. }

需要注意,上面配置的127.0.0.1主要用于测试,将来真正的客户端要按照下面的信息进行补充:

将来你真正的 raidus 客户端,如路由器、交换机等需要在这里配置ip信息,例如:

  1. client x.x.x.x {                  # 这里的 x.x.x.x 就是交换机或者路由器等设备的IP地址
  2. ipaddr = x.x.x.x            # 交换机或者路由器等设备的IP地址
  3. secret = xxxxxxxxxx      # 自己定义的交换机或者路由器等设备和 radius 服务器的连接密码
  4. # require_message_authenticator = no     # 这个可以注释掉,不用管
  5. # shortname = localhost      # 这个也可以注释掉,不用管
  6. }

然后用如下命令:

mv /etc/raddb/sql/mysql/admin.sql /etc/raddb/sql/mysql/admin.sql.backup     #备份/etc/raddb/sql/mysql/admin.sql文件
grep -v "#" /etc/raddb/sql/mysql/admin.sql.backup > /etc/raddb/sql/mysql/admin.sql    # 过滤出不带注释符号 # 的信息行
vi /etc/raddb/sql/mysql/admin.sql

内容改成下面这个样子的 :

  1. CREATE USER 'radius'@'localhost';
  2. SET PASSWORD FOR 'radius'@'localhost' = PASSWORD('radpass');
  3. GRANT SELECT ON radius.* TO 'radius'@'localhost';
  4. GRANT ALL on radius.radacct TO 'radius'@'localhost';
  5. GRANT ALL on radius.radpostauth TO 'radius'@'localhost';

以上信息是指 “ 数据库为radius,密码为radpass ”如果要自己设置,设置完成后还要修改 /etc/raddb/sql.conf 这个配置文件把账号和密码改为自己设置的。

保存退出。

mysql -u root -p  回车后输入mysql的root管理员帐号密码,然后

create database radius;     # 创建radius数据库

grant all on radius.* to radius@"localhost" identified by "radpass";     # GRANT 权限 ON 数据库.* TO 用户名@主机名IDENTIFIED BY "密码";   对某个特定数据库中的所有表单给予授权和创建数据库管理账户

exit    #退出数据库

再次 mysql -u root -p 回车,输入密码后

然后执行source /etc/raddb/sql/mysql/admin.sql

然后 use radius 回车,打开radius数据库

导入下列 sql 表的信息

source /etc/raddb/sql/mysql/schema.sql   回车,

source /etc/raddb/sql/mysql/nas.sql   回车,

source /etc/raddb/sql/mysql/ippool.sql   回车,

source /etc/raddb/sql/mysql/wimax.sql   回车,

source /etc/raddb/sql/mysql/cui.sql   回车,

flush privileges;  回车,     # mysql 新设置用户或更改密码后需用flush privileges刷新 mysql 的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。

导入完成后,可以用命令查看导入的数据表的信息

use radius;        #打开radius数据库

show tables;      #显示radius数据库里的所有表

可以看到如下的表结构

+------------------+
| Tables_in_radius |
+------------------+
| cui |
| nas |
| radacct |
| radcheck |
| radgroupcheck |
| radgroupreply |
| radippool |
| radpostauth |
| radreply |
| radusergroup |
| wimax |
+------------------+

MySQL中表结构的定义

针对FreeRadius2,数据表的设计和结构定义在下面的文件中:

/etc/raddb/sql/mysql/schema.sql     # 主数据库定义,7个表,包括

radcheck   # 用户检查信息表

radreply    # 用户回复信息表

radgroupcheck   # 用户组检查信息表

radgroupreply    # 用户组回复信息表

radusergroup     # 用户和组关系表

radacct     # 计费情况表

radpostauth    # 认证后处理信息,可以包括认证请求成功和拒绝的记录。

/etc/raddb/sql/mysql/nas.sql        # 网络设备定义,只有一个表:

nas   # 网络设备表

下面的表用于一些扩展功能,可以按需导入。

ippool.sql     # ip池

wimax.sql    # wimax设备支持

cui.sql       # cui 支持

exit      # 退出 mysql 数据库。

然后进入 vi /etc/raddb/radiusd.conf 配置文件,配置freeradius支持sql:

1、vi /etc/raddb/radiusd.conf

找到 module (694行)那块以后去掉 $INCLUDE sql.conf(735行)这句话前面的 # 和 $INCLUDE sql/mysql/counter.conf(747行)前面的 #

保存文件退出vi编辑器

注意:

一定要取消这一行的注释:$INCLUDE sql.conf

否则在 radiusd -X 总会报错 Failed to load module "sql". (加载模块失败)
同理,要是在debug(调试)时出现 load module 的任何相关错误,都要取消 radiusd.conf 中的那一行 module 的注释,否则不会加载。

2、然后打开 vi /etc/raddb/sql.conf 配置文件修改与 mysql 数据库连接的配置

先找到 readclients = yes(108行)这一行,去掉前面的 # 注释

然后找到以下信息( 36-39行 )

server = "localhost"
port = 3306        # mysql数据库的端口号
login = "radius"       # mysql数据库的登录账户
password = "radpass"      # mysql数据库的radius账户的登录密码

radius_db = "radius"    ( 42行 ) # radius为数据库名

确保以上信息都正确后保存退出 vi 编辑器。

3、然后打开 vi /etc/raddb/sites-enabled/default 配置文件修改认证的方式

分别找到 authorize(69行),accounting(378行),session(449行)这几个配置,将里面的sql全部启用就行了,也就是把 sql 前面的 # 去掉就OK了。

1)authorize(授权) { 69—223行 }

在" # Read the 'users' file "下面的 files 注释掉(170 行);

下面的 sql 取消注释(177 行)。

这里需要注意一下156行的信息  eap,意思是radius服务器和设备间是采用eap的认证方式。

2)accounting (账单) { 378—443行 }

在" # See "Accounting queries" in sql.conf  "下面的 sql 取消注释(406 行);

3)session (对话)  { 449—455行 }

在" # See "Simultaneous Use Checking Queries" in sql.conf "下面的 sql 取消注释(454行)

4)preacct     (333行)

注释掉files     (372行)

5)post-auth  (461行)

取消sql的注释(475行)

6)pre-proxy  (590行)

注释掉files     (595行)

4、还有  vi /etc/raddb/sites-enabled/inner-tunnel

在" # Read the 'users' file "下面的 files 注释掉(124 行);

在" #  See "Authorization Queries" in sql.conf "下面的 sql 取消注释(132行)

到了这就终于配置完了,下面就是插入一条数据到 mysql 数据库中真实的测试一下了:

mysql -u root -p

use radius

insert into radcheck (UserName, Attribute, Value) VALUES ('demo','Password', 'demopwd');    # 插入账户和密码

insert into radusergroup (username,groupname) values ('demo','user');    # 将用户加入组中

select * from radcheck;     # 查询用户

出现以下结果则数据插入正确

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

exit     # 退出数据库

service mysqld restart      # 重启mysql数据库

service radiusd stop        # 用 radiusd -X 做测试时需要把 radius 服务先停止

radiusd -X         # 开始调试

另外开一个终端运行一下命令

radtest demo demopwd localhost 1812 testing123       # 用数据库里刚插入的账户和密码进行测试

成功的样子应该会出现 rad_recv: Access-Accept 字样。

这里特别需要注意: 在测试的时候需要保证 /etc/raddb/clients.conf 文件内容配置为以下的样子:

    1. client localhost {
    2. ipaddr = 127.0.0.1
    3. secret = testing123
    4. require_message_authenticator = no
    5. }

否则测试的时候会显示 radclient: no response from server for ID 96 socket 3  类似这样的提示。

可以再执行 cat /var/log/radius/radius.log 去查看启动日志看有没有错误。

杀死 radius 服务进程,启动 radius 服务,接下来配置路由器,进行无线连接。

killall -9 radiusd

service radiusd start

iptables -F         # 为防止接下来的操作被 iptables 防火墙干扰,这里先清空防火墙规则连

五、配置路由器并进行无线连接:

注:192.168.2.1 是路由器 LAN 端 IP,这里我是直接用网线把电脑和路由器直接连起来的,如下图,在路由器里的设置,需要加入的 radius 服务器的IP地址和连接密码(/etc/raddb/clients.conf),否则将无法访问 radius 服务器,记得保存。

还有从下图可以看出TP-LINK的这款路由器只支持 radius 服务的认证功能。

 CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

之后就可以用笔记本电脑无线连接路由器(路由器的SSID 为 TP-LINK-300M),如下图:

1、下面是用Win10系统进行连接的,如果电脑上有以前保存要连接的路由器的密码,请务必删除,Win10在要连接的路由器SSID上右击,点击忘记就可以了,然后点击连接,弹出的窗口里输入账户demo,密码demopwd,点击确定,如果正常就可以上网了。

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

2、下面是用Win7系统进行连接的,如果电脑上有以前保存要连接的路由器的密码,也请务必删除,Win7需要打开控制面板里的网络和共享中心,然后点击管理无线网络(如下图)找到路由器的SSID删除即可,接下来连接路由器在弹出的窗口里输入账户demo,密码demopwd,点击确定,如果正常就可以上网了。

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

六、安装web后台管理页面daloradius:

有些 PHP 的必须包是不在默认标准库里的,还需要安装 PHP 扩展 pear(PHP扩展与应用库)。

wget http://download.pear.php.net/package/DB-1.7.14RC2.tgz    #下载软件包

安装一个pear-DB的包:

pear install DB-1.7.14RC2.tgz

cd /var/www/html    # 进入web数据主目录 /var/www/html

从sf.net(https://sourceforge.net/projects/daloradius/?CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能source=typ_redirect)下载最新版的daloraidus,

wget https://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz

然后

tar -zxvf daloradius-0.9-9.tar.gz     # 解压daloradius-0.9-9.tar.gz

mv daloradius-0.9-9 daloradius     # 将文件daloraidus-0.9-9重命名为daloradius

解压文件 daloradius 中有 INSTALL 文件是对其的信息和安装配置的说明,可以按照其说明去做。
要注意的是与freeradius配合安装,导入的是不同的数据包。

配置时修改数据库连接信息的文件是 /var/www/html/daloradius/library/daloradius.conf.php,填写正确的数据库名称、用户名和密码。当前版本的 INSTALL 文件中所写配置文件为daloradius.conf,大概是由于没有及时更新,是不正确的。

chown apache:apache -R /var/www/html/daloradius/      # 将 /var/www/html/ 文件夹极其下面的所有文件设置为apache组和apache用户所拥有

chmod 644 /var/www/html/daloradius/library/daloradius.conf.php     # 将 daloraidus.conf.php 文件的权限设置为rw-r--r--

cd /var/www/html/daloradius/contrib/db/       # 进入 /var/www/html/daloradius/contrib/db/ 目录

mysql -u root -p radius < mysql-daloradius.sql      # 将 mysql-daloradius.sql 导入到mysql里radius数据库中

mysql -u root -p radius < fr2-mysql-daloradius-and-freeradius.sql     # 将 fr2-mysql-daloradius-and-freeradius.sql 导入到mysql里radius数据库中

vi /var/www/html/daloradius/library/daloradius.conf.php     # 修改daloradius.conf.php 文件,将以下涉及到的内容更改,其他的别动

(28-33行)
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';          # 连接mysql数据库的端口
$configValues['CONFIG_DB_USER'] = 'root';            # 连接mysql数据库的账户
$configValues['CONFIG_DB_PASS'] = ' ';                 # 连接mysql数据库账号的密码
$configValues['CONFIG_DB_NAME'] = 'radius';        # 连接mysql的radius数据库

下面还有几个 daloradius 的 bug,默认配置中有几个文件路径和我们导入的不一样,把它改过来:

$configValues['CONFIG_FILE_RADIUS_PROXY'] = '/etc/raddb/proxy.conf'; (68行)

$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';     (70行)

$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';  (88行)  # 注意这条,要和 /etc/raddb/clients.conf 文件设置的secret =xxxxxxxxxx 值一样。

配置完成后保存退出

touch /tmp/daloradius.log    # 建立daloraidus的日志文件

chown apache.apache /tmp/daloradius.log    # 将其文件设置为apache组及apache用户拥有

service httpd restart    #重启http服务

接下来是添加防火墙规则,开放防火墙80端口,1812是radius服务的认证授权端口,1813是计费端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 1812 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 1813 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 1812 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 1813 -j ACCEPT

查看端口是否开放

iptables -L -n | grep 181

/etc/rc.d/init.d/iptables save        #保存配置 
/etc/rc.d/init.d/iptables restart      #重启服务

现在打开浏览器访问 http://your ip address/daloradius 就可以看到daloradius了,默认登录的用户名和密码分别为  username: administrator     password: radius。

Config下可以对管理员进行增删改,如下图:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

cat  /etc/httpd/logs/error_log         # 可以查看 http 服务的日志,看有没有错误

 
下面是配置计费流量等
 
mysql -u root -p
use radius
  1. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Auth-Type',':=','Local');
  2. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Service-Type',':=','Framed-User');
  3. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Address',':=','255.255.255.255');
  4. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Netmask',':=','255.255.255.0');
  5. INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Acct-Interim-Interval',':=','600');     # acct-interim-interval是计算流量的间隔(600秒),意味着每隔10分钟记录当前流量。
  6. INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Simultaneous-Use',':=','1');     # 允许同时连接数目。

第七步,配置H3C交换机与radius服务器连接

在网络设备上开启802.1X认证、AAA认证和服务器RADIUS的配置,本文以H3C交换机为例。

1、设置交换机的IP地址:

[H3C] system-view   #开启全局802.1x特性

#先设定交换机IP vlan 1打开端口 默认分配到vlan1

#交换机端口默认是vlan1,工作在access模式

[H3C] interface vlan-interface 1

[H3C-Vlan-interface1] ip add x.x.x.x x.x.x.x    # ip add 交换机的IP地址 交换机的子网掩码

[H3C-Vlan-interface1] quit

第一步:H3C进入特权模式后,开启802.1X认证协议和认证方式,命令如下:

dot1x

dot1x authentication-method eap   #采用eap认证方式

quit

Web界面显示如下:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

第二步:与认证服务器RADIUS的配置,命令如下:

radius scheme demo   # 创建radius方案demo并进入其视图

primary authentication x.x.x.x (IP)   # 设置主认证radius服务器的IP

primary accounting x.x.x.x (IP)     # radius主计费服务器的IP

key authentication xxxxxxxxxx  (密码)  # radius服务器认证密码

key accounting xxxxxxxxxx  (密码)   # radius服务器计费密码

user-name-format without-domain    # 指示系统从用户名中去除用户域名后再将之传给radius服务器

quit

Web界面显示如下:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

第三步:配置AAA认证,最好是每个认证都开启,我在配置过程中没有配置计费认证,结果导致认证总是失败,命令如下:

domain system   # 创建域system并进入其视图

  1. authentication lan-access radius-scheme demo   # 配置802.1x用户使用radius方案demo进行认证、授权、计费。
  2. authorization lan-access radius-scheme demo
  3. accounting lan-access radius-scheme demo

access-limit disable    # 可设置该域最多可容纳多少个用户,这里不设置

state active

idle-cut disable    # 可启动闲置切断功能并设置相关参数,这里不设置

self-service-url disable

quit

Web页面显示如下:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

第四步:开启端口的802.1X的认证,命令如下:

interface GigabitEthernet1/0/1    # 开启指定端口GigabitEthernet1/0/1的802.1x特性

undo dot1x handshake     # 这个握手协议要关闭,避免windows认证一段时间后又会掉线,要求重连

dot1x port-method portbased     # 端口控制方式为Port Based

dot1x

Web界面显示如下:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

第五步:dis cu查看最终所有的配置,如下:

<H3C>dis cu

#

version 5.20.99, Release 1111

#

sysname H3C

#

domain default enable system

#

ipv6

#

telnet server enable

#

port-group-vlan 1

#

dot1x

dot1x authentication-method eap

#

password-recovery enable

#

vlan 1

#

radius scheme demo

primary authentication 192.168.1.239

primary accounting 192.168.1.239

key authentication cipher $c$3$buPUPkVkvu8c7rakR3BdQpKbL4c24LiQfJdCu8EM

key accounting cipher $c$3$LdPEB85akrViDkqJTFsTAaSvl36Oc7nryXMFm56q

user-name-format without-domain

#

domain system

authentication lan-access radius-scheme demo

authorization lan-access radius-scheme demo

accounting lan-access radius-scheme demo

access-limit disable

state active

idle-cut disable

self-service-url disable

#

user-group system

group-attribute allow-guest

#

local-user admin

password cipher $c$3$EkhzOhFEh59+WPOOlD32QaWsr0DwDZyU

authorization-attribute level 3

service-type telnet

service-type web

#

interface NULL0

#

interface Vlan-interface1

ip address 192.168.1.240 255.255.255.0

#

interface GigabitEthernet1/0/1

dot1x guest-vlan 1

undo dot1x handshake

dot1x port-method portbased

dot1x

#

interface GigabitEthernet1/0/2

#

interface GigabitEthernet1/0/3

#

interface GigabitEthernet1/0/4

#

interface GigabitEthernet1/0/5

#

interface GigabitEthernet1/0/6

。。。。。。

#

undo info-center logfile enable

#

load xml-configuration

#

user-interface aux 0

user-interface vty 0 15

authentication-mode scheme

#

return

H3C交换机恢复默认配置命令

<H3C>reset saved-configuration

The saved configuration file will be erased. Are you sure? [Y/N]:Y

恢复完后需要重启交换机才能生效

<H3C>reboot

Start to check configuration with next startup configuration file, please wait.........DONE!

This command will reboot the device. Current configuration will be lost, save current configuration? [Y/N]:N

This command will reboot the device. Continue? [Y/N]:Y

到这所有的配置终于是完了,电脑上可以安装锐捷的认证客户端进行认证登录。

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

 第八步,daloradius中文版配置:

进入daloradius 文件目录,修改config-lang.php,添加中文选项:

cd /var/www/html/daloradius

vi config-lang.php

<option value="zh"> Simplified Chinese </option>   (79行)

进入lang目录,修改main.php,增加简体中文文件:

cd lang/

vi main.php

(32行)

case "zh":

include (dirname(__FILE__)."/zh.php");

break;

下载文件zh.php;

链接:https://pan.baidu.com/s/10RX80RMIQRMYkcEzicF7lw 密码:z7wu

返回lang目录,将下载的zh.php文件放入lang目录,重启radius服务;

cd /var/www/html/daloradius/lang

将下载的zh.php上传至此目录。

service radiusd restart     # 重启radius服务

service httpd restart        #重启http服务

service mysqld restart     #重启mysql服务

设置为简体中文 Config -> Language Settings ->Simplified Chinese

iptables -L    # 查看iptables防火墙规则链

保证80(HTTP超文本传输协议端口)、1812(认证授权端口)、1813(计费端口)端口的开放。

 第九步,daloradius对freeradius服务的Web页面管理展示:

1、服务器状态:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

2、连接记录:CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

3.在线用户:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

4、用户排行:

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

上一篇:团队作业4——第一次项目冲刺(Alpha版本)


下一篇:healthMonitoring与运行状况监视