Pages

Wednesday, July 04, 2007

Membuat Billing Internet [1]

Jadi begini yang saya kerjakan untuk tahap awal billing, belum ada perhitungan waktu dan biaya koneksi :).

1. Instalasi ubuntu server 7.04. Sudah termasuk instalasi Apache dan Mysql.
2. Konfigurasi network.

Modem
|
eth0
|
gateway/billing
|
eth1
|
switch/hub ----- PC1
|
PC2, PC3, dst

3. Misalnya gateway/billing punya IP Address yang menghadap ke user 192.168.1.11
4. User PC 1, 2, 3, dst memakai IP Address 192.168.1.xxx
5. Misalnya di gateway/billing, login usernya "billing" trus password ?? :)
6. Di PC User, gateway diarahkan ke 192.168.1.11 dan dns ke server dns.
7. Di gateway/billing, di file /etc/rc.local saya tambahkan baris ini ;
echo 1 > /proc/sys/ipv4/ip_forward
biar ip forward nya berfungsi. Defaultnya itu 0.

Konfigurasi networknya sesuaikan saja. Yang di atas hanya contoh saja kan ?
Nah selanjutnya membuat agar internetnya sharing ke user.

Misalnya, saya mau membuat agar PC1 yang memiliki IP Address 192.168.1.1 bisa koneksi ke internet. Maka saya memanfaatkan iptables. Saya mengetikkan ini di gateway/billing :

$ sudo iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.1.1

dengan perintah itu, maka PC1 akan bisa koneksi ke internet. Hal yang sama untuk PC2, PC3, dst. Tinggal ubah IPnya saja.

Untuk menghentikan koneksi di PC1.

$ sudo iptables -D POSTROUTING -j MASQUERADE -t nat -s 192.168.1.1

perbedaannya ada di -A (Tambah) dan -D (Hapus).

[Script PHPnya]
Saya buat 3 file. File untuk start dan untuk stop dan file untuk link ke start dan stop.

//start.php
$ip = $_SERVER["REMOTE_ADDR"]; //mendefinisikan ip yang mengakses
$start = system("sudo iptables -A POSTROUTING -j MASQUERADE -t nat -s $ip");

//stop.php
$ip = $_SERVER["REMOTE_ADDR"]; //mendefinisikan ip yang mengakses
$start = system("sudo iptables -D POSTROUTING -j MASQUERADE -t nat -s $ip");

//index.php
isinya link ke file start.php dan stop.php

Sekarang bagaimana supaya perintah IPTABLES ini bisa dijalankan dari web ? Di sini ada perintah sudo, dan pastinya akan minta password, :)

[mode bingung on]
Coba buka-buka : $ sudo visudo :)

lanjutannya next :). Dan mungkin nanti hasilnya belum memperhitungkan keamanannya.

1 comment:

milisdad said...

user ALL=(ALL) NOPASSWD: ALL

Related Posts Plugin for WordPress, Blogger...