注:本次安裝是基於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的安裝
四、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 }