Senin, 08 Juni 2015

Install FreeRadius yang Support TTLS di Centos yang terkoneksi ke Oracle Database




Kali ini saya diminta untuk melakukan instalasi freeradius namun harus bisa koneksi juga ke database oracle yang sudah ada, Dan juga free radius ini harus support authentication ttls.

Setelah sekitar 4 hari mencoba namun gagal juga menggunakan Linux Ubuntu Server, akhir nya saya menggunakan Linux Centos 6.6 untuk instalasi freeradius nya.

Yang saya gunakan :
- Linux Centos 6.6
- Freeradius 2.1.12
- oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
- oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
- oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

Untuk file oracle nya download aja di situs nya oracle. Untuk freeradius bisa di download disini : http://ftp.cc.uoc.gr/mirrors/ftp.freeradius.org/

Langkah instalasi freeradius nya adalah sebagai berikut :

1. Install dulu openssl dan OCI client nya :

# yum install openssl.x86_64 openssl-devel.x86_64
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

Restart dulu linux nya :

# reboot


2. Setelah UP lagi servernya, Kemudian konfigure dan make dulu freeradius nya (jangan langsung di make install)

# tar jxvf freeradius-server-2.1.12.tar.bz2
# cd freeradius-server-2.1.12
# ./configure --prefix=/usr/raddb --with-openssl --with-openssl-libraries=/usr/lib64/ --with-openssl-includes=/usr/include/openssl/ --with-rlm-eap --with-rlm-counter-lib-dir=/usr/lib64/
# make

3. Konfigure dan make juga driver oracle untuk freeradius nya 

# cd /root/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_oracle/
# ./configure --with-oracle-lib-dir=/usr/lib/oracle/11.2/client64/lib --with-oracle-include-dir=/usr/include/oracle/11.2/client64
# make

4. Kembali ke folder free radius nya dan install :

# cd /root/freeradius-server-2.1.12/
# make install

Seharus nya sudah tidak ada error lagi kalau semua depedensi nya sudah lengkap, untuk cek file driver oracle untuk freeradius nya sudh benar ter install atau belum dapat dicari dengan locate file driver nya :

# locate rlm_sql_oracle.so
/root/freeradius-server-2.1.12/src/modules/lib/.libs/rlm_sql_oracle.so
/root/freeradius-server-2.1.12/src/modules/rlm_sql/drivers/rlm_sql_oracle/.libs/rlm_sql_oracle.so
/usr/raddb/lib/rlm_sql_oracle.so


Jika sudah ada berarti instalasi nya sudah benar.



Saat nya untuk melakukan konfigurasi di freeradius nya agar bisa terkoneksi dengan database oracle, cara nya sebagai berikut :

1. Edit file radiusd.conf di /usr/raddb/etc/raddb/radiusd.conf, ubah bagian

#$INCLUDE sql.conf

menjadi

$INCLUDE sql.conf


2. Edit /usr/raddb/etc/raddb/sites-enabled/default, ubah bagian dibawah ini

# See “Authorization Queries” in sql.conf
#sql

menjadi

# See “Authorization Queries” in sql.conf
sql

kemudian edit juga

# See “Accounting queries” in sql.conf
#sql

menjadi

# See “Accounting queries” in sql.conf
sql

kemudian edit lagi

# See “Simultaneous Use Checking Queries” in sql.conf
#sql

menjadi

# See “Simultaneous Use Checking Queries” in sql.conf
sql

Simpan perubahan file nya. 

3. Edit juga file ini inner-tunnel nya :

# vi /usr/raddb/etc/raddb/sites-enabled/inner-tunnel

Edit dari :

#  See "Authorization Queries" in sql.conf
#       sql

menjadi 

#  See "Authorization Queries" in sql.conf
        sql

4. Sekarang edit koneksi ke database nya pada bagian sql.conf di /usr/raddb/etc/raddb/sql.conf, rubah menjadi seperti di bawah ini :

sql {
#
# Set the database to one of:
#
# mysql, mssql, oracle, postgresql
#
database = “oracle”

#
# Which FreeRADIUS driver to use.
#
driver = “rlm_sql_${database}”

# Connection info:
server = “IP DB Oracle nya”
port = 1521
login = “USERNAME db nya”
password = “PASSWORD db nya”

# Database table configuration for everything except Oracle
#radius_db = “radius”
# If you are using Oracle then use this instead
radius_db = ” (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = IP DB Oracle nya)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = YOUR_ORACLE_SID) ) )”

Simpan perubahan file nya.

5. Coba jalankan freeradius nya :

# /usr/raddb/sbin/radiusd -X

FreeRADIUS Version 2.1.12, for host x86_64-unknown-linux-gnu, built on Jun  8 2015 at 17:51:56
Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. 
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE. 
You may redistribute copies of FreeRADIUS under the terms of the 
GNU General Public License v2. 
Starting - reading configuration files ...

Kalau sudah muncul seperti dibawah ini berarti sudah berhasil terkoneksi ke database oracle :

rlm_sql (sql): starting 0
rlm_sql (sql): Attempting to connect rlm_sql_oracle #0
rlm_sql (sql): Connected new DB handle, #0
rlm_sql (sql): starting 1
rlm_sql (sql): Attempting to connect rlm_sql_oracle #1
rlm_sql (sql): Connected new DB handle, #1
rlm_sql (sql): starting 2
rlm_sql (sql): Attempting to connect rlm_sql_oracle #2
rlm_sql (sql): Connected new DB handle, #2
rlm_sql (sql): starting 3
rlm_sql (sql): Attempting to connect rlm_sql_oracle #3
rlm_sql (sql): Connected new DB handle, #3
rlm_sql (sql): starting 4
rlm_sql (sql): Attempting to connect rlm_sql_oracle #4
rlm_sql (sql): Connected new DB handle, #4

Sekarang kamu tinggal mengarahkan saja ke table yang sesuai di database nya dan juga mengarahkan profile nya. Yang penting sudah bisa terkoneksi dulu freeradius nya ke database oracle.

Semoga Bermanfaat

Dony Ramansyah
site : http://donyramansyah.net
blog : dony-ramansyah.blogspot.com
email : dony.ramansyah[at]gmail.com
Registered linux user : ID 400171

Tidak ada komentar: