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
6.對freeradius詳細配置,因為我們需要和RM整合,這裡就需要詳細的配置radius文件
首先說明一下在使用LNMP環境包,也可以簡單的安裝freeradius,簡單安裝步驟如下
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
B:詳細的手動設定如下
vi /usr/local/etc/raddb/radiusd.conf
查找"allow_vulnerabel_openssl = no"改為yes
查找" $INCLUDE sql.conf」(743行),去掉#號
#清空/usr/local/etc/raddb/sites-enabled/default文件,直接把已經配置好的檔案內容複製進去保存
cat /dev/null > /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
##編輯/usr/local/etc/raddb/eap.conf ,修改MD5驗證方式為peap方式
vi /usr/local/etc/raddb/eap.conf
#編輯/usr/local /etc/raddb/modules/mschap文件,修改為以下內容
vi /usr/local/etc/raddb/modules/mschap
#編輯/usr/local/etc/raddb/sql/mysql/dialup.conf檔
#編輯/usr/local/etc/raddb/sql/mysql/counter.conf文件,新增自訂運算函數
monthlytrafficcounter(每月計算流量)和yearlytrafficcounter(每年計算流量)
在補充
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 天)"
}
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)"
}
#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 conntrack.* TO conntrack@localhost; #為conntrack資料庫設定存取權
8.設定freeradius資料庫
/usr/local/etc/raddb/sql.conf rad Connection “localhost”
#port = 3306
login = “radius”
#password = “radius123”
##這裡要特別說明一下,如果在安裝freeraduis是使用的是第6點裡雲直接安裝的話,那麼sql.conf這個檔案
在/etc/raddb/sql.conf這個目錄裡。 #9.關掉SELINUX(需重新啟動機器生效)
/etc/sysconfig/selinux
#SELINUX=disabled
修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"為"MACADDR=00:D0:09:B8: B7 :34"
上傳覆蓋,重啟機器以後生效。
11.安裝Radius Manager
首先為Radius Manager建立一個web
#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 ../
chattr -i /home/wwwroot/你的網域/.user.ini
chown www:www -R /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中文網其他相關文章!