FreeRADIUS之RADIUSD说明

FreeRADIUS之RADIUSD说明

 

radiusd – 认证,授权和记账服务器(AAA服务器)  

概要

radiusd [-C] [-dconfig_directory] [-f] [-i ip-address] [-n name][-p port] [-s] [-v] [-x] [-X]  

描述

FreeRADIUS是一个高性能和高度可配置的RAIDUS服务器。它支持大多数的后端数据库比如扁平文件,SQL,LDAP,Perl,Python等等。它也支持大多数的的认证协议例如PAP,CHAP,MS-CHAP(V2),HTTP Digest,和EAP(EAP-MD5,EAP-TLS,PEAP,EAP-TTLS,EAP-SIM等等)。

 

它对于Cisco VLAN Query Protocol(VMPS)和DHCP有实验室支持。

请读取DEBUGGING部分。它包含为你本地系统快速配置服务器的指令。

 

选项

可被服务器所接受的命令行选项如下:

 

-C

立即检查配置且退出。如果读配置时,存在一个错误,服务器将用一个非0的状态代码退出。如果配置显示是可接受的,服务器将用0状态代码退出。

注意,对于这个检查来说存在大量的限制。取决于启动一个RADIUS服务器的复杂性,这些检查是不完全必要的。当用-C运行时服务器可以返回一个0状态码,但当正常运行时仍然存在一个错误。

看radiusd –XC输出,可以知道正常配置中哪些模块被检查的一个信息列表,哪些模块跳过等等没被检查。

 

-d config directory

/etc/raddb是默认的。Radiusd通过查询/etc/raddb来发下他需要的配置文件比如dictionary和users文件。

 

-i ip-address

定义IP地址(服务器用其来发送和接受包)

Defines which IPaddress that the server uses for sending and receiving packets.

如果这个命令行选项是给定的,则radiusd.conf文件中的“bindaddress”和所有的“listen{}”记录被忽略。

选项MUST被使用(与-p的搭配使用)

-f

作为一个前端程序运行。

 

-n name

 

读raddb/name.conf替代raddb/radiusd.conf

-p port

 

正常情况下radius监听的端口在/etc/services(radius和radacct)中所指定。当这个选项被指定,radiusd在指定的端口上监听认证请求,在指定端口+1进行记账请求。

如果这个命令行选项被给定时,则radiusd.conf文件中的“port”被忽略。

 

-s

 

运行单服务器模式。服务器正常情况下可以用多线程和多进程来运行,这可以降低它对请求的回应时间。一些系统用线程时可能会发生一些问题,采用单服务器模式可以有助于去定位这些问题。在单服务器模式时,服务器也将不“daemonize”

-v

打印服务器版本信息且退出。

-X

调试模式。等价于"-sfxx-l stdout"。当尝试理解服务器是怎么工作时,总是使用radiusd –X去运行。

-x

精细的调试模式。在这个模式时,服务器将打印每个请求的详细信息到它的stdout输出。你可以制定这个选项到多个时间段去获取更多的详细的输出。

 

调试

正确的配置好服务器来满足复杂的需求是有难度的。我们强烈推荐通过以下步骤来进行配置:

1)进入调试模式radiusd –X.

2)尽可能少的改变默认的配置文件。服务器包含了针对协议,数据库和不同系统的多年的经验。它的默认配置被设计去工作在任何环境,可以去做任何事。

3)尽可能小的改变配置文件,当测试每一个变更时。进行修改时,保存配置文件的一个副本,能工作后,再备份,再进行其他的变更。如果变更不能工作,debug,尝试去理解为什么他不能正常工作。

4) 如果你需要添加到数据库F00一个连接 (例如LDAP或者SQL),接着:

    a)编辑raddb/modules/foo

    这个文件包含模块的默认配置。它包含注释(描述什么可以被配置),这些配置记录的含义

    b)编辑raddb/sites-available/default

    这个文件包含服务器的默认策略,例如"enable CHAP, MS-CHAP, and EAP authentication"。查看这个文件中关于你的模块foo的所有引用。读注释,删除头#(你想引用的行)。这将启用该模块。

    c)编辑raddb/sites-available/inner-tunnel

这个文件包含对于tunneled的当前的EAP方法的默认的策略。执行同种类型的编辑。如果你不使用EAP(802X),这步可以跳过。

d)启动服务器到debugging模式,启动测试

 

背景知识

RADIUS is a protocolspoken between an access server, typically a device connected to several modemsor ISDN lines, and a radius server. When a user connects to the accessserver, (s)he is asked for a loginname and a password. This information is thensent to the radius server. The server replies with "accessdenied", or "access OK". In the latter case login information issent along, such as the IP address in the case of a PPP connection.

The access server also sends login and logout records to the radiusserver so accounting can be done. These records are kept for each terminalserver seperately in a file called detail, and in the wtmpcompatible logfile /var/log/radwtmp.  

RADIUS是一个协议。当一个用户连接到访问服务器时,他被要求提供用户名和密码。这个信息被发送到radius服务器。服务器用 access ok或者access denied来回应。在较后的例子中,登陆信息被发送,例如在ppp连接中的ip地址

配置

Radiusd使用一系列的配置文件。每个文件有自己的man页。这些文件是radiusd.conf

    主要的配置文件,设置管理控制条目。

Dictionary

    这个文件通常是精致的。它定义了所有可能的RADIUS属性(用于其他配置文件中的)。你不需要修改它。它在相同的目录下包含其他的字典文件。

Hints

   定义到radius服务器基于用户的登录名或者其他的属性的建议。它也提供用户名的映射名。比如前缀,后缀的支持。

Huntgroups

    定义huntgroups,使其尽可能的做到限制访问。

Users

    已经定义的用户。在一个典型的安装中,这个文件主要包含DEFAULT记录去处理不同类型的登陆等等。认证也是基于unix  /etc/passwd文件的内容。然而它也尽可能的定义所有的用户,他们口令到文件中。

 

你可能感兴趣的:(freeRadius)