RADIUS除了可以使用本機使用者認證之外,也可以透過其他不同的資源做認證控管
結合MySQL就是一個例子,不過在設定上需要有一些改變
安裝
apt-get install mysql-server apt-get install freeradius #freeradius連MySQL的套件 apt-get install freeradius-mysql
建立資料庫
mysql -u root -p mysql> CREATE DATABASE radius;
匯入資料表
#安裝freeradius-mysql後在此路徑下會有許多*.sql檔 cd /etc/freeradius/sql/mysql/ #匯入 #admin.sql會新增一個radius帳號(密碼為radpass)是Free RADIUS用來連線mysql用的,如果想要自己開MySQL帳號的話可以不用匯入 mysql -u root -p radius < ippool.sql mysql -u root -p radius < schema.sql mysql -u root -p radius < nas.sql
建立group (radgroupreply)
#以下為MySQL語法 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');
加入測試帳號
#以下為MySQL語法 insert into radcheck (username,attribute,op,value) values ('test','User-Password',':=','test'); insert into radusergroup (username,groupname) values ('test','user');
修改/etc/freeradius/radiusd.conf
#將此行include sql設定檔的註解拿掉 $INCLUDE sql.conf
修改/etc/freeradius/sites-enabled/default
#將兩個群組的sql註解拿掉 authorize { sql } accounting { sql }
修改/etc/freeradius/sql.conf
#DB連線帳密 login = "" password = ""
重啟服務
service freeradius restart
測試連線
#顯示rad_recv: Access-Accept則為成功 radtest test test localhost 0 testing123