Author Topic: radius on centos 5.x x64 bit with daloradius + freeradius.  (Read 12070 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
radius on centos 5.x x64 bit with daloradius + freeradius.
« on: มกราคม 27, 2012, 05:55:44 PM »
พอดีวันนี้ มีโจทย์ต้องทำเทสระบบ 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

ครับผม
« Last Edit: มกราคม 27, 2012, 06:23:41 PM by golfreeze »