天天看點

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

freeradius簡介:

freeradius一般用來進行賬戶認證管理,記賬管理,常見的電信營運商的寬帶賬戶,上網賬戶管理,記賬,都是使用的radius伺服器進行鑒權記賬的。

daloradius簡介:

一個FreeRADIUS的Web挂曆程式。

準備工作(我這裡是虛拟機):

主機位址為172.17.250.177

1,一台Centos系統的計算機#位址是172.17.250.189

2,一台ROS#第一個位址是172.17.250.190 第二個位址是内網位址。

3,一台客戶機#位址是内網位址

第一步,安裝Freeradius

1,安裝需求包

yum -y install httpd mysql mysql-devel mysql-server php php-mysql php-gd php-imap php-odbc php-pear php-xml php-xmlrpc

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel

2,簡單設定下http和mysql

chkconfig httpd on             #将http設定永久開啟

chkconfig mysql on            #将mysql設定永久開啟

/etc/init.d/httpd start           #啟動http

/etc/init.d/mysqld start        #啟動mysql

mysqladmin -u root password yuzhijian              #設定mysql的root密碼是yuzhijian

vi /var/www/html/test.php#建立php測試檔案,儲存退出 

<?php  phpinfo();  ?> 

setenforce 0 #關閉selinux

service iptables stop#關閉防火牆

用主機通路http://172.17.250.189/test.php 

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

出現這個頁面就可以了。

第二步,安裝raidus,并配置mysql

1,安裝并測試raidus

yum install -y freeradius freeradius-mysql freeradius-utils      #安裝radius  

vi /etc/raddb/users      #配置本地使用者測試

radius  testuser Cleartext-Password := "testpassword"     #在檔案的最後一行加入 ,儲存退出  

/etc/init.d/radiusd restart       #重新開機radius服務  

radtest testuser testpassword localhost 1812 testing123   

#測試radius伺服器的配置,如果看到下面内容,說明伺服器配置成功

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

2,radius配置mysql驗證

cp /etc/raddb/clients.conf /etc/raddb/clients.conf.bak      #備份radius的用戶端配置檔案  

grep -v \# /etc/raddb/clients.conf.bak > /etc/raddb/clients.conf    #将clients.conf.bak 中的注釋行過濾掉,并輸出到clients.conf中 

vi /etc/raddb/clients.conf      #編輯用戶端檔案,内容如下

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

vi /etc/raddb/users   #編輯使用者檔案,注釋掉剛才添加的測試使用者      

# testuser Cleartext-Password := "testpassword"    #将該測試使用者注釋掉

cp /etc/raddb/sql/mysql/admin.sql /etc/raddb/sql/mysql/admin.sql.bak    #備份admin.sql檔案  

grep -v ^# /etc/raddb/sql/mysql/admin.sql.bak > /etc/raddb/sql/mysql/admin.sql     #将admin.sql.bak 中的注釋行過濾掉并輸出到admin.sql中 

vi /etc/raddb/sql/mysql/admin.sql         #修改admin.sql檔案,内容如下

CREATE USER 'radius'@'localhost';   

SET PASSWORD FOR 'radius'@'localhost' = PASSWORD('radpass');  

GRANT ALL ON radius.* TO 'radius'@'localhost';   

#以上内說明“ 資料庫為radius,密碼為radpass”如果要自己設定,設定完成後還要修改sql.conf把密碼改為自己設定的

vi /etc/raddb/sql.conf #找到                          

#login = "radius"   ---> 登入使用者名,可以在這裡修改登入radius資料庫的使用者名                          

#password = "radpass"   --->登入使用者密碼 ,可以在這裡修改登入radius資料庫的密碼 

3,導入radius資料庫 

mysql -u root -p                         #登入mysql資料庫,輸入之前設定的root密碼。   

create database radius;             # 建立radius表 

exit;       #退出mysql資料庫

mysql -u root -p radius < /etc/raddb/sql/mysql/admin.sql    

#輸入這行的時候,可能會出現

“   ERROR 1396 (HY000) at line 2: Operation CREATE USER failed for 'radius'@'localhost'   ”

這個表示radius帳号已經存在,可以不用理會。

mysql -u root -p radius < /etc/raddb/sql/mysql/schema.sql   #導入schema.sql 檔案  

mysql -u root -p radius < /etc/raddb/sql/mysql/nas.sql  #導入nas.sql檔案  

mysql -u root -p radius < /etc/raddb/sql/mysql/ippool.sql   #導入ippool.sql檔案 

mysql -u root -p #登入mysql資料庫。

flush privileges; #使剛才導入的配置生效 

#

使剛才導入的配置生效

vi /etc/raddb/radiusd.conf            #編輯radius配置檔案,使其使用sql認證,去掉前面的#号

$INCLUDE sql.conf  #儲存退出

vi /etc/raddb/sql.conf  #修改sql.conf,隻修改下面的内容

server = "localhost"          

port = 3306          

login = "radius"          

password = "radpass"          

radius_db = "radius"          

readclients = yes #儲存退出

4,修改認證的方式。

vi /etc/raddb/sites-enabled/default   #編輯radius預設的認證檔案

 # authorize  {     --->找到這一行,将其注釋掉,并把結束的“}”也注釋掉 # }  

# accounting {   ---->找到這一行,将其注釋掉,并把結束的“}”也注釋掉 # }                        

# session {         ---->找到這一行,将其注釋掉,并把結束的“}”也注釋掉  # }                        

#然後到檔案的末尾添加如下内容,儲存退出 

authorize {  preprocess

 chap 

mschap 

suffix 

eap 

sql 

pap }  

accounting {  detail

 sql }   

session {  radutmp 

sql }

5,插入測試資料 。

mysql -u root -p     #登入mysql資料庫 

use radius;           #使用radius庫 

INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('user1', 'Password','password1');   #插入測試帳号“user1”和“password1” 

exit;      #退出mysql資料庫 

radtest user1 password1 localhost 1812 testing123   #用測試帳号測試一下radius的mysql認證是否成功,如果看到下圖的内容,則說明已經配置成功了

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

第三步,安裝daloradius。

wget http://download.pear.php.net/package/DB-1.7.14RC2.tgz  #下載下傳軟體包

pear install DB-1.7.14RC2.tgz     #安裝軟體包

wget  http://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz   #下載下傳軟體包

tar -zxvf daloradius-0.9-9.tar.gz   #安裝軟體包  

mv daloradius-0.9-9 daloradius    #将檔案daloraidus-0.9-9重命名 

cp -rf daloradius/* /var/www/html/  #複制daloradius/*所有檔案到html下   

chown apache:apache -R /var/www/html/    #将html檔案夾極其下面的所有檔案設定為apache組和apache使用者所擁有   

chmod 644 /var/www/html/library/daloradius.conf.php      #将daloraidus.conf.php檔案的權限設定為rw-r--r--

cd /var/www/html/contrib/db/     #進入/var/www/html/contrib/db/目錄  

mysql -u root -p radius < mysql-daloradius.sql   #将mysql-daloradius.sql  導入到mqsql中radius資料庫中 

vi /var/www/html/library/daloradius.conf.php    #修改daloradius.conf.php ,将以下涉及到的内容更改,其他的别動

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';#最重要這條·,儲存退出。

touch /tmp/daloradius.log     #建立daloraidus的日志檔案  

chown apache.apache /tmp/daloradius.log    #将其檔案設定為apache組及apache使用者擁有  

安裝完後打開Http://172.17.250.189 就可以看到daloradius了,登入的使用者名密碼為  username: administrator password: radius

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

第四步,進行ROS PPPOE驗證

1,添加RADIUS用戶端:

vi /etc/raddb/clients.conf#新加一個用戶端

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

2,ROS下PPPOE伺服器配置

ip pool add name=pppoe ranges=192.168.2.2-192.168.2.254 #建立PPPOE用戶端IP池              

ppp profile set default local-address=pppoe remote-address=pppoe dns-server=8.8.8.8,4.4.4.4 #建立PPPOE模闆

interface pppoe-server server add service-name=pppoe interface=ether2 authentication=pap \

default-profile=default one-session-per-host=yes keepalive-timeout=10 disabled=no#開啟并設定PPPOE伺服器

ppp secret add name=user password=passwd service=pppoe #使用本地pap驗證,建立PPPOE使用者

3,ROS端配置使用RADIUS驗證:

ppp aaa set use-radius=yes #允許使用RADIUS認證     

radius add address=192.168.1.22 secret=root service=ppp authentication-port=1812 \

accounting-port=1813 disabled=no  #設定RADIUS伺服器位址,驗證端口,驗證服務

radius incoming set accept=yes port=1700  #允許RADIUS端斷開使用者PPP連接配接

4.daloRADIUS端配置,建立NAS,即ROS用戶端:

Management——Nas

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

5,建立使用者,即PPPOE客戶:

Management——users

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)
Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)

6,下面的xp客戶機連接配接ros撥号

Centos+Freeradius+Mysql+daloRADIUS進行ROS PPPOE驗證(實驗)