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、开始配置
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
}
7
、vi /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]
转载于:https://blog.51cto.com/ckc620/366950