• 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、用户排行:

     

  • 相关阅读:
    Jmeter对HTTP请求压力测试、并发测试的简单使用方法
    ActiveMQ学习笔记(4)----JMS的API结构和开发步骤
    SpringBoot项目如何进行打包部署
    ActiveMQ学习笔记(3)----JMS的可靠性机制
    狗屎一样的代码!快,重构我!
    代码对比工具,我就用这 6 个!
    Spring Boot 实现定时任务的 4 种方式
    阿里巴巴26个屌炸天的开源项目,你知道几个?
    centos7添加bridge-nf-call-ip6tables出现No such file or directory
    mysql国内镜像下载网址
  • 原文地址:https://www.cnblogs.com/opsprobe/p/9420502.html
Copyright © 2020-2023  润新知