WiFi: HotSpot - CoovaChilli Instalasi Radius Server

From OnnoWiki
Revision as of 06:50, 29 March 2012 by Onnowpurbo (talk | contribs) (→‎Test Sambungan Dengan Authentikasi Database)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Instalasi Radius Server dan Database

sudo apt-get install freeradius freeradius-mysql

Buat database untuk menyimpan username dan password

mysql -u root -p
Enter password:
CREATE DATABASE radius;
quit  

Asumsi password root mysql adalah 123456. Lanjutkan dengan perintah

sudo su -
mysql -u root -p123456 radius < /etc/freeradius/sql/mysql/schema.sql
mysql -u root -p123456 radius < /etc/freeradius/sql/mysql/nas.sql

Asumsi password user radius untuk akses database radius adalah radius, maka perintahnya adalah

mysql -u root -p
Enter password:
GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radius';
GRANT ALL PRIVILEGES ON radius.* TO 'radius' IDENTIFIED BY 'radius';
FLUSH PRIVILEGES;
quit

Set supaya FreeRadius dapat mengakses database

vi /etc/freeradius/sql.conf
server = "localhost"
login  = "radius"
password = "radius"
radius_db = "radius"

Set FreeRadius server client password

vi /etc/freeradius/clients.conf
client 127.0.0.1 {
    secret = tesing123
}

Test Setup

Username & password user Radius dapat dilihat di /etc/freeradius/users. Kita perlu mentest apakah setup FreeRadius berjalan dengan baik sebelum kita mengubah link dari "file" ke "sql".

Tambahkan username & password ke "file". masukan "John Doe"

vi /etc/freeradius/users

uncomment

"John Doe"      Cleartext-Password := "hello"
                Reply-Message = "Hello, %{User-Name}"

atau

"John Doe"     Auth-Type := Local, User-Password == "hello"
               Reply-Message = "Hello, %u"

Sampai titik ini sebaiknya anda me-reboot Server Ubuntu

sudo reboot

Check file konfigurasi melalui

sudo /etc/init.d/freeradius stop
sudo freeradius -XXX

Jika semua berjalan dengan baik maka akan tampil

Wed Apr  7 11:33:51 2010 : Debug: Ready to process requests.

Tekan tombol Ctrl+C untuk exit. Restart FreeRadius

sudo /etc/init.d/freeradius start

Test password authorization to "file"

sudo radtest "John Doe" hello 127.0.0.1 0 testing123

Jika semua berjalan dengan baik kita akan memperoleh jawaban

Sending Access-Request of id 182 to 127.0.0.1 port 1812 
	User-Name = "John Doe" 
	User-Password = "hello"
	NAS-IP-Address = 127.0.1.1
	NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=182, length=37
	Reply-Message = "Hello, John Doe"


Ubah Authorisasi ke SQL

Jika percobaan di atas berhasil dengan baik kita dapat mulai mengubah konfigurasi authorisasi dari "file" ke "sql". Edit file

vi /etc/freeradius/radiusd.conf
$INCLUDE ${confdir}/sql.conf

Edit

vi /etc/freeradius/sites-available/default
authorize {
        preprocess
        chap
        suffix
        eap
        #files
        sql
}
authenticate {
        Auth-Type PAP {
          pap
        }
        Auth-Type CHAP {
          chap
        }
        eap
}
accounting {
        detail
        radutmp
        sql ### tambahkan manual
}
session {
        sql ### tambahkan manual
}

Menambahkan User

Perintah untuk menambahkan user ke database

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -p radius
Enter password:mysqlsecret

Atau jika password radius mysql adalah radius dapat menggunakan perintah

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u radius -pradius radius

Default CoovaChilli menggunakan username 'chillispot' dan password 'chillispot' untuk login ke Radius. Hal ini di definisikan di file konfigurasi /etc/chilli/config

HS_ADMUSR=chillispot
HS_ADMPWD=chillispot

Tambahkan user tersebut di tabel radcheck melalui perintah

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -p radius
Enter password:mysqlsecret

Atau jika password radius mysql adalah radius dapat menggunakan perintah

echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('chillispot', 'Password', 'chillispot');" | mysql -u radius -pradius radius

Test Sambungan Dengan Authentikasi Database

Restart Radius

sudo /etc/init.d/freeradius restart

test sambungan ke Radius asumsinya password Radius Server "testing123"

sudo radtest mysqltest testsecret 127.0.0.1 0 testing123
sudo radtest chillispot chillispot 127.0.0.1 0 testing123

Jika berjalan dengan baik kita akan melihat response Access-Accept sebagai berikut:

Sending Access-Request of id 1 to 127.0.0.1 port 1812
	User-Name = "mysqltest"
	User-Password = "testsecret"
	NAS-IP-Address = 127.0.1.1
	NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=1, length=20

Referensi

Pranala Menarik