Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1164115
  • 博文数量: 253
  • 博客积分: 5892
  • 博客等级: 大校
  • 技术积分: 1942
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 14:20
文章分类

全部博文(253)

文章存档

2012年(98)

2011年(155)

分类: 网络与安全

2011-11-23 17:30:31

    前几天由于网络方案测试需要radius服务器,从网络上找了一下,都说Freeradius最好,但就是没有详细的配置手册,一边学习一边测试,有一点心得,与大家分享。

Freeradius是免费下载源代码的,有能力的朋友可以下载后自己编译,本人很懒呀,就直接下载了windows下的安装版本,也就是别人编译好的1.1.5版本。采用默认安装在C盘,主要需要修改的是在etc/raddb中的文件,下面分别说明:

(1)主配置文件是radiusd.conf

首先是是环境变量

prefix = /usr/local

exec_prefix = ${prefix}

sysconfdir = ${prefix}/etc

localstatedir = ${prefix}/var

sbindir = ${exec_prefix}/sbin

logdir = ${localstatedir}/log/radius

raddbdir = ${sysconfdir}/raddb

radacctdir = ${logdir}/radacct

配置文件和日志文件的位置

confdir = ${raddbdir}

run_dir = ${localstatedir}/run/radiusd

日志文件的信息,添加到如下配置文件的底部

log_file = ${logdir}/radius.log

以下是全局配置

模块的位置由 libdir来配置。

如果不能工作,那么你可以从新配置,从新Build源码,并且使用 共享库。

pidfile: Where to place the PID of the RADIUS server.

pidfile = ${run_dir}/radiusd.pid

user/group

如果有评论,服务器会运行 用户/组 启动它. 修改用户/组,必须具有root权限启动服务器

这里的含义是指定启动radius服务可以限定操作系统上的用户和组,但是不建议启动它.

#user = nobody

#group = nobody

最长请求时间(秒),这样的问题经常需要存在在应用SQL数据库时候,建议设置为5秒到120秒之间.

max_request_time = 30

当请求超过最长请求时间的时候,可以设置服务器删除请求.

当你的服务在threaded(线程下)运行,或者 线程池(thread pool) 模式,建议这里设置为no.

但用threaded 服务设置为yes时,有可能使服务器崩溃.

delete_blocked_requests = no

在 reply 发送给NAS后的等待清空时间. 建议 2秒 到 10秒

cleanup_delay = 5

服务器的请求最大数 ,建议值 256 到无穷

max_requests = 1024

让服务器监听某个IP,并且从次IP发送 相应 信息. 主要是为了 服务器同时具有多服务器时候使用.

bind_address = *

可以指定raidus的使用端口号,使用0表示使用默认的radius端口, 在配置文件 /etc/services配置.

port = 0           //与NAS上配置的端口号要相同

 

(2)clients.conf是用来配置哪些NAS可以访问radius,语法如下:

client 192.168.100.0/24 {         //NAS的IP地址,可以是网段,NAS是指在那些启用了AAA指定radius服务器的设备。

       secret             = azalea       // NAS与radius间的通信密码key

       shortname      = ming.net    //域名,可以随便写。

    nastype     = other       //可以不写,指定nas的类型,通常radius能自己识别。

  }

 

(3)users.conf是用来配置用户信息的。语法如下:

ming  Auth-Type := EAP, User-Password == "123456"   //ming为用户名, 后面跟认证类型与密码。

            EAP-Type := peap 

radiusadmin  Auth-Type := Local, Cleartext-Password := "radiusadmin"

Service-Type = NAS-Prompt-User,  cisco-avpair = "shell:priv-lvl=15"

 

   (4) acct_users计费用户设定:语法如下:

      DEFAULT  Acct-Status-Type == Start

     Exec-Program = "/aaa/acctStart"

     DEFAULT  Acct-Status-Type == Stop

      Exec-Program = "/aaa/acctStop "

 

   (5)eap.conf是用来配置eap的相关参数,语法如下:

eap {
                default_eap_type = md5
                timer_expire     = 60
                ignore_unknown_eap_types = no
                cisco_accounting_username_bug = no
                md5 {
                }
                leap {
                }
                tls {
                        private_key_password = whatever
                        private_key_file = ${raddbdir}/certs/cert-srv.pem
                        certificate_file = ${raddbdir}/certs/cert-srv.pem
                        CA_file = ${raddbdir}/certs/demoCA/cacert.pem
                        dh_file = ${raddbdir}/certs/dh
                        random_file = ${raddbdir}/certs/random
                        fragment_size = 1024
                        include_length = yes
                        check_crl = yes
                       check_cert_issuer = "/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd"
                        check_cert_cn = %{User-Name}
                        cipher_list = "DEFAULT"
                }       
                ttls {
                        default_eap_type = md5
                        copy_request_to_tunnel = no
                        use_tunneled_reply = no
                }

peap{

default_eap_type = mschapv2

}
                mschapv2 {
                }

   }

 

配置完这些后,运行FreeRadius.net后,右键点击任务栏出现start FreeRadius.net in Debug mode后,直到出现以下信息才算正常:

直到出现以下信息才算正常
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.

 

如果用cisco的三层交换机做NAS,要做如下配置:

aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius

dot1x system-auth-control

radius-server host 192.168.100.2 auth-port 1812 acct-port 1813 key azalea

 

如果要使用户用802.1x认证,在交换机端口下启用802.1x时的配置:

 Dot1x port-control auto

 Dot1 multi-host    //这是由于通常一个交换机端口下不至一个用户。

阅读(6046) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~