WiFi: HotSpot - CoovaChilli Pendahuluan

From OnnoWiki
Jump to navigation Jump to search
Chilli 2.preview.jpg

CoovaChilli adalah sebuah software access controller open source, berbasis pada Chillispot project yang sekarang sudah tidak aktif. CoovaChilli aktif di kembangkan oleh kontributor Chillispot.

CoovaChilli adalah sebuah software access control yang kaya akan fitur, yang dapat memberikan captive portal / walled-garden environment dan menggunakan RADIUS untuk mengontrol akses dan akunting. CoovaChilli adalah bagian integral dari firmware CoovaAP OpenWRT.

Kebutuhan

Tutorial ini akan memperlihatkan bagaimana menjalankan software ini di sebuah mesin. Pada dasarnya, anda dapat menginstalasi Apache, MySQL, dan FreeRADIUS di mesin yang berbeda. Anda hanya perlu mengkonfigursi masing-masing parameter dari software tersebut. Biasanya, CoovaChilli dijalankan di router - menggunakan firmware seperti OpenWrt (atau CoovaAP), SDK vendor (seperti Ubiquiti), atau pre-install hardware seperti FON atau open-mesh.com.

CATATAN: baik coovachilli dan chillispot tidak dapat bekerja di OS 64 bit. Authentikasi RADIUS bermasalah di setup tersebut.

HOWTO ini mengasumsikan bahwa kita mempunyai sebuah mesin x86 dengan dua network interface. Biasanya, satu menjadi interface WAN, dan "subscriber" LAN interface yang akan dikontrol oleh CoovaChilli. Interface ini dapat berupa ethernet atau WiFi. Dalam contoh ini, kita akan mengasumsikan dua interface Ethernet untuk WAN (eth0) dan LAN (eth1).

Proses

CoovaChilli akan mengambil alih control dari internal interface (eth1) menggunakan socket raw promiscuous. CoovaChilli kemudian akan menggunakan kernel modul vtun untuk membangun interface virtual (bisa tun au tap) untuk meneruskan packet yang diterima atau dikirim ke WAN. Pada dasarnya, kernel modul vtun digunakan untuk memindahkan paket IP dari kernel ke mode user, sedemikian hingga CoovaChilli dapat berfungsi tanpa non-standard kernel module. CoovaChilli kemudian akan memberikan DHCP, ARP, and HTTP Hijacking pada interface "dhcpif", pada kasus kita adalah eth0.

Sebuah client / laptop akan tersambung ke Interface ini akan di batasi oleh "walled garden" sampai di authorisasi. Client / laptop hanya akan dapat memperoleh DNS dan WebSite yang sudah di-approved oleh "walled garden". Authentikasi (dan authorisasi) di CoovaChilli akan dilakukan menggunakan salah satu dari dua cara berikut. Apakah itu menggunakan MAC based authentication (menggunakan pilihan macauth di chilli.conf) atau menggunakan cara "Universal Access Method" (UAM). Metoda yang ke dua menggunakan captive portal yang akan menginisiasi proses authentikasi. Saat sebuah client yang tidak ter-authentikasi berusaha untuk mengakses Web (pada port 80), permohonan untuk menyambung ke Web akan di tangkap oleh CoovaChilli dan akan di redirect ke captive portal. Dalam kasus kita, kita akan menggunakan sebuah perl-script dengan nama hotspotlogin.cgi (yang di jalankan oleh apache melalui https).

hotspotlogin.cgi akan menyajikan halaman ke user dengan kolom username dan password. Data authentikasi ini akan di forward ke FreeRADIUS server, yang akan kemudian mencocokan informasinya ke back end menggunakan PAP, CHAP, atau MSCHAPv2. FreeRADIUS back-end disini adalah mysql, tentunya bisa servis lain seperti LDAP, Kerberos, unix passwd file atau Active Directory.

User kemudian akan ditentukan apakah ditolak atau diijinkan oleh FreeRADIUS, yang akan disampaikan oleh hotspotlogin.cgi dalam bentuk message penolakan atau halaman dengan berita "sukses" dan link untuk logout untuk user.

Pranala Menarik