Home / Lập Trình / Hướng dẫn cài đặt FreeRadius với MySQL trên CentOS

Hướng dẫn cài đặt FreeRadius với MySQL trên CentOS

Bài viết hướng dẫn cách cài đặt và cấu hình dịch vụ freeradius trên CentOS với MySQL làm database chứa tài khoản chứng thực.

1. Cài đặt Freeradius, MySQL

Tôi cài đặt hai dịch vụ trên với tiện ích yum như sau:

yum install mysql-server freeradius freeradius-mysql freeradius-utils

2.Cấu hình

Cấu hình MySQL

Sau khi cài đặt tất cả các gói trên ta tiến hành khởi động MySQL và khởi tạo database từ dữ liệu mẫu có sẵn.

/etc/init.d/mysqld start

mysqladmin -p create radius
mysql -uroot -p radius </etc/raddb/sql/mysql/schema.sql
mysql -uroot -p radius </etc/raddb/sql/mysql/nas.sql
mysql -uroot -p
mysql> GRANT ALL PRIVILEGES ON radius. * TO 'radius'@'localhost' IDENTIFIED BY 'radpass'
mysql> FLUSH PRIVILEGES;

Ta chú ý có tùy chọn -p (màu đỏ) phía trên nếu đã thiết lập mật khẫu tài khoản root của mysql.

Cấu hình cho Freeradius

vi /etc/raddb/radiusd.conf

uncomment(bỏ dấu #) ở dòng $INCLUDE sql  (Di chuyển đến dòng 700)

vi /etc/raddb/sql.conf

Cấu hình lại kết nối mysql, tham khảo như sau:

sql {
database = "mysql"
driver = "rlm_sql_${database}"
server = "localhost"
#port = 3306
login = "radius"
password = "radpass"
radius_db = "radius"
# radius_db = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=your_sid)))"

acct_table1 = "radacct"
acct_table2 = "radacct"

postauth_table = "radpostauth"

authcheck_table = "radcheck"
authreply_table = "radreply"

groupcheck_table = "radgroupcheck"
groupreply_table = "radgroupreply"

usergroup_table = "radusergroup"
# read_groups = yes
deletestalesessions = yes
sqltrace = no
sqltracefile = ${logdir}/sqltrace.sql
num_sql_socks = 5
connect_failure_retry_delay = 60

lifetime = 0
max_queries = 0

readclients = yes
nas_table = "nas"
$INCLUDE sql/${database}/dialup.conf
}

Nhớ uncomments tại dòng readclients=yes

Tiếp tục ta cấu hình lại tập tin

vi /etc/raddb/sites-available/default

Ta sẽ uncomments tất cả các dòng có sql ở những tab: authorize, accounting,session.

Tham khảo những dòng sau: 177406454 

Khởi động dịch vụ freeradius lên:

 

3. Kiểm tra dịch vụ

Trước khi tiến hành kiểm tra hoạt động của toàn bộ dịch vụ ta cần insert(thêm) tài khoản để chứng thực cho freeradius.

INSERT INTO `radcheck` (`id`, `username`, `attribute`, `op`, `value`) VALUES (1,'test','Password',':=','123456');

 

Trong đó: test là tài khoản, 123456 là mật khẩu.

Cuối cùng thử chứng thực freeradius với tài khoản test và mật khẩu là 123456

radtest test 123456 localhost 0 testing123

 

Trong đó: testing123 là khóa bảo mật của dịch vụ freeradius. Khóa này được khai báo trong tập tin /etc/raddb/clients.conf , có thể thay đổi khóa này theo yêu cầu riêng.

Như vậy ta đã thực hiện việc cài đặt cũng như cấu hình dịch vụ freeradius, bài này nhằm hổ trợ một số bạn email cho tôi về việc cài đặt dịch vụ này ở  bài viết Hướng dẫn cài đặt Captive portal(wifi hostpot) trên CentOS

Print Friendly

About dongpolice

Check Also

Tao-bo-cai-dat-windows-to-usb

Tạo bộ cài đặt Windows từ USB dễ dàng – WinToUSB 3.4 Enterprise Full Key

Tạo bộ cài đặt Windows từ USB dễ dàng – WinToUSB 3.4 Enterprise Full Key WinToUSB …