歡迎您光臨本站 註冊首頁

freeradius-1.1.3+mac地址綁定

←手機掃碼閱讀     火星人 @ 2014-03-05 , reply:0

freeradius-1.1.3+mac地址綁定

adminjun
qq:279872
網路技術研究會群:8070045
中國linux公社論壇群:4478487
網路分析專家群:21091992

上次發過RedHat linux AS 4+Apache2.2.3+MYSQL5.0.27+PHP5.1.4,這個是接上篇文章的,最後還有ros的詳配,等些天整理好了再發出來,呵呵,最好能加精哦,這東東適合新手。以下內容是我以配置筆記的形式發布,每一步都是成功後記錄下來的,我將盡量做到了詳細說明每一步的操作。轉載請註明是偶哦嘿嘿。。adminjun / hackjun

                                                            
radius的安裝及配置
從http://www.freeradius.org下回來最新的freeradius-1.1.3.tar.gz
# tar -zxvf freeradius-1.1.3.tar
# cd freeradius-1.1.3
# ./configure --prefix=/usr/local/FreeRadius  \
> --with-experimental-modules \
> --with-rlm-sql-lib=/usr/local/mysql/lib/mysql/ \
> --with-rlm-sql-include-dir=/usr/local/mysql/include/mysql/
# make
# make install WITH_MYSQL=yes
(最後在/etc/rc.conf里加上
radiusd_enable="YES"
好讓radius 伺服器在開機時候自動啟動.
網上很多資料中,在安裝freeradius里,並沒有加上面這麼多參數,如果不加的話,90%會出
現rlm_sql_mysql找不到的情況。
我們現在把freeradius的庫文件路徑/usr/local/freeradius/lib 加到/etc/ld.so.conf文件中
下面我們將freeradius資料庫導入進mysql,這裡我要提醒一下,我們下的freeradius-1.1.3版本里沒有像網上
很 多貼子里說的在/usr/local/src/freeradius-1.1.3/src/modules/rlm_sql/drivers/rlm_sql_mysql中有
db_mysql.sql的文件。這個文件已被改名為mysql.sql,存放在/usr/local/src/freeradius-
1.1.3/doc/examples里,請大家注意
# /usr/local/mysql/bin/mysql -uroot -p密碼
mysql> create database radius   --創建radius庫
mysql> \q                        --退出
# /usr/local/mysql/bin/mysql -uroot -p密碼 radius < /usr/local/src/freeradius-
1.1.3/doc/examples/mysql.sql     --導入數據表結構
沒有示表示已經執行了,我們來檢查一下
# /usr/local/mysql/bin/mysql -uroot -p密碼
mysql> use radius        --打開radius庫
mysql> show tables;
看到8個表表示正確。
好,mysql的工作做完了。我們開始配置。
編輯/usr/local/freeradius/etc/raddb/radiusd.conf
在1844行找到# sql,去掉前面的#號。(在authorize{}中,如果1844號沒有#sql,可能是由於版本的關係,直接
搜索authorize,在這個裡面可以找到)
在2001行找到# sql,去掉前面的#號。(在accounting{}中,直接搜索也可。)
編輯/usr/local/freeradius/etc/raddb/sql.conf
修改這三行參數,這裡的password是我們mysql的密碼
server="localhost"
login="root"          建議用root用戶,免去不必要的麻煩
password="pass"
編輯/usr/local/freeradius/etc/raddb/client.conf
client 172.16.1.123 {   nas設備的地址
       secret         =radius  通訊用密碼
       shortname      =routeros 為這個連接使用的別名
       nastype        =other   
}
好了,保存。
我們先加一個測試賬號。
    insert into radcheck (username,attribute,op,value) values (『test』,』User-Password』,』:=』,
』test』)
啟動radius調試模式
# /usr/local/radius/sbin/radiusd -X
(ros已經配置好pppoe)
這時linux下環境基本配好,現在做web管理,freeradius自帶了一個web管理程序dialup_admin.
直接將/usr/local/src/freeradius-
1.1.3/dialup_admin/文件夾全部拷貝到apach網頁目錄下/usr/local/apach/htdocs下。
修改dialup_admin/conf/下的admin.conf文件中的如下參數:
sql_type:mysql
sql_server:localhost(sql地址)
sql_port:3306  (默認埠)
sql_username:root
sql_password:root123(密碼)
sql_database:radius(資料庫名)
重新載入apach配置文件:直接打開linux的「服務配置」工具,找到httpd,選擇重新啟動
訪問:http://localhost/dialup_admin/htdocs/index.html
能正常打開各頁面就ok了。呵呵。默認是打開的sql調試模式。可以在admin.conf
中找到sql_debug.把true改為false即可關閉。
接筆記本測試。。。通過。
幾點注意:mysql 安裝后,默認只能本地訪問,如果你想用其它工作站上進行管理的話,需要如下操作:
Host "xxx.xxx.xxx.xxx" is not allowed to connect to this mysql server.
如何解決客戶端與伺服器端的連接(mysql)
  1、進入mysql,創建一個新用戶user:
格式:grant 許可權 on 資料庫名.表名 用戶@登錄主機 identified by "用戶密碼";
grant select,update,insert,delete on *.* to user@10.10.10.10identified by "user";
   查看結果,執行:
   use mysql;
   select host,user,password from user;
   可以看到在user表中已有剛才創建的user用戶。host欄位表示登錄的主機,其值可以用IP,也可用主機名,
   將host欄位的值改為%就表示在任何客戶端機器上能以user用戶登錄到mysql伺服器,建議在開發時設為%。
   grant all on *.* to root@root@'%' identified by "密碼" ;
    all表示所有許可權
   update user set host = '%' where user = 'user';
   2、 ./mysqladmin -uroot -p密碼 reload
  ./mysqladmin -uroot -p密碼 shutdown
  3、./mysqld_safe --user-root &
  記住:對授權表的任何修改都需要重新reload,即執行第3步。
  如果經過以上3個步驟還是無法從客戶端連接,請執行以下操作,在mysql資料庫的db表中插入一條記錄:
   use mysql;
   insert into db values   
('192.168.88.234','%','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
   update db set host = '%' where user = 'user';(如果要賦於全部許可權,5.0版本應該是34個Y)
重複執行上面的第2、3步。
下面進行mac地址綁定操作。
為mysql的資料庫radius中的表radcheck增加一個mac欄位,varchar(20)類型
在上面的radiusd.conf中加多一個步驟
post-auth {  
     #  See "suthentication Logging Queries" in sql.conf
     sql #去掉原來的註釋語句   
        
}
修改sql.conf中的authorize_check_query為
#這裡修改驗證方式,加上mac驗證(我是使用了大小寫不敏感的那條sql語句改寫)
        authorize_check_query = "SELECT id,UserName,Attribute,Value,op FROM ${au
thcheck_table} WHERE Username = '%{SQL-User-Name}' and (mac='%{Calling-Station-I
d}' or isnull(mac) or mac='') ORDER BY id"
修改postauth_query語句
#change here 把postauth_query改為記錄mac地址的過程了
        postauth_query = "UPDATE ${authcheck_table} set mac='%{Calling-Station-I
d}'  WHERE Username = '%{SQL-User-Name}' and (mac='' or isnull(mac))"

-----------------------------------------
routeros  
pcq限速配置:待續。。

[火星人 ] freeradius-1.1.3+mac地址綁定已經有1549次圍觀

http://coctec.com/docs/service/show-post-41858.html