พอดีวันนี้ มีโจทย์ต้องทำเทสระบบ radius ครับ
พอดีมีเครื่องเทสเป็น centos อยู่เลยต้อง base on linux ไปครับผม
เริ่มแรกก็ลง freeradius2 ครับผมใช้ตัวนี้อยู่ประจำ อยู่ละ เริ่มกันเลย
#yum install freeradius2.x86_64 freeradius2-mysql.x86_64 freeradius2-utils.x86_64
#yum install mysql-server.x86_64
เครื่องนี้ผมติดตั้ง httpd ไปละครับ สิ่งที่ต้องลงเพิ่มเพื่อใช้งาน web interface จัดการ radius account ก็ลงเพิ่ม
#yum install php php-mysql php-pear php-gd php-pear-DB
เริ่ม config "/etc/raddb/radiusd.conf"
#vi /etc/raddb/radiusd.conf
เปิด comment บันทัดที่เป็น
$INCLUDE sql.conf
ทำการตั้งรหัสผ่าน mysql server
#mysqladmin -u root password xxx123
#mysql -p
เพื่อสร้าง radiusdb database
>CREATE DATABASE radiusdb;
>GRANT ALL ON radiusdb.* TO radius@localhost IDENTIFIED BY "radpass";
>exit;
ทำการ config ไฟล์ "sql.conf" และ "/etc/raddb/sites-enabled/default" ให้เปิดในส่วนของ sql
#vi /etc/raddb/sites-enabled/default
authorize {
sql
}
accounting {
sql
}
session {
radutmp
sql
}
post-auth {
sql
}
+++++++++++++++++++++++++++++
vi /etc/raddb/sql.conf #แก้ในส่วนของ DB ที่ใช้ในการ connect mysql ครับ
sql {
database = "mysql"
server = "localhost"
#port = 3306
login = "radius"
password = "radpass"
radius_db = "radiusdb"
}
และทำการเปิด comment
readclients = yes
##ทำการ import DB ลง mysql "radiusdb"
cd /etc/raddb/sql/mysql/
#mysql -p radiusdb < cui.sql
#mysql -p radiusdb < ippool.sql
#mysql -p radiusdb < nas.sql
#mysql -p radiusdb < schema.sql
เสร็จทำการ Test ครับ
#mysql -p
> use database radiusdb;
> INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('sqltest', 'Password', 'testpwd');
> select * from radcheck where UserName='sqltest';
> exit
เปิด terminal 1 เพื่อรัน debug
#radiusd -X
เปิดอีก terminal 2 เพื่อเทสcommand
# radtest sqltest testpwd localhost 1812 testing123
Sending Access-Request of id 115 to 127.0.0.1 port 1812
User-Name = "sqltest"
User-Password = "testpwd"
NAS-IP-Address = 10.0.1.176
NAS-Port = 1812
rad_recv: Access-Access packet from host 127.0.0.1 port 1812, id=115, length=20
จะสามาระ Access ได้ครับผม
ต่อไปทำการ download web app daloradius ครับ เป็น ui management radius account.
#wget
http://jaist.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz#tar -zxvf daloradius-0.9-9.tar.gz
#mv daloradius-0.9.9 /var/www/html/radius
#chown apache:apache /var/www/html/radius
#vi /var/www/html/radius/library/daloradius.conf.php
แก้ไขให้ connect DB ได้ครับ
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'radpass';
$configValues['CONFIG_DB_NAME'] = 'radiusdb';
#chown apache.apache /var/www/html/radius/library/daloradius.conf.php
#touch /tmp/daloradius.log
#chown apache.apache /tmp/daloradius.log
ทำการ import DB ลง mysql
#mysql -p radiusdb < fr2-mysql-daloradius-and-freeradius.sql
#mysql -p radiusdb < mysql-daloradius.sql
ทำการ config apache ให้รับ connection จาก localhost เท่านั้นครับ
#vi /etc/httpd/conf/httpd.conf
Alias /myradius "/var/www/html/radius/"
<Directory /var/www/html/radius/>
Options None
order deny,allow
deny from all
allow from 127.0.0.1
allow from <my management system's ip which has a web-browser>
</Directory>
เรียบร้อยทำการ เทสเข้าใช้งาน
http://127.0.0.1/myradius/เข้าใช้งานโดย
user = administrator
pass = radius
ครับผม