wifi認證Portal開發系列(二):FreeRadius的安裝和測試、關聯Mysql


注:本次安裝是基於FreeRadius 3版本進行安裝配置的,在配置Mysql的過程中,與2版本有些不同。操作系統是CentOS 7

一、准備工作

  工具的安裝

#安裝rz、sz命令用於文件上傳
yum install -y lrzsz

  rz命令:

 

 

  修改yum鏡像源地址為網易開源鏡像源,解決國外鏡像下載慢的問題。repos文件下載地址:http://mirrors.163.com/

#進入目錄
cd /etc/yum.repos.d
#備份repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#rz上傳163repos文件
#刷新緩存
yum clean all
yum makecache

   修改yum鏡像源地址為阿里巴巴開源鏡像源。

#進入目錄
cd /etc/yum.repos.d
#備份repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 
#刷新緩存
yum clean all
yum makecache

  安裝編譯FreeRadius所需要的依賴

#安裝wget、gcc、gcc-c++、make
yum install –y wget gcc gcc-c++ make
#安裝libtalloc
yum -y install libtalloc libtalloc-devel
#安裝openssl以及openssl頭文件
yum install -y openssl openssl-devel

 

 

 

 二、安裝FreeRadius service端

注意:如果FreeRadius需要與Mysql關聯,請先安裝mysql-devel

yum install -y mysql-devel

 

 

yum install -y freeradius-utils freeradius-mysql

 

 

安裝方法一:

  yum安裝,安裝后FreeRadius的路徑為/etc/raddb

yum install -y freeradius

 

安裝方法二:

  make編譯安裝,安裝后FreeRadius的路徑為/usr/local/etc/raddb

  通過wget命令下載FreeRadius壓縮包

cd /home
wget ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-3.0.15.tar.gz

  或者直接下載壓縮包(下載地址:http://freeradius.org/releases/),然后使用rz命令上傳至服務器

  tar命令解壓壓縮包,並進入解壓后的文件夾

tar -zxvf freeradius-server-3.0.15.tar.gz
cd freeradius-server-3.0.15

 

  使用./configure檢測你的安裝平台的目標特征,出現錯誤提示缺什么就安裝什么,例:出現configure: error: FreeRADIUS requires libtalloc 錯誤則安裝libtalloc及libtalloc-devel。監測成功后出現make.inc.in文件

./configure

   檢測不成功:

  檢查成功:

 

  沒有其他錯誤后編譯安裝FreeRadius

#編譯
make
#安裝
make install

 

  開放防火牆端口,1812是認證授權端口,1813是計費端口

iptables -A INPUT -p udp --dport 1812 -j ACCEPT
iptables -A INPUT -p udp --dport 1813 -j ACCEPT

  查看端口是否開放

iptables -L -n | grep 181

 

 

  使用命令:

#開啟freeRadius調試模式
radiusd -X

   出現Ready to process requests表示安裝成功

  修改本地用戶文件

cd /usr/local/etc/raddb/
#修改users
vim users

 

  查找 steve Cleartext-Password := "testing" (76-84行), 取消該段內容的注釋。

 

  重啟radiusd -X,啟動另一個窗口,輸入命令

radtest steve testing localhost 0 testing123

   接受到Access-Accept表示請求成功

 

 

 

 

三、Mysql的安裝

  參考:CentOs安裝Mysql和配置初始密碼

 

 

 

四、FreeRadius與Mysql關聯

1、創建radius數據庫

  登陸mysql,創建一個名為radius的數據庫

mysql> create database radius;

  創建radius用戶,並賦予管理radius數據庫的權限,密碼為:radius123

mysql> grant all on radius.* to radius@localhost identified by 'radius123';

  刷新

mysql> flush privileges;

  切換到FreeRadius存放sql目錄下

cd /usr/local/etc/raddb/mods-config/sql/main/mysql

  導入FreeRadius的sql文件

mysql -uradius -pradius123 radius<schema.sql

   或

mysql -uradius -pradius123 radius</usr/local/etc/raddb/mods-config/sql/main/mysql/schema.sql

  此時radius數據庫中將有多張表

  登陸mysql

  加入組信息,本例中的組名為user

 

 

/*切換數據庫*/
mysql> use radius;
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Auth-Type',':=','Local');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Service-Type','=','Framed-User');
mysql> insert into radgroupreply (groupname,attribute,op,value) values ('user','Framed-IP-Netmask',':=','255.255.255.0');

 

  在radcheck中插入一條用戶信息

mysql> use radius;
mysql> insert into radcheck(id,username,attribute,op,value) values('2','test','Cleartext-Password',':=','test123');

 

 

 

  用戶加到組里

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

 

 

 

2、配置FreeRadius與mysql的關聯

  進入FreeRadius目錄,yum安裝的為:/etc/raddb

cd /usr/local/etc/raddb

 

 

  進入mods-available文件夾,並修改sql文件

cd mods-available/
vim sql

  修改修改driver="rlm_sql_null"為你所對應的數據庫類型,此處修改為為“driver=rlm_sql_mysql”,配置radius數據庫連接屬性

  給mods-enabled文件夾和mods-available文件夾下的sql文件做個軟鏈接

cd ../mods-enabled
ln -s /usr/local/etc/raddb/mods-available/sql ./

 

   修改sites-enabled目錄下的default文件

   分別將authorize {}、accounting{}下的sql去掉注釋,並且將file注釋掉

   開啟FreeRadius調試模式

radiusd -X

 

  打開另一個客戶端,輸入格式:radtest [user] [passwd] [主機] [nas port] [secret]

radtest test test123 localhost 1812 testing123

   出現Access-Accept表示請求成功

  radiusd段打印出來的信息

 

 

  secret在clients.conf文件中配置,默認給localhost配置的為testing123

  可以自行添加配置Radius Client段的IP以及密鑰

client anthorClientIpName {
        ipaddr        = 192.168.206.131
        secret          = anthorSecret
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM