阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS下Radius服务器搭建

592次阅读
没有评论

共计 5234 个字符,预计需要花费 14 分钟才能阅读完成。

一、实现环境:

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 服务器实际运行环境和功能。

CentOS 下 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 则表示安装成功。

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-06/119102.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5234字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7959683
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...