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
出現這個頁面就可以了。
第二步,安裝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伺服器的配置,如果看到下面内容,說明伺服器配置成功
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 #編輯用戶端檔案,内容如下
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認證是否成功,如果看到下圖的内容,則說明已經配置成功了
第三步,安裝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 ,将以下涉及到的内容更改,其他的别動
$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
第四步,進行ROS PPPOE驗證
1,添加RADIUS用戶端:
vi /etc/raddb/clients.conf#新加一個用戶端
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
5,建立使用者,即PPPOE客戶:
Management——users
6,下面的xp客戶機連接配接ros撥号