freeradius server和 client 部署(實戰)


網上有很多的文章,但總是遇到各類問題,有的也沒有明確的說明,在此總結了一下自己的實戰記錄,分享出來:(分享者:qin)

第一種freeradius-server安裝方法:

1.安裝依賴庫

yum -y install libtalloc-devel

yum -y install openssl openssl-devel

yum -y install mysql-devel

2.獲取源碼

wget https://github.com/FreeRADIUS/freeradius-server/archive/freeradius-server-3.0.13.tar.gz
tar -zxvf freeradius-server-3.0.13.tar.gz
cd freeradius-server-3.0.13/

3.編譯

./configure
make
sudo make install

 

也可參考官方安裝指導文檔:

https://wiki.freeradius.org/building/RHEL%20and%20Centos

第二種freeradius-server安裝方法: 

1. 安裝依賴庫:libtalloc

yum -y install libtalloc-devel

2.安裝依賴庫:openssl

yum -y install openssl openssl-devel

3.安裝依賴庫和radius-server:

yum install -y freeradius freeradius-utils freeradius-mysql

4.查看安裝結果:rpm -qa |grep freeradius

freeradius-mysql-3.0.13-15.el7.x86_64
freeradius-3.0.13-15.el7.x86_64
freeradius-devel-3.0.13-15.el7.x86_64
freeradius-utils-3.0.13-15.el7.x86_64

有以上4項說明本次安裝成功

5. 裝完成后,去修改配置文件/etc/raddb/users

(修改文件前記得備份一下原文件),在此文件的最后添加下面一行內容:

test Cleartext-Password := “123456”      -----》注意不要有任何中文字符存在

6. 如果啟動了防火牆,需要修改防火牆配置,

允許freeradius所使用的端口1812,1813通過。命令如下:

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

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

7.啟動debug驗證模式

radiusd -X 

重新開啟一個終端輸入命令
radtest test 123456 localhost 1812 testing123

能收到如下報文說明認證成功:
Received Access-Accept Id 32 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

8.配置允許接入的客戶端所在IP段:

/etc/raddb/clients.conf 中修改允許客戶端接入的IP段:

例如添加一下允許訪問的IP段:

client 10.2.18.8/16 {
         secret = testing123
}

 

9. 申請RDS數據庫

(1)創建庫名:radius

(2)在radius庫中創建各類數據表:

將機器上 /etc/raddb/mods-config/sql/main/mysql/schema.sql 數據表創建和結構倒入radius庫中即可

共創建了7個表,分別是:

radcheck 用戶檢查信息表

radreply 用戶回復信息表

radgroupcheck 用戶組檢查信息表

radgroupreply 用戶組檢查信息表

radusergroup 用戶和組關系表

radacct 計費情況表

radpostauth 認證后處理信息,可以包括認證請求成功和拒絕的記錄

10.建立組信息和用戶信息

(1)連接數據庫,進入radius庫

(2)建立組信息:(在此新建組名稱為user)

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.255'); 

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

(3)建立用戶信息:(在此新建用戶名為test,密碼為testpwd)

insert into radcheck (username,attribute,op,value) values ('test','Cleartext-Password',':=','testpwd');

(4)將用戶加入組中

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

11.修改 FreeRADIUS中的mysql 認證配置

(1) 執行如下命令:
cd /etc/raddb/mods-enabled
ln -s ../mods-available/sql


(2) 修改 FreeRADIUS中的mysql 配置文件
該配置文件位於/etc/raddb/mods-available目錄,名稱為sql

將32行的內容修改為如下:

driver = "rlm_sql_mysql"


vim /etc/raddb/mods-available/sql (第98行)修改如下配置
dialect = "sqlite" -> dialect = "mysql"
//下列配置前的注釋去掉

server = "localhost"        #//mysql服務器地址
port = 3306                     #//mysql 端口號
login = "radius"               #//myqsl 登錄用戶名
password = "radpass"    #//mysql 登錄密碼

read_clients = yes

 

(3)debug模式重啟frreRADIUS (為了能在終端看到詳細日志輸出)

radiusd -X 

(4)再次驗證用戶認證

重新開啟一個終端輸入命令
radtest test testpwd localhost 1812 testing123

能收到如下報文說明認證成功:
Received Access-Accept Id 32 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

(5)正式操作radius-server時的

啟動命令:service radiusd start

停止命令:service radiusd stop


安裝radius客戶端:

1.獲取客戶端源碼:

wget -c ftp://ftp.freeradius.org/pub/freeradius/freeradius-client-1.1.7.tar.gz

tar zxvf freeradius-client-1.1.7.tar.gz 

cd freeradius-client-1.1.7

2.編譯安裝:

./configure

make && make install

3.安裝成功后的可執行文件放至路徑:

/usr/local/sbin/

|-- sbin

   |-- radacct                          發送計費包

   |-- radembedded                 生成配置文件(未使用過)

   |-- radexample                    發送鑒權包

   |-- radiusclient                    發送鑒權包

   |-- radlogin                         發送鑒權包

   `-- radstatus                       查看服務器狀態

 

4.客戶端配置文件位置:

(1) /usr/local/etc/radiusclient/radiusclient.conf

注意一下配置內容即可:

auth_order      radius

authserver      localhost

(2) /usr/local/etc/radiusclient/servers

密鑰字段要和服務器端配置的一樣,否則認證不通過

localhost/localhost testing123

 

出現的問題和解決方法:

1.無法加載libfreeradius-client.so.2:

[root@server2618 ~]# radlogin
radlogin: error while loading shared libraries: libfreeradius-client.so.2: cannot open shared object file: No such file or directory
[root@server2618 ~]#

解決:

[root@server2618 ~]# cp /usr/local/lib/libfreeradius-client.so.2 /usr/lib64/
[root@server2618 ~]# radlogin
($Id: radlogin.c,v 1.9 2008/01/09 07:04:18 sobomax Exp $)
-----------------------------------------------------
Linux 3.10.0-1062.9.1.el7.x86_64 (server2618) (port 0)
-----------------------------------------------------

login: test
Password:

 

 


免責聲明!

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



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