天天看點

Ubuntu 9.10+mysql+freeradius配置筆記

查了很多資料,經過自己的實踐終于配置成功了。

現在在配置freeradius-client-1.1.6時,編譯其src下的radexample.c後運作或者直接運作radlogin,輸入使用者名和密碼,總是認證不成功,但用radtest就能夠完成認證。百思不得其解,郁悶中。。。

配置環境:VitualBox虛拟機下Ubuntu 9.10

Step 1:安裝 Mysql

#groupadd mysql

#useradd mysql -g mysql

#sudo apt-get install mysql-server

這裡會提示你為root使用者設定密碼,這裡可以暫設為123456

Step2:安裝freeradius-server-2.1.8

将freeradius-server-2.1.8.tar.gz 放至/software/下

#cd /software

#tar -zxvf freeradius-server-2.1.8.tar.gz 

#cd freeradius-server-2.1.8

#./configure

#make 

#make install

#radiusd -X

這裡出現了error while loading shared libraries: libfreeradius-radius-2.1.8.so

其實在言下之意就是缺少一個叫做libfreeradius-radius-2.1.8.so的庫檔案,經查找發現這個庫存在于/usr/local/lib目錄下

采取的解決方式是将/usr/local/lib添加到/etc/ld.so.conf中

ld.so.conf檔案内容如下:

include /etc/ld.so.conf.d/*.conf

添加一行 /usr/local/lib

完成後輸入/sbin/ldconfig,再重新進行上面步驟。

出現以下資訊說明安裝成功。

Listening on authentication address * port 1812

Listening on accounting address * port 1813

Listening on command file /usr/local/var/run/radiusd/radiusd.sock

Listening on proxy address * port 1814

Ready to process requests.

Ldconfig指令是将/etc/ld.so.conf列出的路徑下的庫檔案緩存到/etc/ld.so.cache以供使用。

Step3:配置mysql和freeradius

#mysql -uroot -p123456

mysql>create database radius

mysql>quit

#cd /software/freeradius-server-2.1.8/raddb/sql/mysql

#mysql -uroot -p123456 radius < schema.sql

接着:

更改/usr/local/etc/raddb/sites-available/default檔案,使其支援sql

把 sql前的#去掉  

authorize {

  preprocess

  chap

  mschap

  suffix

  sql

}

accouting {

  ….

  sql

  …

}

更改/usr/local/etc/raddb/sql.Conf使其與mysql連接配接

server=”localhost” 

login=”root”

password=”mysql的root的密碼”   

radius_db=”radius”

再更改/usr/local/etc/raddb/radiusd.conf

将$INCLUDE sql.conf前的#去掉 

資料庫加入測試賬号

加入組:

  mysql –uroot –p密碼 radius

  insert into radgroupreply (groupname,attribute,op,value) values (‘user’,‘Auth-Type’,’:=’,’Local’);

  insert into radgroupreply (groupname,attribute,op,value) values (‘user’,‘Service-Type’,’:=’,’Framed-User’);

  insert into radgroupreply (groupname,attribute,op,value) values (‘user’,‘Framed-IP-Address’,’:=’,’255.255.255.254’);

  insert into radgroupreply (groupname,attribute,op,value) values (‘user’,‘Framed-IP-Netmask’,’:=’,’255.255.255.0’);

加入測試賬号:

  insert into radcheck (username,attribute,op,value) values (‘test’,’User-Password’,’:=’,’test’)

測試賬号加入組:

insert into radusergroup (username,groupname) values (‘test’,’user’);

接着需要下載下傳一個freeradius-mysql

#sudo apt-get install freeradius-mysql

然後到/usr/lib/freeradius将rlm_sql_mysql-2.1.0.so複制到/usr/lib下并改名為 rlm_sql_mysql.so 

#cp /usr/lib/freeradius/rlm_sql_mysql_2.1.0.so /usr/lib

#mv rlm_sql_mysql_2.1.0.so rlm_sql_mysql.so

#radiusd -X

Listening on authentication address * port 1812

Listening on accounting address * port 1813

Listening on command file /usr/local/var/run/radiusd/radiusd.sock

Listening on proxy address * port 1814

Ready to process requests.

打開另一個終端:

#radtest test test localhost 0 testing123

這時會出現伺服器沒有響應的提示,這是由于ipv6的影響,将/etc/hosts檔案中的::1前加上#再運作以上指令。出現以下資訊說明配置成功。

Sending Access-Request of id 34 to 127.0.0.1 port 1812

User-Name = "test"

User-Password = "test"

NAS-IP-Address = 127.0.1.1

NAS-Port = 0

rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=34, length=38

Service-Type = Framed-User

Framed-IP-Address = 255.255.255.254

Framed-IP-Netmask = 255.255.255.0

繼續閱讀