AAA服务器【Radius Server】服务器搭建&证书制作指南

本文详述了如何一步步搭建FreeRadius Server,包括安装openssl和libssl-dev,编译步骤,配置Radius,生成证书以及设置开机启动。在配置过程中特别提到了EAP方法的设置和证书相关配置,确保了服务器与客户端的通信。同时,文章还提供了证书的删除方法。

[非经允许,不得转载]

“风萧萧兮易水寒,壮士一去兮不复还。” 

折腾了一个多礼拜,总算把Radius Server搭建起来了,期间在网络上爬了大量的博文,大多已经老旧,在实际搭建测试过程中遇到了很多问题,花了大量时间分析并解决了这些问题,特此立帖纪念。

好了,不说废话了,开始我们的Radius Server搭建之旅。

首先,下载 http://freeradius.org/download.html (不要问我为什么用它,只因为你找不到比他更优秀的)目前最新的稳定版本是2.2.0,文件名是freeradius-server-2.2.0.tar.bz2。

1. 安装openssl libssl-dev

sudo apt-get install openssl libssl-dev

2. 编译

#tar freeradius-server-2.2.0.tar.bz2

#cd freeradius-server-2.2.0

#./configure with-openssl –with-openssl-includes=/usr/include/openssl \

--with-openssl-libraries=/usr/lib

#make

#make install

PS: 我刚开始编译的时候,并没有添加选项导致EAP methodPEAP,TLS,TTLSRadius

Server无法启动。

更新系统库Cache

 ldconfig -v

3. 测试是否安装成功:

1) 在终端上运行:

#radiusd –Xf

2) 在另外一个终端上运行:

# radtest test test localhost 0 testing123

如果出现下面的信息,说明可以Radius Server可以进行通信。

Sending Access-Request of id 18 to 127.0.0.1 port 1812

User-Name = "test" 

        User-Password = "test"

NAS-IP-Address = 127.0.0.1

NAS-Port = 0

rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=18, length=20

4. 配置Radius

1) 修改clients.conf:增加

client 192.168.0.0/24 {

        secret          = testing123 /* 9002Freeradius之间通讯的密钥*/

#shortname       = private-network /* 9002hostname */

}

192.168.0.xAP都可以访问Radius服务器。

2)  修改eap.conf

default_eap_type = peap /*默认的EAP method*/

注释掉

#make_cert_command= “{certdir}/bootstrap”

3)  修改users,添加下面的信息

whatever Cleartext-Password := " whatever" #客户端用户名、密码

Service-Type = Framed-User,

Framed-Protocol = PPP,

Framed-IP-Address = 255.255.255.254,

Framed-IP-Netmask = 255.255.255.0

PS:

目前我对这部分的理解:

比如,如果修改了server.cnfinput_password(默认是whatever,则需要修改eap.conf文件中的tls字段的private_key_password(默认是whatever)信息。

5. 生成证书

如果使用外部证书可以跳过这步

5.1生成随机数:

# cd /usr/local/etc/raddb/certs

#./bootstrap #记的一定要做这一步,在测试严重EAP-TLS的过程中,Radius Server总是提示”unknown signed CA”,反复检查无果后,在eap.cnf文件中发现“make_cert_command= “{certdir}/bootstrap””,总算知道证书没有签名的原因,原来出在这里。

# make dh

# make random

5.2 修改配置文件

编辑ca.cnfserver.cnfclient.cnf文件中的"input_password" 和 "output_password"字段,设置密码,分别编辑[certificate_authority], [server], 和[client]字段为证书的信息, default_days字段为证书有效期。

5.3 制作证书

# make ca server client

5.5 验证根证书:

# openssl x509 -in ca.pem -text –noout

 

5. 6安装客户端证书:

d)      导入根证书:生成的ca.der为根证书,需要先导入到客户端,注意存放的位置要选受信任的根证书颁发机构。

e)       导入客户端证书:生成的umitor@yeah.net.pem是客户端证书(也就是client.cnf中的commonName+.pem,特别的,commonName也是客户端的登录名),不过使用client.p12文件更容易导入Windows系统。

 

 

PS

1. 如果修改了server.cnfinput_password,则需要修改eap.conf文件中的tls字段的private_key_password信息。

2. clients.cnf中的input_password是安装证书用到的密码,即私密密码。

6. 设置为开机自动启动

# cp freeradius-server-2.1.6/scripts/rc.radiusd /etc/init.d/radiusd

# vi /etc/init.d/radiusd

 

在 #!/bin/sh 一行后面加入:

# radiusd      This shell script takes care of starting and stopping

#             standalone radiusd.

#

# chkconfig: - 70 70

# description: free radius server.

# processname: /usr/local/sbin/radiusd

# config: /usr/local/etc/raddb

 

使用命令:

#chkconfig --add radiusd

#chkconfig radiusd on

Q&A

Q1如何删除误安装的证书

单击开始运行,输入“certmgr.msc”,在打开的窗口中选择中级的证书颁发机构→证书,然后找到相应的证书并右击之,选择删除即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值