freeradius+mysql+pppoe认证

1.首先下载要安装的软件包如下:

radiusclient-0.3.2.tar.gz

ppp-2.4.3.tar.gz

freeradius-server-2.1.12.tar.gz

在安装之前要确保pppoe-server已经安装

[[email protected] ~]# rpm -q rp-pppoe ppp

rp-pppoe-3.5-32.1

ppp-2.4.4-2.el5

2.安装freeradius-server

[[email protected] ~]# tar  xvf freeradius-server-2.1.12.tar.gz

[[email protected] freeradius-server-2.1.12]# ./configure

[[email protected] freeradius-server-2.1.12]# make && make install

进入以下目录就会看到安装的信息

[[email protected] freeradius-server-2.1.12]# cd /usr/local/bin/

[[email protected] bin]# ls

radclient    radcrypt      radlast      radtest  radzap

radconf2xml  radeapclient  radsqlrelay  radwho   smbencrypt

[[email protected] bin]# cd /usr/local/sbin/

[[email protected] sbin]# ls

checkrad      radacct   radexample  radlogin  radstatus  rc.radiusd

login.radius  raddebug  radiusd     radmin    radwatch

[[email protected] sbin]# cd /usr/local/etc/raddb/

[[email protected] raddb]# ls

acct_users                 clients.conf       ldap.attrmap    sites-available

attrs                      dictionary         modules         sites-enabled

attrs.access_challenge     eap.conf           policy.conf     sql

attrs.access_reject        example.pl         policy.txt      sql.conf

attrs.accounting_response  experimental.conf  preproxy_users  sqlippool.conf

attrs.pre-proxy            hints              proxy.conf      templates.conf

certs                      huntgroups         radiusd.conf    users

3.测试radius

[[email protected] raddb]#vi users

去掉前面的注释  steve  Cleartext-Password := "testing"

[[email protected]]#radius  -X

... adding new socket proxy address * port 52873

Listening on authentication address * port 1812

Listening on accounting address * port 1813

Listening on command file /usr/local/var/run/radiusd/radiusd.sock

Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel

Listening on proxy address * port 1814

Ready to process requests.

证明能正常启动

[[email protected]]#radtest steve  testing   localhost 0 testing123

看到Access-Accept证明测试成功

4.安装radiusclient

不安装就会缺少依赖的文件

[[email protected] ~]# tar xvf radiusclient-0.3.2.tar.gz

[[email protected] radiusclient-0.3.2]# ./configure

[[email protected] radiusclient-0.3.2]# make && make install

5.配置pppd使其与radius一起工作

[[email protected] ~]# tar xvf ppp-2.4.3.tar.gz

[[email protected] ]#mkdir  /etc/ppp/radius

[[email protected] ]#cp   ppp-2.4.3/pppd/plugins/radius/etc/*   /etc/ppp/radius

6.配置pppoe

配置/etc/ppp/pppoe-server-options文件

# PPP options for the PPPoE server

# LIC: GPL

require-chap

login

lcp-echo-interval 10

lcp-echo-failure 2

ms-dns 202.106.0.20

ms-dns 8.8.8.8

noipdefault

noipx

nodefaultroute

proxyarp

noktune

plugin         /usr/lib/pppd/2.4.4/radius.so

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

logfile /var/log/pppd.log //记录拨号信息

配置/etc/ppp/ chap-secrets

# Secrets for authentication using CHAP

# client        server  secret                  IP addresses

ttt    *       123     *

然后可以启动pppoe服务了,命令是: # /usr/sbin/pppoe-server -I eth0 -L 192.168.85.132 -R 172.16.10.20 -N 20

通过电脑就可以拨号连接了

7.通过数据库拨号认证,下来安装配置数据库

yum install mysql-server  mysql-devel

创建数据库

[[email protected] ~]mysql  -p

#create database radius;

#exit;

[[email protected] ~]cd /usr/local/etc/raddb/sql/mysql

[[email protected] ~]mysql -p radius <./schema.sql

[[email protected] ~]mysql -p radius <./nas.sql

8.修改配置文件vi sites-enabled/default ,去掉sql前的注释,注释掉files

authorize {

chap

mschap

suffix

eap

#files

sql

pap

}

accounting{

detail

unix

radiutmp

sql

}

session {

radutmp

# # See "Simultaneous Use Checking Queries" in sql.conf

sql }

修改与mysql数据库连接的配置文件/usr/local/etc/raddb/sql.conf //只修改这几处

server ="localhost"

login = “root”

password = "数据库登录密码"

radius_db = "数据库名"

修改radius的配置文件,在目录/usr/local/etc/raddb/radiusd.conf中

去掉这一行的注释

$ INCLUDE sql.conf

此时启动radius -X会报错

现在来安装一下rlm_sql_mysql

cd  /root/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_mysql

./configure  --with-mysql-dir=/usr/share/mysql/  --with-mysql-lib/=/usr/lib/mysql/

make

make  install

9.向数据库添加用户测试

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‘,‘Framed-IP-Address‘,‘:=‘,‘255.255.255.254‘);

insert into radgroupcheck (groupname, attribute, op, value) values (‘user‘, ‘ Framed-IP-Netmask‘, ‘:=‘, ‘255.255.255.0‘);

然后加入用户信息:
insert into radcheck (username,attribute,op,value) values (‘test‘,‘User-Password‘,‘:=‘,‘test‘);

然后把用户加到组里:
insert into usergroup(username,groupname) values(‘test‘,‘user‘);

mysql> select *  from  radcheck;

+----+----------+---------------+----+-------+

| id | username | attribute     | op | value |

+----+----------+---------------+----+-------+

|  1 | test     | User-Password | := | test  |

+----+----------+---------------+----+-------+

1 row in set (0.00 sec)

现在来测试有没有成功:
[[email protected] raddb]# radiusd -X

安装完后默认只允许本机的client客户端访问radius服务器

[[email protected] raddb]# vim clients.conf

# 只允许本机的客户端访问

client localhost {

ipaddr = 127.0.0.1

secret = testing123

}

# 添加一个子网 192.168.230.0/24 的网段可访问

client 192.168.230.0/24 {

secret          = testing123

shortname       = lan-w3pc

}

另开一个终端测试本机
[[email protected]]# radtest test test 127.0.0.1 0 testing123

看Access-Accept 字样就说明成功了

10.pppoe结合radius认证

让pppoe服务使用freeradius服务器进行验证 
首先更改/etc/ppp/pppoe-server-options,添加一行设置

# PPP options for the PPPoE server

# LIC: GPL

require-chap

login

lcp-echo-interval 10

lcp-echo-failure 2

ms-dns 202.106.0.20

ms-dns 8.8.8.8

noipdefault

noipx

nodefaultroute

proxyarp

noktune

plugin         /usr/lib/pppd/2.4.4/radius.so

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

logfile /var/log/pppd.log

最重要的是配置/etc/ppp/radiuds/radiusclient.conf

# General settings

auth_order      radius

login_tries     4

login_timeout   60

nologin /sbin/nologin

issue   /etc/ppp/radius/issue

authserver      【服务器IP】:1812

acctserver      【服务器IP】:1813

servers         /etc/ppp/radius/servers

dictionary      /etc/ppp/radius/dictionary

login_radius    /usr/local/sbin/login.radius

seqfile         /var/run/radius.seq

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

default_realm

radius_timeout  10

radius_retries  3

login_local     /bin/login

主要就是修改相应文件的路径,根据自己选择

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

[[email protected] radius]# cat  servers

#Server Name or Client/Server pair              Key

【服务器IP】       testing123

编辑 dictionary ,修改一些路径设置,主要是最后一个dictionary.microsoft 的路径设置

vi   /etc/ppp/radius/dictionary

INCLUDE /etc/ppp/radius/dictionary.microsoft

11.拨号认证

在电脑上打开宽带连接

连接成功后可以看到分配的Ip

到此结束

时间: 2024-10-18 00:03:43

freeradius+mysql+pppoe认证的相关文章

freeradius+mysql+交换机认证

一.关闭防火墙和Selinux [[email protected] raddb]# service iptables stop [[email protected] raddb]# vim /etc/selinux/config SELINUX=disabled 二.安装freedius [[email protected] raddb]#yum install freeradius* -y 三.需要安装mysql (1)创建数据库:creat database radius; (2)登陆my

MySQL用户认证及权限grant-revoke

一.MySQL用户认证: 登录并不属于访问控制机制,而属于用户身份识别和认证: 1.用户名-user 2.密码-password 3.登录mysqld主机-host 实现用户登录MySQL,建立连接. MySQL的整个访问控制包括两大块:用户管理模块.访问控制模块 MySQL中用户管理模块的信息存储在系统表mysql.user中 mysql> SELECT * FROM mysql.user; 存放的信息:授权用户的基本信息.权限信息 首先:以root用户登录---shell> mysql -

FTP服务(4)基于MySQL数据库认证

基于MySQL数据库认证 说明:本实验在两台CentOS主机上实现,一台做为FTP服务器,一台做数据库服务器 数据库服务器和FTP服务器系统都是CentOS7 注意:如果是CentOS6系统请执行yum install vsftpd pam_mysql命令安装连接组件 MariaDB服务器: yum install mariadb-server -y systemctl start mariadb mysql MariaDB [(none)]> CREATE DATABASE vsftpddb;

Strongswan+freeradius+daloradius+ad认证实现ikev2接入服务一

Strongswan+freeradius+daloradius+ad认证实现ikev2接入服务一 Centos7 strongswan安装配置支持 Windows7  ikev2 eap-machapv2模式.计算机证书模式 实验时间:2018年8月6日-2018年8月6日 拓扑图: 环境:     防火墙1:USG2200                 IP地址外网:10.99.101.170    域名:strongswan.test.com     IP地址内网:192.168.20.

Strongswan+freeradius+daloradius+ad认证实现ikev2接入服务二

Strongswan+freeradius+daloradius+ad认证实现ikev2接入服务 第二部分    安装配置freeradius-4.0.0 samba 使用winbind 集成Windiows Active Directory 域账户认证并实现用户组认证 实验时间:2018年8月7日-2018年8月7日 拓扑图: 环境:     防火墙1:FW1    USG2200                 IP地址外网:10.99.101.170    域名:strongswan.te

Strongswan+freeradius+daloradius+ad认证实现ikev2接入服务三

Strongswan+freeradius+daloradius+ad认证实现ikev2接入服务 第三部分    集成Strongswan+freeradius实现使用域用户组认证ikev2接入 实验时间:2018年8月8日-2018年8月8日 拓扑图: 环境:     防火墙1:FW1    USG2200                             IP地址外网:10.99.101.170    域名:strongswan.test.com                 IP地

freeradius 关联LDAP认证-按属性过滤LDAP目录中的用户

freeradius 关联LDAP认证的配置文件为/etc/raddb/modules-enable/ldap文件中,如果增加过滤需要更改改文件的user{}里的filter部分: 举个例子添加rn=ra的过滤条件: 原来的表达式: filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})" 增加过滤条件以后变为 filter = "(&(cn=ra)(uid=%{%{Stripped-User-Name}:-%{U

PPPOE+FREERADIUS+MYSQL+LINUX

环境: OS:Linux Centos 6.9 x86_x64 PPPOE : ppp-2.4.7.tar.gz   rp-pppoe-3.12.tar.gz FreeRadius : V3.0.X Mysql : mysql-server-5.1.73-8.el6_8.x86_64 下载地址: wget https://download.samba.org/pub/ppp/ppp-2.4.7.tar.gz wget https://www.roaringpenguin.com/files/do

Freeradius+mysql+daloradius简单安装配置

概述 之前说了Freeradius与AD结合进行802.1x认证方面的内容.本例则在之前实验配置的基础之上,将Freeradius与mysql.daloradius结合,实现可以通过web方式管理radius服务器,并通过数据库进行用户认证等信息的存储.本例只适合centos7环境下的freeradius3.0.x版本. 环境准备 1.      FreeRadius服务器,之前已经配置好的. 2.      组件apache.mariadb(mysql).daloradius等. 安装配置 1