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服务器上对用户进行认证、授权和计费服务。
图中Device(例如交换机)向远程接入用户提供接入及与RADIUS服务器交互的服务。RADIUS服务器上则存储用户的身份信息、授权信息以及访问记录,对用户进行认证、授权和计费服务。

认证过程

(1)客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;

(2)接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;

(3)客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;

(4)接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;

(5)认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge;

(6)接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证;

(7)客户端收到EAP-Request/MD5-Challenge报文后,将密码和Challenge做MD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备;

(8)接入设备将Challenge,Challenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证;

(9)RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;

(10)如果认证通过,用户通过标准的DHCP协议 (可以是DHCP Relay) ,通过接入设备获取规划的IP地址;

(11)如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;

(12)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, Win7/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了:

mv /etc/raddb/clients.conf /etc/raddb/clients.conf.backup    # 备份/etc/raddb/clients.conf文件

grep -v "#" /etc/raddb/clients.conf.backup > /etc/raddb/clients.conf     # 过滤出不带注释符号 # 的信息行

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;     # 查询用户

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

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 服务的认证功能。

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

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

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

 

六、安装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/?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下可以对管理员进行增删改,如下图:

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

百度百科关于802.1X认证协议和eap协议的说明:

802.1X认证协议:

(1)https://baike.baidu.com/item/802.1x/5635474?fr=aladdin

(2)https://baike.baidu.com/item/802.1x身份认证/7850855

eap协议:https://baike.baidu.com/item/EAP协议/5794582

 

Web界面显示如下:

第二步:与认证服务器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界面显示如下:

第三步:配置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页面显示如下:

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

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

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

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

dot1x

 

Web界面显示如下:

第五步: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

 

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

第八步,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、服务器状态:

2、在线用户:

3、连接记录:

4、用户排行:

 

posted @ 2018-08-05 18:44  OpsDrip  阅读(4638)  评论(3编辑  收藏  举报