首頁 >運維 >linux運維 >LNMP環境下安裝FreeRadius的實例教學課程

LNMP環境下安裝FreeRadius的實例教學課程

PHP中文网
PHP中文网原創
2017-06-21 10:35:262337瀏覽

1.安裝web環境,使用LNMP一鍵安裝套件
具體安裝步驟參考

#2.安裝完成後,安裝LNMP缺少的元件
ionCube元件安裝
進入lnmp解壓縮後的目錄,執行:./addons.sh install ionCube
回車確認後就會自動安裝ionCube loader。

yum install perl-DBI

yum freeradius-mysql freeradius-utils

3.安裝FreeRadius
wget
tar xvf freeradius-server-2.1.8 -dmamod-1.tar.gz
cd freeradius-server-2.1.8
./configure
make
make install

4.檔案擁有者和權限配置
chmod 644 /usr/local/etc/raddb/dictionary
chown www /usr/local/etc/raddb
chown www /usr/local/etc/raddb/clients.conf

#5 .測試FreeRadius
radiusd  -X
出現錯誤
“error while loading shared libraries:libfreeradius-radius-2.1.8.so: cannot open shared object file : no such file or directory.”

採取的解決方式是將/usr/local/lib加入/etc/ld.so.conf中

ld.so.conf檔案內容如下:
include /etc/ld.so .conf.d/*.conf
新增一行/usr/local/lib
完成後輸入/sbin/ldconfig,再重新進行上面步驟。
Ldconfig指令是將/etc/ld.so.conf所列的路徑下的函式庫檔案快取到/etc/ld.

在此指令偵錯radiusd  -X
出現錯誤
Failed binding to authentication address * port 1812: Address already in use
/usr/local/etc/raddb/radiusd.conf[240]: Error binding to port for 0.0.0.0 port 1812

##問題.

 使用指令lsof -i:1812
得到
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
radiusd 11163 radiusd   SIZE/OFF NODE NAME
radiusd 11163 radiusd  
發現居然是radius自己佔據了

處理方法(暴力點)
kill 11163(radius程序的PID,centos查看程序PID指令:ps -ef)
如發現沒有這個指令可以使用yum install psmisc進行安裝

再次radiusd -X調試
顯示Ready to process requests.

Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on on accounting address * port 1813
Listening on##Listening on。 command file /usr/local/var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814

Ready to process requests.

#到這裡freeradius已經安裝成功了


6.對freeradius詳細配置,因為我們需要和RM整合,這裡就需要詳細的配置radius文件
首先說明一下在使用LNMP環境包,也可以簡單的安裝freeradius,簡單安裝步驟如下

使用指令:yum install perl-DBI freeradius freeradius-mysql freeradius-utils

可以一步到位安裝好radius,我個人建議使用安裝包一步步安裝,這樣發現問題可以隨時找到問題並解決

對於設定radius檔案有兩種方法:


A:簡單的方法使用glzjin(趙一初心)寫好的檔案直接覆寫
wget  -O /etc/raddb/radiusd .conf
wget  -O /etc/raddb/sites-enabled/default
wget  -O /etc/raddb/sql/mysql/dialup.conf
wget  -O /etc/raddb/dictionary

wget  -O /etc/raddb/sql/mysql/counter.conf


B:詳細的手動設定如下

#編輯/usr/local/etc/raddb/radiusd.conf檔案


vi /usr/local/etc/raddb/radiusd.conf
查找"allow_vulnerabel_openssl = no"改為yes
查找" $INCLUDE sql.conf」(743行),去掉#號

#查找" $INCLUDE sql/mysql/counter.conf」(712行),去掉#號


#清空/usr/local/etc/raddb/sites-enabled/default文件,直接把已經配置好的檔案內容複製進去保存
cat /dev/null > /usr/local/etc/raddb/sites-enabled/default

vi /usr/local/etc/raddb/sites-enabled/default


#清空/usr/local/etc/raddb/sites-enabled/inner-tunnel文件,直接把已經配置好的文件內容複製進去保存
cat /dev/null > /usr/local/etc /raddb/sites-enabled/inner-tunnel

vi  /usr/local/etc/raddb/sites-enabled/inner-tunnel


##編輯/usr/local/etc/raddb/eap.conf ,修改MD5驗證方式為peap方式
vi  /usr/local/etc/raddb/eap.conf

第30行default_eap_type = md5改為default_eap_type = peap


#編輯/usr/local /etc/raddb/modules/mschap文件,修改為以下內容
vi /usr/local/etc/raddb/modules/mschap

mschap { use_mppe = yes require_encryption = yes require_strong = yes }


#編輯/usr/local/etc/raddb/sql/mysql/dialup.conf檔

vi /usr/local/etc/raddb/sql/mysql/dialup.conf

找出simul_count_query將279 -282行註解去掉,開啟simul_count_query函數


#編輯/usr/local/etc/raddb/sql/mysql/counter.conf文件,新增自訂運算函數
monthlytrafficcounter(每月計算流量)和yearlytrafficcounter(每年計算流量)

vi /usr/local/etc/raddb/sql/mysql/counter.conf###

在補充
sqlcounter Monthlytrafficcounter {
   counter-name = Monthly-Traffic
   check-name = Max-Monthly-Traffic
   inst = sql
   key = 使用者名稱
   重設= 每月
   query = " SELECT ABS(SUM(acctinputoctets + acctoutputoctets) DIV 1048576) FROMputoctets + acctoutputoctets) DIV 1048576) FROMputoctets + acctoutputoctets) DIV 1048576) FROM rad >= date_sub(curdate(),間隔30 天)"
}

sqlcounteryearlytrafficcounter {

   counter-name = Yearly-Traffic
   check-name = Max- Yearly-Traffic
回覆名稱= 年度流量限制
   sqlmod-inst = sql
   key = 使用者名稱
   重置= never
   查詢= " SELECT ABS(SUM(acctinputoctets + accIVoutputoctets D7774757 acc ='%{%k}' AND AcctStartTime >= date_sub(curdate(),interval 365 day)"
}

#編輯字典檔案/usr/local/etc/ raddb/dictionary

#vi /usr/local/etc/raddb/dictionary

#新增下列內容

ATTRIBUTE       Max-Monthly-Traffic     3003    integer  TRIBUTE     3003    intotta   integer
ATTRIBUTE       Acct-Interim-Interval   85      integer
ATTRIBUTE       Max-Yearly-Traffic     3003     Max-Yearly-Traffic     3003       integer


7.建立MySql相關的資料庫並進行

兩種方法如下:

A。 :帳號---新增使用者帳號
填寫好使用者名稱和密碼,一定點選(使用者帳號資料庫下的建立與使用者同名的資料庫並授予所有權限。)

B。建立
mysql -u root -p密碼                                                                                #建立radius資料庫
CREATE DATABASE conntrack;                                      #建立conntrack資料庫
CREATE USER ‘radius’@’localhost’ IDENTIFIED BY ‘radius123’;     #建立使用者radius,密碼radius123
CREATE USER ‘conntrack’@’localhost’ IDENTIFIED BY ‘conn123’;    #建立使用者conntrack,密碼conn123

GRANT ALL ON radius.* TO radius@localhost;                      #為radius資料庫設定存取權

GRANT ALL ON conntrack.* TO conntrack@localhost;                #為conntrack資料庫設定存取權

8.設定freeradius資料庫
/usr/local/etc/raddb/sql.conf                        rad Connection “localhost”
#port = 3306
login = “radius”
#password = “radius123”

找到readclients一行,選取yes並移除註解符號


##這裡要特別說明一下,如果在安裝freeraduis是使用的是第6點裡雲直接安裝的話,那麼sql.conf這個檔案
在/etc/raddb/sql.conf這個目錄裡。 #9.關掉SELINUX(需重新啟動機器生效)
/etc/sysconfig/selinux
#SELINUX=disabled

10.修改機器MAC位址,因為我下載RM3.9版本是破解的,授權文件和MAC位址都是破解者發布的(需要重啟生效PS:RM4.16不是也可以用同樣的方法處理,有研究出來的朋友,可以跟我交流一下)

不能用這個指令:ifconfig eth0 down(取消取消),你是ssh連結的用了這個,你立刻就斷線了,不用我說原因吧。 winscp下載/etc/sysconfig/network-scripts裡ifcfg-eth0


修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"為"MACADDR=00:D0:09:B8: B7 :34"

上傳覆蓋,重啟機器以後生效。

11.安裝Radius Manager

首先為Radius Manager建立一個web

使用lnmp vhost添加,不需要創建mysql資料庫了,在上面我們已經創建好了。 tar.gz

#cd radiusmanager-3.9.0

chmod 755 install.sh

./install.sh

出現Radius Manager installer
Copyright 2004-2011, DMA Softlab LLC
All right reserved.
(Use CTRL+C to abort any time)
Select the type of your operating system:
1. Redhat (Fedora, CentOS etc.)
2. Debian (Ubuntu etc.)
Choose an option: [1](我的是centos系統)

Selected operating system is : REDHAT
Select installation type:
1. New installation
2. Upgrade old system
Choose an option: [1](全新安裝)

Selected installation method: NEW INSTALLATION
WWW root path: [/var/www/html]       這裡改成我們建立的web目錄/home/wwwroot/你的網域
RADIUS database host: [localhost]
RADIUS database username: [radius ]                        #使用radius
RADIUS database password: [radius123]                              #使用conntrack
CTS database password : [conn123]                 你建立的conntrack的密碼
Freeradius UNIX user: [root]              選擇 UNbache                               改為WWW
Create rmpoller service: [y]
Create rmconntrack service: [y]
Back up RADIUS database: [y]
WARNING! If You continue You will overwrite the existing RADIUS database!
Are You sure to start the installation? [n] y
#Starting installation process…
Copying WEB content to /home/wwwroot/你的網域/radiusmanager
Copying binaries to /usr/local/bin
Copying rootexec to /usr/local/sbin
Copying radiusmanager.cfg to /etc
Backing up RADIUS database…
Creating MySQL tables
Creating rmpoller service
Creating rmconntrack service
Copying logrotate script
Setting permission on permissionfiles#db pyrotate script##Setting permissionsion Setpyting permissionn rad radiusd init script to /etc/init.d
Installation finished!

12.修改RM設定檔
/etc/radiusmanager.cfg
/home/wwwroot/你的網域名稱/radiusmanager/ config/system_cfg.php

13.修改RM檔案從根目錄到主目錄
cd radiusmanager --> mv * ../ --> cd ../

# 14.修改目錄檔案權限

chattr -i /home/wwwroot/你的網域/.user.ini
chown www:www -R /home/wwwroot/你的網域名稱

chmod -R 777 / home/wwwroot/你的網域

chmod 755 /usr/local/bin/rmauth
chmod 755 /usr/local/bin/rmacnt
chmod 755 /usr/local/bin/rmpoller
chmod 600 /etc/radiusmanager.cfg
chmod 755 /usr/local/bin/rmconntrack
chmod 4755 /usr/local/sbin/rootexec

重啟伺服器。存取地址你的網域名稱/admin.php  帳號admin 密碼1111
           使用者存取位址你的網域名稱/user.php 帳號user 密碼1111

 

##

以上是LNMP環境下安裝FreeRadius的實例教學課程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn