linux系统下freeradius AAA认证服务器创建

网上也有很多关于freeradius服务器的搭建过程,笔者试过很多次,但都无功而返,原因是他们的介绍过于笼统,即使一步不差的按照他们的方法进行搭建,也是漏洞百出,错误连篇。因此笔者写下这篇博文,以供大家参考。经笔者多次搭建测试,没问题。


创建服务器之前我们需要准备以下软件包:(网上都有,可以自行下载)

1、freeradius-server-3.0.11.tar

2、centos6.2

注意:笔者的centos6.2是安装在VMware虚拟机上的,由于服务器在搭建的过程中需要云端下载安装MySql数据库,所以要保证Linux系统(centos6.2)能够访问到网络。


接下来是笔者的详细搭建过程:


1、拷贝freeradius-server-3.0.11.tar压缩包到centos中


2、root下使用命令tar -xzvf freeradius-server-3.0.11.tar.gz 解压缩包


3、执行命令yum install libtalloc-devel -y安装libtalloc


4、进入解压后的文件夹下tar -xzvf freeradius-server-3.0.11,执行命令./configure


5、先后执行命令make、make install


6、进入cd /usr/local/etc/raddb,用vim打开文件users。将以下内容注释去掉


steve  Cleartext-Password := "testing"
       Service-Type = Framed-User,
       Framed-Protocol = PPP,
       Framed-IP-Address = 172.16.3.33,
       Framed-IP-Netmask = 255.255.255.0,
       Framed-Routing = Broadcast-Listen,
       Framed-Filter-Id = "std.ppp",
       Framed-MTU = 1500,
       Framed-Compression = Van-Jacobsen-TCP-IP


7、进入cd /etc/hosts修改添加如下内容,即添加管理员名字


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 huanqian
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6


8、进入cd usr/local/etc/raddb/,打开radius.conf找到allow_vulnerable_openssl = no,修改成allow_vulnerable_openssl = yes


9、radius测试,在终端输入radiusd -X,新打开一个终端输入radtest steve testing localhost 0 testing123
steve是用户名
testing是密码
ps aux | grep free 或 ps aux | grep radius命令可以查看当前有哪些进程
kill -9 jinchengid杀死某个进程




10、mysql安装,mysql、mysql-server、mysql-devel必须都要安装,缺一不可






11、运行命令 yum list | grep mysql查看网络提供下载的资源列表




12、输入yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好




13、输入命令service mysqld restart启动MySQL




14、修改防火墙配置,允许freeradius所使用的端口1812,1813通过。命令如下:
iptables -A INPUT -p udp --dport 1812 -j ACCEPT
iptables -A INPUT -p udp --dport 1813 -j ACCEPT
(最好关闭所有防火墙:service iptables stop )




15、创建数据库,输入命令mysql -u root -p要求输入密码时,直接回车即可。
mysql>create database radius;
mysql>grant all on radius.* to radius@localhost identified by "radpass"; 
mysql>exit;




16、导入表结构命令:mysql -u root radius </usr/local/etc/raddb/mods-config/sql/main/mysql/schema.sql






17、建立组信息和用户信息,输入mysql -u root radius,打开数据库,在 mysql> 提示符下,执行如下命令:
(1)建立组信息:(在此新建组名称为user)
insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type',':=','Framed-User'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Address',':=','255.255.255.255'); 
insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');
(2)建立用户信息:(在此新建用户名为test,密码为testpwd)
insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');
(3)将用户加入组中:
insert into radusergroup (username,groupname) values ('test','user');






18、修改 FreeRADIUS中的mysql 认证配置
(1)进入以下路径cd usr/local/etc/raddb/mods-enabled/
(2)执行命令ln -s ../mods-available/sql




19、修改 FreeRADIUS中的mysql 配置文件
(1) vim usr/local/etc/raddb/mods-available/sql
(2)找到driver = “rlm_sql_null”这一行,修改为driver = “rlm_sql_mysql”。保持并退出。




20、执行命令vim usr/local/etc/raddb/sites-available/default,将authorize{}和accounting{}里面的sql前面的#号去掉




21、更改sql.conf 
(1)server="localhost"
(2)login="root"
(3)password="123456"
 (4)radius_db="radius"




22、mysql radius下执行命令select *from radgroupreply;显示数据库配置




23、重新以调试方式运行freeradius:radiusd -X




24、再打开一个新的终端,运行测试工具命令:radtest test testpwd localhost 1812 testing123(认证通过的话,服务器搭建完成)




25、drop命令用于删除数据库。
drop命令格式:drop database <数据库名>;


/*以下是结合交换机的AAA认证功能对freeradius服务器的测试*/

26、与交换机的对接,进入目录/usr/local/etc/raddb/site-enabled,打开defoult文件
把authorize{} 、accounting {}中的sql前面的#去掉,并把authorize{} 中的files前加#;




27、进入目录/usr/local/etc/raddb 打开文件clients.conf添加如下内容
client 10.1.1.55{ //10.1.1.55是设备(交换机)的管理IP
ipaddr = 10.1.1.55
secret = testing123
shortname  = radiusserver
nas_type  = other


}


28、配置交换机认证IP为centos获得的动态IP(即Linux的IP),
(centos能够联网的IP,还需和交换机处于同一网段内)
交换机共享密钥为testing123,与服务器保持一致。




29、客户端登录(必须是802.1x认证客户端,比如锐捷客户端),用户名test,密码testpwd。




30、成功认证


注:读者若需转载,请注明出处:http://blog.csdn.net/jiust12138

发布了5 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/jiust12138/article/details/70327839