Redhat Enterprise Linux 5.5 下安装与配置 freeradius + mysql
H 3C 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、 开始配置
1 vi /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 这行的注释  
5 vi /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 数据库中的表
RedhatLinux 5.5 下安装与配置freeradius + mysql_第1张图片
配置集中式MAC认证的时,只需往radcheck表中添加MAC地址作为用户名和密码就可以了。
 
批量添加用户名到数据库的表时,可以创建好一个.sql文件,里面写上SQL语句,然后执行.
 
vi /etc/raddb/3gmac/3guser.sql
RedhatLinux 5.5 下安装与配置freeradius + mysql_第2张图片
进入到要插入数据的表所在的数据库后,执行
 
 
配置完重启服务。
6、测试
   6.1 linux客户端
  radtest geng peng localhost 0 testing123
    用户名:geng
    密码:  peng
    Ip地址  localhost
    密钥    testing123
 
交换机中的配置
 
[H 3C ]display current-configuration
#
 sysname H 3C
#
 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
[H 3C ]