一、  实现环境:

1.系统:CentOS  release  6.6 (Final)

2.需要软件包:

1) freeradius-2.1.12-6.e16.x86_64

freeradius-MySQL-2.1.12-6.e16.x86_64

2) ppp-2.4.5-5.e16.x86_64

3) rp-pppoe-3.10-11.e16.x86_64

4) mysql-5.1.73-3.e16_5.x86_64

mysql-devel-5.1.73-3.e16_5.x86_64

5) openssl-1.0.1e-30.e16_6.5.x86_64

二、服务器实际部署环境和简单原理分析:

Radius是Remote Access Dial In User Service的简称。Radius主要用来提供认证(Authentication)机制,用来辨认使用者的身份与密码,确认通过之后,经由授权(Authorization)使用者登入网域使用相关资源并可提供计费(Accounting)机制,保存使用者的网络记录。Freeradius是一款OpenSource软件,基于radius协议,实现RADIUS AAA(Authentication、Authorization、Accounting)功能。

如下拓扑图所示,为该radius服务器实际运行环境和功能。

Radius服务器和接入服务器配合使用实现用户宽带账号计费拨号获取权限连接Internet网络。

三、Radius服务器搭建:

1.安装CentOS系统配置好网络之后使用命令:#yum update 更新系统。

2.查看各个软件包是否安装:#rpm –q ppp rp-pppoe freeradius mysql-* openssl

如果没有安装则使用命令:#yum install ppp rp-pppoe freeradius-* mysql-* openssl

进行安装,一般openssl在系统更新之后就已经安装好了。安装好各个软件之后,使用命令:

#wget ftp://ftp.samba.org/pub/ppp/ppp-2.4.5.tar.gz 下载ppp源代码包到创建的/etc/ppp/radius目录下。(#mkdir /etc/ppp/radius //创建目录)

下面就对各服务进行配置:

1. 配置 /etc/ppp/options文件:

lock

crtscts

nobsdcomp

nodeflate

nopcomp

2. 配置/etc/ppp/pppoe-server-options文件,内容为:

# PPP options for the PPPoE server

# LIC: GPL

auth

require-chap

default-mru

default-asyncmap

lcp-echo-interval 60

lcp-echo-failure 5

ms-dns 202.96.128.86

noipdefault

noipx

nodefaultroute

proxyarp

noktune

logfile /var/log/pppd.log

3.让pppoe服务使用freeradius服务器进行验证

1)首先更改/etc/ppp/pppoe-server-options,添加两行设置:

#PPP options for the PPPoE server

#LIC: GPL

auth

require-chap

default-mru

default-asyncmap

lcp-echo-interval 60

lcp-echo-failure 5

ms-dns 202.96.128.86

noipdefault

noipx

nodefaultroute

proxyarp

noktune

->plugin    /usr/lib/pppd/2.4.5/radius.so

->radius-config-file /etc/ppp/radiuds/radiusclient.conf

logfile /var/log/pppd.log

表示让pppoe-server在运行时加入pppd的radius查检,可以让pppoe服务通过freeradius来验证和记账。 添加此行之后,可以创建/etc/ppp/radiuds/目录,创建完之后,需要使用一下ppp的源代码。 解压ppp的源代码目录:

#tar -xzf ppp-2.4.5.tar.gz

#cd ppp-2.4.5

#cd pppd/plugins/radius/etc/

#cp  *  /etc/ppp/radiuds/

2) 这个目录下有需要的所有相关的配置文件,其中最重要的是/etc/ppp/radiuds/radiusclient.conf,先打开此文件配置,其内容为(已去掉注释):

auth_order  radius

login_tries 4

login_timeout 60

nologin  /etc/nologin

issue  /etc/ppp/radiuds/issue

authserver  localhost:1812

acctserver  localhost:1813

servers  /etc/ppp/radiuds/servers

dictionary  /etc/ppp/radiuds/dictionary

login_radius  /usr/local/sbin/login.radius

seqfile  /var/run/radius.seq

mapfile  /etc/ppp/radiuds/port-id-map

default_realm

radius_timeout  10

radius_retries  3

login_local  /bin/login

3) 另外,还需更改此目录下的servers文件,此文件用来指定读取的radius服务器的主机名称以及key值(需要在freeradius配置中指定)。

编辑 /etc/ppp/radius/servers ,设定radius 服务器的位置

localhost  testing123 //这里的testing123是密码

4) 编辑/etc/ppp/radius/dictionary ,修改一些路径设置,主要是最后一个dictionary.microsoft 的路径设置。

INCLUDE /etc/ppp/radiuds/dictionary.microsoft

5) 此时pppoe服务已经可以通过radius认证了。然后进行freeradius的配置。

其中freeradius-mysql包使用来让freeradius连接mysql数据库的,本部分还用不到。

首先打开/etc/raddb/clients.conf配置客户端访问控制,文件内容如下:

Client localhost {

Secret = testing123

Shortname = localhost

Nastype = other

}

表示客户端之允许从127.0.0.1的ip登录radius服务,并且需要验证的secret为testing123,就是在上面的servers文件中需要配置的信息。若要实现可以从别的机器访问,请参考注释获得帮助。

6)然后配置/etc/raddb/naslist文件,内容为:

# NAS Name  Short Name Type

#portmaster1.isp.com  pm1.NY

livingston

#portmaster2.isp.com  pm1.LA

livingston

localhost  local  portslave

此文件用来配置记录有哪些指定的nas服务器需要使用radius进行记账。现在指定的是localhost。

7)主控配置文件是radiusd.conf,此文件主要是用来指定freeradius服务器默认的验证和记账方式。我们目前使用本地的文件方式,就是/etc/raddb/users文件,在其中添加需要提供给pppoe服务认证的用户信息,内容如下(用户名前面一定不能有空格):

Aaa Auth-Type := Local, Simultaneous-Use := 1,User-Password:= "aaa"

[tab]Service-Type = Framed-User,

[tab]Framed-Protocol = PPP,

[tab]Framed-IP-Netmask = 255.255.255.255

其中Simultaneous-Use :=1字段用来设置每个用户同时登录的个数。

8) 为了让radius能正确地调用mysql,还要指定一下库的位置:

echo /usr/lib >> /etc/ld.so.conf

ldconfig

9) 都配置完毕后,可以通过radiusd -X命令以排错方式启动,此时再启动pppoe-server,用客户端拨号验证一下,检查pppoe服务是否成 功通过freeradius来验证用户。如果成功,这一部分完成。可通过service radius restart来正常启动radius服务。

Radiusd  -X

radtest  aaa  aaa  localhost  0  testing123

看到 Access-Accept 之类的字样就表示成功了。这时可以正式启动radiusd。

5. 配置freeradius从mysql数据库读取用户信息

1.#mysql –u root –p 123  //登录mysql

2.>create database radius;  //创建数据库

3.>exit  //退出数据库

4.#cd /etc/raddb/sql/mysql

5.#mysql –u root –p radius < schema.sql  //把表导入到数据库中,到数据库中查看是否导入7张表

6.修改/etc/raddb/sites-enabled/default文件,把authorize{}、accounting{}中的sql的注释#去掉,并把authorize{}中的files的注释#加上。如下所示:

Authorize{

Chap

Mschap

Suffix

Eap

#files

Sql

Pap

}

Accounting{

Detail

Unix

Redutmp

sql

}

7.修改mysql数据库连接的配置文件/etc/raddb/sql.conf

Server = “localhost”

Login = “root”

Password = “123”

Radius_db  = “radius”  //数据库名称

8.修改/etc/raddb/radius.conf文件:

将$INCLUDE  sql.conf的注释#去掉即可。

9.在数据库中加入测试账号:

#mysql –u root –p 123

>use radius;

建立组信息:

>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’,’Feamed-IP-Address’,’:=’,’255.255.255.255’);

> insert into radgroupreply (groupname,attribute,op,value) values (’user’,’Framed-IP-Netmask’,’:=’,’255.255.255.0’);

建立用户信息:

> insert into radcheck (username,attribute,op,value) values (’test’,’User-Password’,’:=’,’110’);

将用户加入组中:

> insert into radusergroup (username,groupname) values (’test’,’user’);

>exit;  //退出数据库

四、测试radius:

1.#radius –X //以检错方式启动radius服务

2.开另一个终端使用命令:

#radtest  test  110  localhost  10  testing123  进行测试。

如果显示Access-Accept则表示安装成功。

linux下搭建radius服务器,CentOS下Radius服务器搭建相关推荐

  1. linux下开启dhcp服务器配置,CentOS下DHCP服务器的配置

    今天在做一个小项目的时候突然需要用到DHCP服务器,在这里就为大家简单的介绍一下吧! 我用的是CentOS作为DHCP服务器的.首先,需要通过yum来安装DHCP,这个很简单,这里就不为大家详细说明了 ...

  2. linux防火墙添加udp 123,centos下的ntp的安装和配置 (注意 防火牆的udp 123要打開,不然會不能用)...

    centos下的ntp的安装和配置安装 yum install ntp 配置文件 /etc/ntp.conf restrict default kod nomodify notrap nopeer n ...

  3. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  4. linux设置网口物理地址吗,centos下网口vlan设置

    如果要使vlan之间进行通信,我们通常会使用三层交换机或者路由器子接口模式来做.Linux上关于VLAN与Cisco交换机中继连接,也是可以实现其互相之间的通信的. 环境:RHEL 5.2 最小化安装 ...

  5. CentOS下安装Memcached,Linux下安装Memcached,centos下安装memcached,linux下安装memcached...

    摘要:最近在看<大型分布式网站架构设计与实践>这本书,把其中的学习过程记录一下,以便日后复习. 一:Memcached简单介绍和描述: Memcached 是一个高性能的分布式内存对象缓存 ...

  6. linux 双网卡主备,CentOS下双网卡主备模式配置

    CentOS下双网卡主备模式配置 1简述 通过双网卡设置主备模式,实现当一块网卡宕掉时,另外一块网卡可以自动顶替宕掉的网卡工作,保障网络正常访问. 2实现 2.1.查看网卡信息 执行ifconfig ...

  7. linux防火墙的复规则,Centos下iptables防火墙规则编辑方法 - YangJunwei

    今天整理一下Centos下iptables防火墙规则的保存.清除等编辑方法. 如已经安装,请跳过. $ yum install iptables 二.查看 iptables 防火墙已有规则 以下四种方 ...

  8. linux查看固态硬盘寿命,CentOS下查看 ssd 寿命

    CentOS下查看 ssd 寿命 安装必要的软件yum install -y MegaCli Lib_Utils 得到 device id/opt/MegaRAID/MegaCli/MegaCli64 ...

  9. linux yum安装 rpmbuild,Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm

    rpmbuild是用来指示转换的源码不定编译成二进制文件的包. 二.Redhat/Centos下rpmbuild命令目录 /usr/src/redhat --BUILD #编译之前,如解压包后存放的路 ...

  10. centos下配置java环境,CentOS下配置Java环境变量的操作方法

    AJAX开发,小编有自己的一些心得体会,也请AJAXer多多指教-那接下来先附上这篇CentOS下配置Java环境变量的操作方法,与君共勉,一起学习. rhel 和 centos linux 使用yu ...

最新文章

  1. Linux + Nginx + Uwsgi + Django 搭建单服务器
  2. 淡入淡出效果 || 高亮显示案例
  3. sap 常用事务代码
  4. case zhen语句_switch case语句,switch case用法详解
  5. java图片的导出,并压缩
  6. docker深入1-配置非https的公司私有的registry仓库
  7. 解析Node.js v6.9.5官方文档的第一个例子的知识点
  8. 7.卷1(套接字联网API)---套接字选项
  9. GoAhead学习之GoForms
  10. Vue File Manager – PHP即时存储、共享和获取文件基于VUE v2.2.0.2
  11. chrome浏览器提示“adobe flash player不是最新版本!”
  12. 计算机的外围设备找不到,bluetooth外围设备,教您bluetooth外围设备找不到驱动程序怎么解决...
  13. 【翻译】各种Payload免杀工具集
  14. 达威尔液晶电子手写板儿童涂鸦画板写字板,培养小孩创造力和想象力的好工具!
  15. 21个MySQL表设计的经验准则
  16. android gps 卫星数据格式,Gps开发实战——卫星数量获取
  17. 降级论–只需要降级,就能创造更大的价值,也能获得更大的满足。
  18. 装修准备阶段之二:准备篇
  19. CLRS 17.3势能法
  20. Unity 通过TextMeshPro创建属于自己的字体库

热门文章

  1. Excel将数据内容导出为数据库DBF文件的操作
  2. js划词翻译、屏幕取词,取词位置获取(真正解决定位问题)
  3. 用matlab做bp神经网络预测,matlab人工神经网络预测
  4. 如何让百度云里的资源不被和谐掉?
  5. 三星 安装程序无法将 配置为此计算机,三星手机怎么安装软件 三星手机无法安装软件解决办法...
  6. Deep Cosine Metric Learning for Person Re-Identification
  7. Java常见算法(一)
  8. 表格table转pdf分页不连续解决
  9. 深度linux如何打开exe文件,在深度系统中直接运行exe文件的方法
  10. JAVA程序设计(学堂在线-清华大学) 课后练习题(更新)