Redhat Enterprise Linux 5.5 下安装与配置freeradius + mysql

H3C S5600上配置集中式MAC认证

为了实现非授权的电脑接入公司网络,结合现在的网络环境,以及本着节约的原则,特配置此方案。

1、安装freeradius2-2.1.7-7.e15 freeradius2-mysql-2.1.7-7.e15 freeradius2-utils-2.1.7-7.e15.

安装以上软件包会依赖一些软件包,安装时解决一些依赖问题就可以了。。

2、安装mysql-5.0.77-4.e15_4.2 mysql-server-5.0.77-4.e15_4.2

3、安装完软件包后,需修改freeradius的配置文件才能启动radiusd 服务。

4、先说说都有哪些配置文件先:

/etc/raddb/radius.conf   这个是主配置文件,在这个配置文件里面inclule了许多其他文件

/etc/raddb/users  用户账号配置文件

/etc/raddb/client.conf   这是radius客户端配置文件

/etc/raddb/sites-enbale/default  =   /etc/raddb/sites-avalible/default

这个是认证,授权,计费配置文件

/etc/raddb/sites-enble/inner-tunnel  =  /etc/raddb/sites-avalible/inner-tunnel

 虚拟服务器配置文件

/etc/raddb/sql.conf   与数据库连接的配置文件

/etc/raddb/sql    这个目录下有许多sql 语句文件,用来创建radius数据库表的。

/etc/raddb/certs/bootstrap  这是生成证书的执行文件,执行一下OK了。但是执行后腰把该目录下的所有文件属性添加other 可读 ,否则编译inner-eap模块时出错

5、开始配置

1vi /etc/raddb/sites-enable/default ,将文件中的eap替换成inner-eap

   vi /etc/raddb/sites-enable/inner-tunnel  将文件中的eap替换成inner-eap

2、执行/etc/raddb/certs/bootstrap ,执行完后将/etc/raddb/certs/目录下所有文件添加other 可读

chmod o+r /etc/raddb/certs/*

3、此时看看是否可以启动radiusd服务器,若是失败,则查看日志文件可以找到原因进行解决

    vi /var/log/radius/radius.log

4、继续我们需要的修改,修改/etc/raddb/radius.conf 取消 $include sql 这行的注释 

5vi /etc/raddb/sql.conf 编辑此文件,修改与mysql 数据库连接参数

    server=”localhost”

  login=”root”

  password=mysq“的root的密码

 radius_db=”radius”

6、vi /etc/raddb/client.conf 编辑radius客户端配置文件

         client 192.168.0.110 {
              ipaddr = 192.168.0.110
              secret = jiubang
              shortname = 3G
              nastype = other
           }

 

7vi /etc/raddb/radius.conf 

        linsten {
               ipaddr = 192.168.215.17
               port = 1812
               type = auth
         } 

 
   另外需根据实际情况修改radius服务器的连接等性能参数。。。

 

 

7导入mysql数据库

# mysqladmin -u root -p create radius
# mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql

# mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql

# mysql -u root -p radius < /etc/raddb/sql/mysql/ippool.sql

# mysql -u root -p radius < /etc/raddb/sql/mysql/wimax.sql

# mysql -u root p

mysql> GRANT SELECT ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radpass';

mysql> GRANT ALL on radius.radacct TO 'radius'@'localhost';

mysql> GRANT ALL on radius.radpostauth TO 'radius'@'localhost';

先加入一些组信息:

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask','=','255.255.255.255');

mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');

然后加入用户信息:

mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('geng', 'Password', 'peng');

然后把用户加到组里:

mysql> insert into radusergroup(username,groupname) values('geng','user');

mysql> select * from radcheck where UserName='geng';

radius 数据库中的表

配置集中式MAC认证的时,只需往radcheck表中添加MAC地址作为用户名和密码就可以了。

 

批量添加用户名到数据库的表时,可以创建好一个.sql文件,里面写上SQL语句,然后执行.

 
vi /etc/raddb/3gmac/3guser.sql

进入到要插入数据的表所在的数据库后,执行

 

 

配置完重启服务。

6、测试
   6.1 linux客户端
  radtest geng peng localhost 0 testing123
    用户名:geng
    密码:  peng
    Ip地址  localhost
    密钥    testing123

 

交换机中的配置

 

[H3C]display current-configuration

#

 sysname H3C

#

 MAC-authentication

 MAC-authentication domain jiubang

#

radius scheme system

 server-type standard

radius scheme freeradius

 server-type standard

 primary authentication 192.168.215.17

          accounting optional   #由于我的freeradius没有配置记账功能,所以在交换机上需配置此项,

否则在服务器上用tcpdump host 192.168.0.110 -n 查看网络通信状态时即使是显示请求接受,也接入不了网络。

 key authentication jiubang

 user-name-format without-domain

 nas-ip 192.168.0.110

#

domain jiubang

 scheme radius-scheme freeradius

domain system

#

 stp enable                              

#

vlan 1

#

#

interface Vlan-interface1

 ip address 192.168.0.110 255.255.255.0

interface GigabitEthernet1/0/1

 port access vlan 214

 MAC-authentication

#                                        

interface GigabitEthernet1/0/2

 port access vlan 214

 MAC-authentication

#

#

interface GigabitEthernet1/0/23

 port link-type trunk

 port trunk permit vlan all

 gvrp

#

user-interface vty 0 1

 authentication-mode scheme

 user privilege level 3

 set authentication password cipher K^ANUZ0#I(-B-.UEM,.3^1!!

user-interface vty 2 4

 user privilege level 3

 set authentication password cipher K^ANUZ0#I(-B-.UEM,.3^1!!

#

return

[H3C]