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]