前言

前面笔者分享了在ubuntu上搭建PPPoE服务器的步骤和一些问题及解决办法,但是这学期的综合课程设计内容是要求搭建和配置由radius协议实现认证和计费的PPPoE服务器,之前的东西只是第一步,本文接着分享如何在ubuntu上安装配置FreeRadius来实现基于radius协议的认证和计费。

关于radius的介绍可以看一下这里:

系统配置及需要安装的软件系统:ubuntu 14.04

安装软件:freeradius-mysql(自动安装freeradius本体)

mysql-server

安装命令:sudo apt-get install freeradius-mysql mysql-server

进行FreeRadius基本配置

修改 /etc/freeradius/clients.conf,这是FreeRadius的客户端配置文件,在这里我们要将我们之后要与服务器连接的客户端的信息写入配置文件,例如加入如下几行:client 192.168.0.2 {

ipaddr = 192.168.0.2

secret = testing123

require_message_authenticator = 0

}

表示有一个 ip地址为192.168.0.2的客户端之后要接入Freeradius服务器,它与服务器的共享密钥为 testing123。

该配置文件一般已经配置好了一个本地测试的客户端,即ip地址为 localhost 的客户端。

修改 /etc/freeradius/radiusd.conf,这是FreeRadius的配置文件,取消下一行的注释来包含FreeRadius的 sql 配置文件:$INCLUDE sql.conf

修改/etc/freeradius/sql.conf,这是FreeRadius与 mysql 数据库相关的配置文件,注意一下几行:server = "localhost"

login = "root"

password = "123456"

这里为mysql数据库的ip地址,用户名和密码,默认使用3306端口,当然也可以自己加一行 port=”端口号” 来根据自己的喜好配置。(这几行应该配置文件里有,不需要修改,如果没有就自己加上)

接着取消掉文件中下面一行,来让FreeRadius从数据库里面读取客户端的信息:readclients = yes

接着切换到 /etc/freeradius/sql/mysql,该文件下的众多sql脚本文件用于构建FreeRadius的数据库,首先在admin.sql里修改数据库名称,用户名和密码等内容(默认配置是radius, root, 123456,若之前数据不是默认配置,需对sql语句进行相关修改),这些内容必须和/etc/freeradius/sql.conf的设置相同。

最后修改/etc/freeradius/sql/mysql/dialup.conf文件,取消掉以下几行的注释来提供在线人数统计功能:simul_verify_query = "SELECT radacctid, acctsessionid, username,

nasipaddress, nasportid, framedipaddress,

callingstationid, framedprotocol

FROM ${acct_table1}

WHERE username = '%{SQL-User-Name}'

AND acctstoptime IS NULL"

配置mysql数据库

先切换到/etc/freeradius/sql/mysql文件夹下(以便进行之后的操作),然后登录mysql数据库:cd /etc/freeradius/sql/mysql

mysql -u root -p

先创建数据库radius,然后导入文件下的sql文件:create database radius;

source admin.sql;

source cui.sql;

source ippool.sql;

source schema.sql;

source wimas.sql;

再在mysql运行下面几句sql语句加入用户组:insert into radgroupreply (groupname,attribute,op,values) values ('user','Auth-Type',':=','Local');

insert into radgroupreply (groupname,attribute,op,values) values ('user','Service-Type',':=','Framed-User');

insert into radgroupreply (groupname,attribute,op,values) values ('user','Framed-IP-Address',':=','255.255.255.254');

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

然后加入用户账号和密码(以账号test,密码123456为例):insert into radcheck (username,attribute,op,value) values ('test','User-Password',':=','123456')

将账号加入用户组:

insert into usergroup (username,groupname) values ('test','user');

修改/etc/freeradius/sites-enabled/default:

找到authorize {}模块,注释掉files,去掉sql前的#号

找到accounting {}模块,注释掉radutmp,注释掉去掉sql前面的#号。

找到session {}模块,注释掉radutmp,去掉sql前面的#号。

找到post-auth {}模块,去掉sql前的#号,去掉sql前的#号(Post-Auth-Type REJECT内)

修改/etc/freeradius/sites-enabled/inner-tunnel:

找到authorize {}模块,注释掉files,去掉sql前的#号。

找到session {}模块,注释掉radutmp,去掉sql前面的#号。

找到post-auth {}模块,去掉sql前的#号,去掉sql前的#号(Post-Auth-Type REJECT内)。

到这里就基本配置完毕了。

本地测试

使用调试模式启动 FreeRadius:freeradius -X

使用radtest模拟向服务器发送请求:radtest test 123456 localhost 1812 testing123

注意

test为用户账号,123456为密码,这两个必须和我们之前在mysql数据里面写入的用户账号和密码对应,否则服务器会返回Access-reject响应,localhost和1812为FreeRadius服务器的 ip地址和端口,

testing123是我们之前在/etc/freeradius/clients.conf里面配置的与本地客户端的共享密钥。

ubuntu freeradius mysql_ubuntu上安装和配置FreeRadius相关推荐

  1. ubuntu使用fail2ban_如何在Ubuntu 20.04上安装和配置Fail2ban

    暴露给Internet的任何服务都有遭受恶意软件攻击的风险. 例如,如果您在可公开访问的网络上运行服务,则攻击者可以使用暴力手段尝试登录您的帐户. Fail2ban是一种工具,可通过监视服务日志中的恶 ...

  2. ar.drone2.0_如何在Ubuntu 20.04上安装和配置Drone

    ar.drone2.0 介绍 (Introduction) Drone is an open-source container-native CI/CD platform written in Go. ...

  3. linux检测hashicorp,在Ubuntu/CentOS/Debian上安装和配置Hashicorp Vault服务器的方法

    本文介绍在Ubuntu 18.04/Debian 9/CentOS 7/Fedora上安装Vault服务器(Hashicorp Vault Server).配置Vault systemd服务.初始化V ...

  4. 如何在Ubuntu 18.04上安装和配置NFS服务器

    网络文件系统(NFS)是一种分布式文件系统协议,使您可以通过网络共享远程目录.使用NFS,您可以在系统上挂载远程目录,并像对待本地文件一样使用远程计算机上的文件. NFS协议默认情况下未加密,并且与S ...

  5. 在Ubuntu 16.04上安装和配置VNC

    目录 1.VNC客户端配置 2.VNC服务端配置 2.1 本机远程连接服务器 2.2 更新依赖包 2.3 安装Xfce桌面环境 2.4 安装tightvncserver 3.客户端VNC连接服务端 4 ...

  6. ubuntu kylin mysql_Ubuntu Kylin 安装和配置mysql

    1.安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client 安装过程中需要输入root用户的密码(需要记 ...

  7. 如何在Ubuntu 16.04上安装和配置GitLab

    https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-gitlab-on-ubuntu-16-04 ...

  8. Ubuntu 20.04上安装Git方法

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  9. ubuntu19 安装git_如何在Ubuntu 20.04上安装Git

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  10. 如何在linux环境下安装kvm,如何在Linux发行版上安装和配置KVM和Open vSwitch?

    在如今多租户模式的数据中心环境下,虚拟化技术正从传统的基于虚拟机管理程序的服务器虚拟化,扩展到网络虚拟化.在这种环境下,基于软件的虚拟交换机通常连同虚拟机管理程序一起部署在服务器上,串联起了不同虚拟机 ...

最新文章

  1. 如何自学Python?这本技术大咖推荐Python书籍,就是你的第一选择
  2. 千万级日订单下,饿了么异地多活数据实施DRC的应用实践
  3. xshell连接服务器失败_xshell-ssh连接服务器被经常意外中断
  4. EventLoopGroup 与Reactor
  5. 前端学习(2681):重读vue电商网站1之后台启动
  6. 关于读入带空格的字符串与输入输出重定向
  7. 对于Neural ODE的小研究
  8. 子类和父类对象在进行类型转换时_不一样的面向对象(三)
  9. 谷歌分析中的营销归因分析功能
  10. 网页抓包嗅探器v1.0
  11. RxJava:concat(连接)、 concatDelayError、 concatEager的使用
  12. App上架各大应用市场的地址及操作方法
  13. iOS软件工程师面试 自我介绍
  14. ios ipad里面调用系统相册图片不完整解决方法
  15. ansys显示没有提供服务器,ansys 15.0安装在服务器上,运行时出现问题,求大神帮助! - 第 2 页 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  16. 按键按动次数计数c语言,二、Windows按键消息—重复计数、OEM扫描码、扩充键旗标、内容代...
  17. 视频教程-快速入门Python基础教程_Python基础知识大全-Python
  18. 图像处理学习笔记之——绪论
  19. 基于Matlab的多线激光中心坐标值提取
  20. 深度学习—— caffe下进行微调finetune

热门文章

  1. java strut2通配符_Struts2的通配符
  2. SAN:存储区域网络及其协议
  3. Nmap-主机、端口扫描工具
  4. 卸载VS2005 安装VS2008
  5. 文章目录---收藏不迷路
  6. 启动Activity时显示空白界面的问题
  7. 云医院HIS系统—医院挂号模块
  8. mtk 手机低电无法关机,电池容量一直显示1%
  9. 一个在线QQ客服代码分析
  10. Elasticsearch:部署 ECE (Elastic Cloud Enterprise)