วันอังคารที่ 12 เมษายน พ.ศ. 2559

[Radius] การติดตั้ง freeradius โดยใช้ฐานข้อมูล mysql บน Debian ตอนที่ 1

วันนี้ผมจะมานำเสนอวิธีการติดตั้ง freeradius ซึ่งจะนำมาใช้ในการควบคุมระบบ User ของสำนักงานหรือองค์กรของท่านครับ โดยวิธีการติดตั้งนั้นมีขั้นตอนไม่ยากดังนี้ครับ

ขั้นตอนที่ 1 : ทำการติดตั้ง mysql เพื่อใช้ไว้เก็บข้อมูลโดยใช้คำสั่ง
               
                     apt-get install mysql-server

จะมีหน้าต่างถามขึ้นมาว่าจะดำเนินการต่อหรือไม่ ให้ตอบ Y เพื่อทำการติดตั้ง


เมื่อติดตั้งไปสักพักจะมีหน้าต่างมาให้ใส่ password ของ root mysql ให้ใส่ password ที่ต้องการลงไป


ต่อมาจะมีการถามยืนยัน password ให้ใส่ password เข้าไปอีกครั้ง


หากติดตั้งเรียบร้อยไม่มีปัญหา จะได้ผลลัพธ์ตามภาพด้านล่าง


ขั้นตอนที่ 2 : ทำการติดตั้ง freeradius ที่จะใช้กับฐานข้อมูล mysql ด้วยคำสั่ง

                     apt-get install freeradius freeradius-utils freeradius-mysql

ระบบจะถามว่าจะดำเนินการต่อหรือไม่ ให้ตอบ Y เพื่อติดตั้งครับ


หากติดตั้งเรียบร้อยจะได้ผลลัพธ์ตามภาพด้านล่าง คือไม่มี Error ใดๆ ครับ


ขั้นตอนที่ 3 : สร้างฐานข้อมูลให้ freeradius ด้วยคำสั่งดังนี้
                     mysql -u root -p                 ; ใช้เพื่อ login เข้า mysql โดย user root ให้ทำการใส่ password เพื่อเข้าได้เลยครับ
                     CREATE DATABASE radius;             ; ใช้เพื่อสร้างฐานข้อมูลชื่อว่า radius
เมื่อดำเนินการเรียบร้อยให้ออกจาก mysql command โดยใช้คำสั่ง exit ครับ


จากนั้นทำการเพิ่มตารางของ radius เข้าไปที่ database โดยใช้คำสั่งดังนี้

               mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
               mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

โดยเมื่อใช้คำสั่งแต่ละคำสั่งจะมีการถาม password root ให้ทำการใส่แล้วกด enter ได้เลยครับ


ขั้นตอนที่ 4 : ปรับ file config ของ freeradius เพื่อเรียกใช้งาน database ที่เราสร้าง โดยการเข้าไปแก้ไข file sql.conf ซึ่งจะอยู่ที่ /etc/freeradius/sql.conf
จากนั้นแก้บันทัดดังนี้
                      login = "[user database ของ radius ถ้ายังไม่ได้สร้างใส่ root ไปก่อนก็ได้]"
                      password = "[password database ของ radius ถ้าหากใช้ root ก็ใส่ password root]"

ตัวอย่างเช่น
                      login = "root"
                      password = "12345678"


จากนั้นเลื่อนหาคำสั่ง readclients = yes
โดยแก้จาก #readclients = yes เป็น readclients = yes เอาเครื่องหมาย # ออกเพื่อเปิดการใช้งาน


จากนั้นเปลี่ยนไปแก้ไข file radiusd.conf โดยไฟล์จะอยู่ที่ /etc/freeradius/radiusd.conf
ทำการแก้ไขจาก #$INCLUDE sql.conf เป็น $INCLUDE sql.conf เอา # ออก เพื่อให้เปิดใช้งานคำสั่งเรียกใช้ไฟล์ sql.conf จากนั้นทำการบันทึกไฟล์


ขั้นตอนที่ 5 : แก้ไขไฟล์ /etc/freeradius/sites-available/default แก้ไขโดยการนำ # ออกจากหน้าคำสั่ง sql

โดยต้องแก้ใน 4 function หลักดังนี้
- authorize
- accounting
- session
- post-auth

ขั้นตอนที่ 6 : หลังจากแก้ไขไฟล์และบันทึกแล้ว ให้ทำการ restart service freeradius ด้วยคำสั่ง
                     service freeradius restart
                     และ ทดสอบสถานะการทำงานด้วยคำสั่ง
                     service freeradius status


ขั้นตอนที่ 7 : ทำการสร้าง User ทดสอบบน Mysql database โดยใช้คำสั่ง
mysql -u root -p
use radius; 
 INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('rad', 'User-Password', 'radpass');
ในตัวอย่างคำสั่งจะเพิ่ม User ชื่อ rad โดยมี Password เป็น radpass หากท่านต้องการทดสอบด้วย User อื่นสามารถแก้ได้เลยครับ


ขั้นตอนที่ 8 : ทำการทดสอบการทำงานของ freeradius โดยการใช้คำสั่งดังนี้
                     radtest rad radpass localhost 0 testing123
หากไม่มีอะไรผิดพลาดจะได้ผลลัพธ์ดังรูป


ก็เรียบร้อยแล้วนะครับสำหรับขั้นตอนการติดตั้ง freeradius โดยใช้ฐานข้อมูล mysql ในบทความหน้าเรามาดูเรื่องของการบริหารจัดการฐานข้อมูล radius และ การนำ radius ไปใช้งานกันครับ

Credit :
- http://www.phuketadmin.org/index.php?topic=7211.0
- http://wiki.freeradius.org/guide/Basic-configuration-HOWTO
- http://andrewpakpahan.blogspot.com/2012/08/installing-and-configuring-freeradius.html

1 ความคิดเห็น: