Thursday, December 20, 2007

CREATE HOST DOTA

Cara create Dota di MIKROTIK udah di joba dan jalan normal :D temen 1 net juga bisa join. langsung aja, tingggal edit sesuai dengan ip kamu, trs jgn lupa sesuaikan port game nya dengan yg di taruh di mikrotik, di game setting dotanya,
naruh nya di ip >>>> firewall>>>>nat
jgn lupa ini asumsi masquarade udah jalan. klw bisa jgn copy paste gunakan winbox aja :D
;;; Inter LAN DoTA login
chain=srcnat out-interface=LAN src-address=192.168.77.0/24 dst-address=192.168.77.0/24 action=src-nat
to-addresses=117.xxx.xxx.xxxto-ports=0-65535

;;; DoTA Game
;;; box 7
chain=dstnat dst-address=117.xxx.xxx.xxxprotocol=tcp dst-port=6007 action=dst-nat to-addresses=192.168.77.248
to-ports=6007

chain=srcnat src-address=192.168.77.248 protocol=tcp src-port=6007 action=src-nat to-addresses=117.xxx.xxx.xxx
to-ports=6007

chain=dstnat dst-address=117.xxx.xxx.xxxprotocol=udp dst-port=6007 action=dst-nat to-addresses=192.168.77.248
to-ports=6007

chain=srcnat src-address=192.168.77.248 protocol=udp src-port=6007 action=src-nat to-addresses=117.xxx.xxx.xxx
to-ports=6007

;;; DOTA BOX 1
chain=dstnat dst-address=117.xxx.xxx.xxxprotocol=tcp dst-port=6001 action=dst-nat to-addresses=192.168.77.254
to-ports=6001

chain=srcnat src-address=192.168.77.254 protocol=tcp src-port=6001 action=src-nat to-addresses=117.xxx.xxx.xxx
to-ports=6001

chain=dstnat dst-address=117.xxx.xxx.xxxprotocol=udp dst-port=6001 action=dst-nat to-addresses=192.168.77.254
to-ports=6001

chain=srcnat src-address=192.168.77.254 protocol=udp src-port=6001 action=src-nat to-addresses=117.xxx.xxx.xxx
to-ports=6001

gimana mudah kan sekarang tinggal coba coba dan coba

PROXY ON MIKROTIK

# SETUP MIKROTIK (base 1)
1. setelah mikrotik terinstall dengan baik dan benar jalankan mikrotik anda
2. masukkan username & password, dalam hal ini karena masih baru maka default usernam : admin pasword : blank
3. ganti nama ethernet anda jika anda mau, dalam hal ini anda dapat memberikan nama apa saja = [kucing@mikrotik] >interface
[kucing@mikrotik] interface >print (melihat dulu berapa banyak ethernet yg terpasang)
[kucing@mikrotik] interface >set 0 name=LAN
[kucing@mikrotik] interface >set 1 name=WAN
4. kemudian nambahkan ip addressnya
[kucing@mikrotik] >ip address
[kucing@mikrotik] ip address >add address=192.168.0.1/255.255.0.0 interface=LAN ----> ini untuk ip interface lokal
[kucing@mikrotik] ip address >add address=203.90.1.1/255.255.255.240 interface=WAN ---> ini untuk ip global yg di dapet dari ISP
5. kemudian masukin gatewaynya
[kucing@mikrotik] > ip route
[kucing@mikrotik] ip route >add gateway=xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx ----> ini merupakan gateway untuk keluar
6. kemudian setup webproxy
[kucing@mikrotik] >ip web-proxy
[kucing@mikrotik] ip web-proxy >set enable=yes
[kucing@mikrotik] ip web-proxy >set transparent-proxy=yes
[kucing@mikrotik] ip web-proxy >set max-object-size=1200KiB ---> ini supaya nge loadnya ngacir si web proxy
7. kemudian tambahkan rule supaya si client yg menggunakan port 80 akan di oper ke web-proxy
[kucing@mikrotik] >ip firewall nat
[kucing@mikrotik] ip firewall nat >add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=3128
8. kemudian masukan dns nya
[kucing@mikrotik] >ip dns
[kucing@mikrotik] ip dns >set primary-dns=xxx.xxx.xxx.xxx
[kucing@mikrotik] ip dns >set secondary-dns=xxx.xxx.xxx.xxx
9. Sekarang masqurade interface WANnya
[kucing@mikrotik]>ip firewall nat
[kucing@mikrotik] ip firewall nat>add chain=srcnat out-interface=WAN action=masquerade
10. sekarang coba ping ke gateway & dns dari mikrotik, kalo REPLY berarti dah konek

Tuesday, December 11, 2007

YM Bisa jalan 2 atau lebih ?

Mau Ym anda jalan 2 sekaligus ata lebih enggak masalh udah di coba dan jalan tapi ini di coba di system operasi windows pastinya dan versi YM nya 8.1 dan 9 klw yg 7XXX enggak jalan tuh, kamu tinggal klik start menu>>>>> RUn>>> isi dengan REG ADD HKCU\Software\Yahoo\Pager\Test /v Plural /t REG_DWORD /d 000001
Klw masih enggak mau artinya kamu gagal =))

SCRIP TAMBAHAN BUAT BLOK VIRUS

Biar virus di jaringan biar kagak brodcast trs2 ke server kita drop aja ya pakai listing yg ada ini ya oke

/ ip firewall filter
add chain=forward connection-state=established action=accept comment="allow \
established connections" disabled=no
add chain=forward connection-state=related action=accept comment="allow \
related connections" disabled=no
add chain=virus protocol=udp dst-port=135-139 action=drop comment="Drop \
Messenger Worm" disabled=no
add chain=forward connection-state=invalid action=drop comment="drop invalid \
connections" disabled=no
add chain=virus protocol=tcp dst-port=135-139 action=drop comment="Drop \
Blaster Worm" disabled=no
add chain=virus protocol=tcp dst-port=1433-1434 action=drop comment="Worm" \
disabled=no
add chain=virus protocol=tcp dst-port=445 action=drop comment="Drop Blaster \
Worm" disabled=no
add chain=virus protocol=udp dst-port=445 action=drop comment="Drop Blaster \
Worm" disabled=no
add chain=virus protocol=tcp dst-port=593 action=drop comment="________" \
disabled=no
add chain=virus protocol=tcp dst-port=1024-1030 action=drop comment="________" \
disabled=no
add chain=virus protocol=tcp dst-port=1080 action=drop comment="Drop MyDoom" \
disabled=no
add chain=virus protocol=tcp dst-port=1214 action=drop comment="________" \
disabled=no
add chain=virus protocol=tcp dst-port=1363 action=drop comment="ndm requester" \
disabled=no
add chain=virus protocol=tcp dst-port=1364 action=drop comment="ndm server" \
disabled=no
add chain=virus protocol=tcp dst-port=1368 action=drop comment="screen cast" \
disabled=no
add chain=virus protocol=tcp dst-port=1373 action=drop comment="hromgrafx" \
disabled=no
add chain=virus protocol=tcp dst-port=1377 action=drop comment="cichlid" \
disabled=no
add chain=virus protocol=tcp dst-port=2745 action=drop comment="Bagle Virus" \
disabled=no
add chain=virus protocol=tcp dst-port=2283 action=drop comment="Drop Dumaru.Y" \
disabled=no
add chain=virus protocol=tcp dst-port=2535 action=drop comment="Drop Beagle" \
disabled=no
add chain=virus protocol=tcp dst-port=2745 action=drop comment="Drop \
Beagle.C-K" disabled=no
add chain=virus protocol=tcp dst-port=3127 action=drop comment="Drop MyDoom" \
disabled=no
add chain=virus protocol=tcp dst-port=3410 action=drop comment="Drop Backdoor \
OptixPro" disabled=no
add chain=virus protocol=tcp dst-port=4444 action=drop comment="Worm" \
disabled=no
add chain=virus protocol=udp dst-port=4444 action=drop comment="Worm" \
disabled=no
add chain=virus protocol=tcp dst-port=5554 action=drop comment="Drop Sasser" \
disabled=no
add chain=virus protocol=tcp dst-port=8866 action=drop comment="Drop Beagle.B" \
disabled=no
add chain=virus protocol=tcp dst-port=9898 action=drop comment="Drop \
Dabber.A-B" disabled=no
add chain=virus protocol=tcp dst-port=10000 action=drop comment="Drop \
Dumaru.Y, sebaiknya di didisable karena juga sering digunakan utk vpn atau \
webmin" disabled=yes
add chain=virus protocol=tcp dst-port=10080 action=drop comment="Drop \
MyDoom.B" disabled=no
add chain=virus protocol=tcp dst-port=12345 action=drop comment="Drop NetBus" \
disabled=no
add chain=virus protocol=tcp dst-port=17300 action=drop comment="Drop Kuang2" \
disabled=no
add chain=virus protocol=tcp dst-port=27374 action=drop comment="Drop \
SubSeven" disabled=no
add chain=virus protocol=tcp dst-port=65506 action=drop comment="Drop PhatBot, \
Agobot, Gaobot" disabled=no
add chain=forward action=jump jump-target=virus comment="jump to the virus \
chain" disabled=no
add chain=input connection-state=established action=accept comment="Accept \
established connections" disabled=no
add chain=input connection-state=related action=accept comment="Accept related \
connections" disabled=no
add chain=input connection-state=invalid action=drop comment="Drop invalid \
connections" disabled=no
add chain=input protocol=udp action=accept comment="UDP" disabled=no
add chain=input protocol=icmp limit=50/5s,2 action=accept comment="Allow \
limited pings" disabled=no
add chain=input protocol=icmp action=drop comment="Drop excess pings" \
disabled=no
add chain=input protocol=tcp dst-port=21 src-address-list=ournetwork \
action=accept comment="FTP" disabled=no
add chain=input protocol=tcp dst-port=22 src-address-list=ournetwork \
action=accept comment="SSH for secure shell" disabled=no
add chain=input protocol=tcp dst-port=23 src-address-list=ournetwork \
action=accept comment="Telnet" disabled=no
add chain=input protocol=tcp dst-port=80 src-address-list=ournetwork \
action=accept comment="Web" disabled=no
add chain=input protocol=tcp dst-port=8291 src-address-list=ournetwork \
action=accept comment="winbox" disabled=no
add chain=input protocol=tcp dst-port=1723 action=accept comment="pptp-server" \
disabled=no
add chain=input src-address-list=ournetwork action=accept comment="From \
Datautama network" disabled=no
add chain=input action=log log-prefix="DROP INPUT" comment="Log everything \
else" disabled=no
add chain=input action=drop comment="Drop everything else" disabled=no

BRIDGE FOR MIKROTIK WIRELES

Setting mikrotik secara manual

langkah pertama :

Set AP :

1. Interface --> + --> Bridge--> bridge 1

2. Bridge --> Port --> + --> interface : ethernet 1

Bridge 1 : bridge 1

+ --> interface :Wlan1

Bridge : Bridge 1

3. IP --> address --> + --> misal 80.100.1.0

interface : bridge 1

4. Wireless --> interface --> wlan 1 ---> Mode : AP Bridge

default forward

5. wireless --> interface --> wlan 1 --> WDS --> wds

mode : dynamic

wds default bridge : bridge 1

6. wireless --> interface ---> + --> wds --> wds---> master

interface : wlan

7. wireless --> Access list --> + MAC add misal 00:02:...........

kemudian untuk setting client

settingan nomor 1 dan 2 sama seperti di atas AP

kemudian setting :

1. Ganti IP --> address --> +

2. wireless --> interface --> wlan 1 --> mode : station wds

scan list : terserah pake Frekwensi berapa msal

2.4 Ghz ato 5 Ghz

3. wireless --> access list --> + --> MAC add....

4. wireless --> connect list --> + --> interface : wlan1

Kagak ada pakai gambaar sorry males upload gambar :D

Saturday, July 28, 2007

TLisan asal-asalan

ini ada tulisan sembarangan....
apa ya artinya xixixixi nanti do coba aja deh, yang pasti ini blog dari dan hnya untuk aku

iptables -t nat -A POSTROUTING -s ip_lokal/xx -j MASQUERADE

iptables -t nat -A POSTROUTING -o ethernet_lokal -s ip_lokal/xx -j SNAT --to ip_internet

iptables -t nat PREROUTING -s ip_lokal/xx -p tcp --dport 80 -j REDIRECT --to-port 3128

Friday, May 25, 2007

IP TABLES BASIC

IP Tables Basic Print

Tulisan ini ditujukan untuk memberikan pengetahuan dasar mengenai pemfilteran paket menggunakan IPTables pada Linux. Tulisan ini bersifat general yang menjelaskan secara umum bagaimana sintaks IPTables dibuat. Beberapa (banyak?) bagian dari tulisan diambil dari official site IPTables . Tidak ada copyright apapun dalam dokumen ini, anda bebas menyalin, mencetak, maupun memodifikasi (dengan menyertakan nama penulis asli). Kritik, koreksi, saran dan lain-lain silahkan dialamatkan ke email tersebut di atas. Semoga bermanfaat.

1. Persiapan

Sebelum mulai, diharapkan pembaca sudah memiliki pengetahuan dasar mengenai TCP/IP karena hal ini merupakan dasar dari penggunaan IPTables. Ada (sangat) banyak resource yang mendokumentasikan konsep dasar tentang TCP/IP, baik itu secara online maupun cetak. Silahkan googling untuk mendapatkannya.

Hal berikutnya yang harus anda persiapkan adalah sebuah komputer yang terinstall Linux. Akan lebih baik jika komputer anda memiliki 2 buah network interface card, sebab bisa menjalankan fungsi packet forwarding. Disarankan anda menggunakan linux dengan kernel 2.4 ke atas, karena (setahu saya) linux dengan kernel 2.4 ke atas sudah memiliki dukungan IPTables secara default, sehingga anda tidak perlu mengkompilasi ulang kernel anda. Bagi anda yang menggunakan kernel 2.2 atau sebelumnya, anda harus melakukan kompilasi kernel untuk memasukkan dukungan IPTables. Silahkan lihat tutorial Kompilasi kernel 2.4.x di Linux oleh mas Asfik.

2. Pendahuluan

IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering disebut chain saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan FORWARD.

Pada diagram tersebut, lingkaran menggambarkan ketiga rantai atau chain. Pada saat sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.

Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan default ACCEPT.

Jalannya sebuah paket melalui diagram tersebut bisa dicontohkan sebagai berikut:

Perjalanan paket yang diforward ke host yang lain

1. Paket berada pada jaringan fisik, contoh internet.

2. Paket masuk ke interface jaringan, contoh eth0.

3. Paket masuk ke chain PREROUTING pada table Mangle. Chain ini berfungsi untuk me-mangle (menghaluskan) paket, seperti merubah TOS, TTL dan lain-lain.

4. Paket masuk ke chain PREROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan DNAT (Destination Network Address Translation).

5. Paket mengalami keputusan routing, apakah akan diproses oleh host lokal atau diteruskan ke host lain.

6. Paket masuk ke chain FORWARD pada tabel filter. Disinlah proses pemfilteran yang utama terjadi.

7. Paket masuk ke chain POSTROUTING pada tabel nat. Chain ini berfungsi utamanya untuk melakukan SNAT (Source Network Address Translation).

8. Paket keluar menuju interface jaringan, contoh eth1.

9. Paket kembali berada pada jaringan fisik, contoh LAN.

Perjalanan paket yang ditujukan bagi host lokal

1. Paket berada dalam jaringan fisik, contoh internet.

2. Paket masuk ke interface jaringan, contoh eth0.

3. Paket masuk ke chain PREROUTING pada tabel mangle.

4. Paket masuk ke chain PREROUTING pada tabel nat.

5. Paket mengalami keputusan routing.

6. Paket masuk ke chain INPUT pada tabel filter untuk mengalami proses penyaringan.

7. Paket akan diterima oleh aplikasi lokal.

Perjalanan paket yang berasal dari host lokal

1. Aplikasi lokal menghasilkan paket data yang akan dikirimkan melalui jaringan.

2. Paket memasuki chain OUTPUT pada tabel mangle.

3. Paket memasuki chain OUTPUT pada tabel nat.

4. Paket memasuki chain OUTPUT pada tabel filter.

5. Paket mengalami keputusan routing, seperti ke mana paket harus pergi dan melalui interface mana.

6. Paket masuk ke chain POSTROUTING pada tabel NAT.

7. Paket masuk ke interface jaringan, contoh eth0.

8. Paket berada pada jaringan fisik, contoh internet.

3. Sintaks IPTables

iptables [-t table] command [match] [target/jump]

1. Table

IPTables memiliki 3 buah tabel, yaitu NAT, MANGLE dan FILTER. Penggunannya disesuaikan dengan sifat dan karakteristik masing-masing. Fungsi dari masing-masing tabel tersebut sebagai berikut :

NAT : Secara umum digunakan untuk melakukan Network Address Translation. NAT adalah penggantian field alamat asal atau alamat tujuan dari sebuah paket.

MANGLE : Digunakan untuk melakukan penghalusan (mangle) paket, seperti TTL, TOS dan MARK.

FILTER : Secara umum, inilah pemfilteran paket yang sesungguhnya.. Di sini bisa dintukan apakah paket akan di-DROP, LOG, ACCEPT atau REJECT

2. Command

Command pada baris perintah IPTables akan memberitahu apa yang harus dilakukan terhadap lanjutan sintaks perintah. Umumnya dilakukan penambahan atau penghapusan sesuatu dari tabel atau yang lain.

Command

Keterangan

-A

–append

Perintah ini menambahkan aturan pada akhir chain. Aturan akan ditambahkan di akhir baris pada chain yang bersangkutan, sehingga akan dieksekusi terakhir

-D

–delete

Perintah ini menghapus suatu aturan pada chain. Dilakukan dengan cara menyebutkan secara lengkap perintah yang ingin dihapus atau dengan menyebutkan nomor baris dimana perintah akan dihapus.

-R

–replace

Penggunaannya sama seperti –delete, tetapi command ini menggantinya dengan entry yang baru.

-I

–insert

Memasukkan aturan pada suatu baris di chain. Aturan akan dimasukkan pada baris yang disebutkan, dan aturan awal yang menempati baris tersebut akan digeser ke bawah. Demikian pula baris-baris selanjutnya.

-L

–list

Perintah ini menampilkan semua aturan pada sebuah tabel. Apabila tabel tidak disebutkan, maka seluruh aturan pada semua tabel akan ditampilkan, walaupun tidak ada aturan sama sekali pada sebuah tabel. Command ini bisa dikombinasikan dengan option –v (verbose), -n (numeric) dan –x (exact).

-F

–flush

Perintah ini mengosongkan aturan pada sebuah chain. Apabila chain tidak disebutkan, maka semua chain akan di-flush.

-N

–new-chain

Perintah tersebut akan membuat chain baru.

-X

–delete-chain

Perintah ini akan menghapus chain yang disebutkan. Agar perintah di atas berhasil, tidak boleh ada aturan lain yang mengacu kepada chain tersebut.

-P

–policy

Perintah ini membuat kebijakan default pada sebuah chain. Sehingga jika ada sebuah paket yang tidak memenuhi aturan pada baris-baris yang telah didefinisikan, maka paket akan diperlakukan sesuai dengan kebijakan default ini.

-E

–rename-chain

Perintah ini akan merubah nama suatu chain.

3. Option

Option digunakan dikombinasikan dengan command tertentu yang akan menghasilkan suatu variasi perintah.

Option

Command Pemakai

Keterangan

-v

–verbose

–list

–append

–insert

–delete

–replace

Memberikan output yang lebih detail, utamanya digunakan dengan –list. Jika digunakan dengan

–list, akan menampilkam K (x1.000),

M (1.000.000) dan G (1.000.000.000).

-x

–exact

–list

Memberikan output yang lebih tepat.

-n

–numeric

–list

Memberikan output yang berbentuk angka. Alamat IP dan nomor port akan ditampilkan dalam bentuk angka dan bukan hostname ataupun nama aplikasi/servis.

–line-number

–list

Akan menampilkan nomor dari daftar aturan. Hal ni akan mempermudah bagi kita untuk melakukan modifikasi aturan, jika kita mau meyisipkan atau menghapus aturan dengan nomor tertentu.

–modprobe

All

Memerintahkan IPTables untuk memanggil modul tertentu. Bisa digunakan bersamaan dengan semua command.

4. Generic Matches

Generic Matches artinya pendefinisian kriteria yang berlaku secara umum. Dengan kata lain, sintaks generic matches akan sama untuk semua protokol. Setelah protokol didefinisikan, maka baru didefinisikan aturan yang lebih spesifik yang dimiliki oleh protokol tersebut. Hal ini dilakukan karena tiap-tiap protokol memiliki karakteristik yang berbeda, sehingga memerlukan perlakuan khusus.

Match

Keterangan

-p

–protocol

Digunakan untuk mengecek tipe protokol tertentu. Contoh protokol yang umum adalah TCP, UDP, ICMP dan ALL. Daftar protokol bisa dilihat pada /etc/protocols.

Tanda inversi juga bisa diberlakukan di sini, misal kita menghendaki semua protokol kecuali icmp, maka kita bisa menuliskan –protokol ! icmp yang berarti semua kecuali icmp.

-s

–src

–source

Kriteria ini digunakan untuk mencocokkan paket berdasarkan alamat IP asal. Alamat di sini bisa berberntuk alamat tunggal seperti 192.168.1.1, atau suatu alamat network menggunakan netmask misal 192.168.1.0/255.255.255.0, atau bisa juga ditulis 192.168.1.0/24 yang artinya semua alamat 192.168.1.x. Kita juga bisa menggunakan inversi.

-d

–dst

–destination

Digunakan untuk mecocokkan paket berdasarkan alamat tujuan. Penggunaannya sama dengan match –src

-i

–in-interface

Match ini berguna untuk mencocokkan paket berdasarkan interface di mana paket datang. Match ini hanya berlaku pada chain INPUT, FORWARD dan PREROUTING

-o

–out-interface

Berfungsi untuk mencocokkan paket berdasarkan interface di mana paket keluar. Penggunannya sama dengan

–in-interface. Berlaku untuk chain OUTPUT, FORWARD dan POSTROUTING

5. Implicit Matches

Implicit Matches adalah match yang spesifik untuk tipe protokol tertentu. Implicit Match merupakan sekumpulan rule yang akan diload setelah tipe protokol disebutkan. Ada 3 Implicit Match berlaku untuk tiga jenis protokol, yaitu TCP matches, UDP matches dan ICMP matches.

a. TCP matches

Match

Keterangan

–sport

–source-port

Match ini berguna untuk mecocokkan paket berdasarkan port asal. Dalam hal ini kia bisa mendefinisikan nomor port atau nama service-nya. Daftar nama service dan nomor port yang bersesuaian dapat dilihat di /etc/services.

–sport juga bisa dituliskan untuk range port tertentu. Misalkan kita ingin mendefinisikan range antara port 22 sampai dengan 80, maka kita bisa menuliskan –sport 22:80.

Jika bagian salah satu bagian pada range tersebut kita hilangkan maka hal itu bisa kita artikan dari port 0, jika bagian kiri yang kita hilangkan, atau 65535 jika bagian kanan yang kita hilangkan. Contohnya –sport :80 artinya paket dengan port asal nol sampai dengan 80, atau –sport 1024: artinya paket dengan port asal 1024 sampai dengan 65535.Match ini juga mengenal inversi.

–dport

–destination-port

Penggunaan match ini sama dengan match –source-port.

–tcp-flags

Digunakan untuk mencocokkan paket berdasarkan TCP flags yang ada pada paket tersebut. Pertama, pengecekan akan mengambil daftar flag yang akan diperbandingkan, dan kedua, akan memeriksa paket yang di-set 1, atau on.

Pada kedua list, masing-masing entry-nya harus dipisahkan oleh koma dan tidak boleh ada spasi antar entry, kecuali spasi antar kedua list. Match ini mengenali SYN,ACK,FIN,RST,URG, PSH. Selain itu kita juga menuliskan ALL dan NONE. Match ini juga bisa menggunakan inversi.

–syn

Match ini akan memeriksa apakah flag SYN di-set dan ACK dan FIN tidak di-set. Perintah ini sama artinya jika kita menggunakan match –tcp-flags SYN,ACK,FIN SYN

Paket dengan match di atas digunakan untuk melakukan request koneksi TCP yang baru terhadap server

b. UDP Matches

Karena bahwa protokol UDP bersifat connectionless, maka tidak ada flags yang mendeskripsikan status paket untuk untuk membuka atau menutup koneksi. Paket UDP juga tidak memerlukan acknowledgement. Sehingga Implicit Match untuk protokol UDP lebih sedikit daripada TCP.

Ada dua macam match untuk UDP:

–sport atau –source-port

–dport atau –destination-port

c. ICMP Matches

Paket ICMP digunakan untuk mengirimkan pesan-pesan kesalahan dan kondisi-kondisi jaringan yang lain. Hanya ada satu implicit match untuk tipe protokol ICMP, yaitu :

–icmp-type

6. Explicit Matches

a. MAC Address

Match jenis ini berguna untuk melakukan pencocokan paket berdasarkan MAC source address. Perlu diingat bahwa MAC hanya berfungsi untuk jaringan yang menggunakan teknologi ethernet.

iptables –A INPUT –m mac –mac-source 00:00:00:00:00:01

b. Multiport Matches

Ekstensi Multiport Matches digunakan untuk mendefinisikan port atau port range lebih dari satu, yang berfungsi jika ingin didefinisikan aturan yang sama untuk beberapa port. Tapi hal yang perlu diingat bahwa kita tidak bisa menggunakan port matching standard dan multiport matching dalam waktu yang bersamaan.

iptables –A INPUT –p tcp –m multiport –source-port 22,53,80,110

c. Owner Matches

Penggunaan match ini untuk mencocokkan paket berdasarkan pembuat atau pemilik/owner paket tersebut. Match ini bekerja dalam chain OUTPUT, akan tetapi penggunaan match ini tidak terlalu luas, sebab ada beberapa proses tidak memiliki owner (??).

iptables –A OUTPUT –m owner –uid-owner 500

Kita juga bisa memfilter berdasarkan group ID dengan sintaks –gid-owner. Salah satu penggunannya adalah bisa mencegah user selain yang dikehendaki untuk mengakses internet misalnya.

d. State Matches

Match ini mendefinisikan state apa saja yang cocok. Ada 4 state yang berlaku, yaitu NEW, ESTABLISHED, RELATED dan INVALID. NEW digunakan untuk paket yang akan memulai koneksi baru. ESTABLISHED digunakan jika koneksi telah tersambung dan paket-paketnya merupakan bagian dari koneki tersebut. RELATED digunakan untuk paket-paket yang bukan bagian dari koneksi tetapi masih berhubungan dengan koneksi tersebut, contohnya adalah FTP data transfer yang menyertai sebuah koneksi TCP atau UDP. INVALID adalah paket yang tidak bisa diidentifikasi, bukan merupakan bagian dari koneksi yang ada.

iptables –A INPUT –m state –state RELATED,ESTABLISHED

7. Target/Jump

Target atau jump adalah perlakuan yang diberikan terhadap paket-paket yang memenuhi kriteria atau match. Jump memerlukan sebuah chain yang lain dalam tabel yang sama. Chain tersebut nantinya akan dimasuki oleh paket yang memenuhi kriteria. Analoginya ialah chain baru nanti berlaku sebagai prosedur/fungsi dari program utama. Sebagai contoh dibuat sebuah chain yang bernama tcp_packets. Setelah ditambahkan aturan-aturan ke dalam chain tersebut, kemudian chain tersebut akan direferensi dari chain input.

iptables –A INPUT –p tcp –j tcp_packets

Target

Keterangan

-j ACCEPT

–jump ACCEPT

Ketika paket cocok dengan daftar match dan target ini diberlakukan, maka paket tidak akan melalui baris-baris aturan yang lain dalam chain tersebut atau chain yang lain yang mereferensi chain tersebut. Akan tetapi paket masih akan memasuki chain-chain pada tabel yang lain seperti biasa.

-j DROP

–jump DROP

Target ini men-drop paket dan menolak untuk memproses lebih jauh. Dalam beberapa kasus mungkin hal ini kurang baik, karena akan meninggalkan dead socket antara client dan server.

Paket yang menerima target DROP benar-benar mati dan target tidak akan mengirim informasi tambahan dalam bentuk apapun kepada client atau server.

-j RETURN

–jump RETURN

Target ini akan membuat paket berhenti melintasi aturan-aturan pada chain dimana paket tersebut menemui target RETURN. Jika chain merupakan subchain dari chain yang lain, maka paket akan kembali ke superset chain di atasnya dan masuk ke baris aturan berikutnya. Apabila chain adalah chain utama misalnya INPUT, maka paket akan dikembalikan kepada kebijakan default dari chain tersebut.

-j MIRROR

Apabila kompuuter A menjalankan target seperti contoh di atas, kemudian komputer B melakukan koneksi http ke komputer A, maka yang akan muncul pada browser adalah website komputer B itu sendiri. Karena fungsi utama target ini adalah membalik source address dan destination address.

Target ini bekerja pada chain INPUT, FORWARD dan PREROUTING atau chain buatan yang dipanggil melalui chain tersebut.

Beberapa target yang lain biasanya memerlukan parameter tambahan:

a. LOG Target

Ada beberapa option yang bisa digunakan bersamaan dengan target ini. Yang pertama adalah yang digunakan untuk menentukan tingkat log. Tingkatan log yang bisa digunakan adalah debug, info, notice, warning, err, crit, alert dan emerg.Yang kedua adalah -j LOG –log-prefix yang digunakan untuk memberikan string yang tertulis pada awalan log, sehingga memudahkan pembacaan log tersebut.

iptables –A FORWARD –p tcp –j LOG –log-level debug

iptables –A INPUT –p tcp –j LOG –log-prefix “INPUT Packets”

b. REJECT Target

Secara umum, REJECT bekerja seperti DROP, yaitu memblok paket dan menolak untuk memproses lebih lanjut paket tersebut. Tetapi, REJECT akan mengirimkan error message ke host pengirim paket tersebut. REJECT bekerja pada chain INPUT, OUTPUT dan FORWARD atau pada chain tambahan yang dipanggil dari ketiga chain tersebut.

iptables –A FORWARD –p tcp –dport 22 –j REJECT –reject-with icmp-host-unreachable

Ada beberapa tipe pesan yang bisa dikirimkan yaitu icmp-net-unreachable, icmp-host-unreachable, icmp-port-unreachable, icmp-proto-unrachable, icmp-net-prohibited dan icmp-host-prohibited.

c. SNAT Target

Target ini berguna untuk melakukan perubahan alamat asal dari paket (Source Network Address Translation). Target ini berlaku untuk tabel nat pada chain POSTROUTING, dan hanya di sinilah SNAT bisa dilakukan. Jika paket pertama dari sebuah koneksi mengalami SNAT, maka paket-paket berikutnya dalam koneksi tersebut juga akan mengalami hal yang sama.

iptables –t nat –A POSTROUTING –o eth0 –j SNAT –to-source 194.236.50.155-194.236.50.160:1024-32000

d. DNAT Target

Berkebalikan dengan SNAT, DNAT digunakan untuk melakukan translasi field alamat tujuan (Destination Network Address Translation) pada header dari paket-paket yang memenuhi kriteria match. DNAT hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau chain buatan yang dipanggil oleh kedua chain tersebut.

iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 –dport 80 –j DNAT –to-destination 192.168.0.2

e. MASQUERADE Target

Secara umum, target MASQUERADE bekerja dengan cara yang hampir sama seperti target SNAT, tetapi target ini tidak memerlukan option –to-source. MASQUERADE memang didesain untuk bekerja pada komputer dengan koneksi yang tidak tetap seperti dial-up atau DHCP yang akan memberi pada kita nomor IP yang berubah-ubah.

Seperti halnya pada SNAT, target ini hanya bekerja untuk tabel nat pada chain POSTROUTING.

iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE

f. REDIRECT Target

Target REDIRECT digunakan untuk mengalihkan jurusan (redirect) paket ke mesin itu sendiri. Target ini umumnya digunakan untuk mengarahkan paket yang menuju suatu port tertentu untuk memasuki suatu aplikasi proxy, lebih jauh lagi hal ini sangat berguna untuk membangun sebuah sistem jaringan yang menggunakan transparent proxy. Contohnya kita ingin mengalihkan semua koneksi yang menuju port http untuk memasuki aplikasi http proxy misalnya squid. Target ini hanya bekerja untuk tabel nat pada chain PREROUTING dan OUTPUT atau pada chain buatan yang dipanggil dari kedua chain tersebut.

iptables –t nat –A PREROUTING –i eth1 –p tcp –dport 80 –j REDIRECT –to-port 3128

Tutuorial Squid bisa dilihat di Instalasi Squid, Banner Filter, Porn Filter, Limit Bandwith, Transparan Proxy bikinan mas Hanny.

4. Penutup

Demikian dasar-dasar dari IPTables beserta komponen-komponennya. Mungkin anda masih agak bingung tentang implementasi dari apa yang telah dijelaskan di atas. Insya Allah dalam tulisan yang akan datang, saya akan memberikan beberapa contoh kasus jaringan yang menggunakan IPTables. Yea.. may I have enough power to do it :)

5. Change Log

sumber:h**p://wew.id.or.id/comments.asp?id=39

http://adminpreman.web.id/content/view/10/1/lang,en/

Thursday, May 24, 2007

Linux untuk warnet, Iptables konfigurasi

Dalam diskusi di internet permintaan untuk informasi pembuatan warnet menggunakan system operasi
LINUX sangat banyak. Linux Menjasi sangat menarik untuk perkembangan teknologi informasi di indonesia
karena gratis dan bisa diperoleh di internet. Mudah-mudahan situs ini berguna bagi anda pemula yang
ingin menggunakan linux sebagai Server Warnet.
Keunggulan Linux
·              Linux merupakan salah satu system open source, yang berarti memberi kesempatan kepada penggunanya
               untuk melihat program asal dan atau mengubahnya sesuai dengan keperluan pengguna tanpa terkena
               sanksi hukum.
·              Linux merupakan sistem operasi yang free..
·              Linux yang memiliki native protocol TCP/IP , sehingga semua yang memanfaatkan TCP/IP akan
               dilakukan dengan lebih cepat dibandingkan dengan sistem operasi lain
·              Dilengkapi dengan server proxy lokal yang sama dengan yang digunakan mayoritas ISP dunia.
·              Dilengkapi dengan transparan Proxy , sehingga semua klient seakan-akan berhubungan dengan
               internet tanpa ada pembatas.
·              dan masih banyak lagi kelebihan LINUX
 
Langkah Pembuatan Server Warnet Menggunakan Redhat 7.2 (Versi X windows)
 
1.            Setup IP Ethernet
               Pilih menu “start”—”program”—”system”—”network configuration”
               Di tab “Devices” edit ethernet card lalu pilih tab “protocol” dan edit TCP/IP lalu isi
               - Addres : 192.168.100.1 (alamat ip address server)
               - Subnet Mask : 255.255.255.0
               - Gateway : 192.168.100.1
               - klik ok dan save 
 
2. Instalasi Routing (Menggunakan Iptables)
   note : jika anda menggunakan iptables sebaiknya anda mendisable atau unsinstall ipchains yang ada.
 
o  Mengaktifkan IP_FORWARDING
               Untuk mengaktifkan ip_forward anda harus memberikan nilai 1 ke file /proc/sys/net/ipv4/ip_forward,
      contohnya dengan mengetikkan perintah di prompt linux :
               # echo “1″ > /proc/sys/net/ipv4/ip_forward
o  Ini sangat penting untuk diperhatikan, karena sejak Kernel 2.0.34 , kernel tidak mengaktifkannya
               secara default. Atau cara lain, anda bisa menambahkan baris berikut pada file /etc/sysctl.confnet.ipv4.ip_forward = 1
               dengan adanya baris tersebut maka script /etc/rc.d/init.d/network akan memberikan nilai 1
               secara otomatis ke file /proc/sys/net/ipv4/ip_forward pada saat memulai linux
o             Mengkonfigurasikan Aturan dari IP Forwarding dan sedikit ttg Firewall Untuk mengaktifkan
               IP Masquerade, anda harus memberikan perintah :
               iptables -t nat -A POSTROUTING -s yyy.yyy.yyy.yyy./x -j MASQUERADE
 
contoh :
     Bisa juga dengan ini : iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth_internet -j MASQUERADE 
- Anda mempunyai jaringan dengan alamat IP gateway linux 192.168.100.1 dan klien klien 192.168.100.2
               s/d 192.168.100.4 dengan netmask 255.255.255.0 , dan anda ingin mengaktifkan IP Masquerading
               atas alamat alamat ini, maka anda harus mengetikkan perintah :
               iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 0.0.0.0/0 -j MASQUERADE 
 
    - Anda mempunyai alamat alamat IP spt diatas tapi anda ingin hanya klien dengan IP bernomer
               192.168.100.5 dan 192.168.100.10 saja yang bisa mengakses internet, maka seharusnya anda
               hanya mengetikkan perintah :
               iptables -t nat -A POSTROUTING -s 192.168.100.5/32 -d 0.0.0.0/0 -j MASQUERADE
               iptables -t nat -A POSTROUTING -s 192.168.100.10/32 -d 0.0.0.0/0 -j MASQUERADE 
 
    - Anda mempunyai alamat alamat IP spt diatas dan anda ingin semua klien bisa mengakses
               internet, kecuali IP 192.168.100.5 dan 192.168.100.10 saja yang tidak bisa mengakses
               internet, maka seharusnya anda mengetikkan perintah :
               iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -d 0/0 -j MASQUERADE
               untuk mengaktifkan masquerading. Baru kemudian kita cegat kedua komputer tersebut dengan
               perintah :
               iptables -I INPUT -s 192.168.100.5/32 -d 0/0 -j DROP
               iptables -I INPUT -s 192.168.100.10/32 -d 0/0 -j DROP 
 
Administrasi fasilitas fasilitas tertentu Kita bisa juga melakukan pencegatan terhadap paket
paket yang akan masuk ke port tertentu, hal ini juga memungkinkan kita untuk mematikan atau
menghidupkan beberapa fasilitas internet, misalnya anda ingin klien anda dengan alamat 192.168.100.5
tidak diperbolehkan untuk melakukan chatting, maka kita bisa men-deny, paket paket dari klien
192.168.100.5 yang akan menuju ke port IRC (contoh port nomer 6667). Dibawah ini contoh untuk
mencegat paket TCP dari klien dengan alamat 192.168.100.5 yang menuju ke port 6667 :
iptables -I INPUT -p tcp -s 192.168.100.5/32 -d 0/0 –destination-port 6667 -j DROP
Untuk membuka atau menghapus aturan aturan yang telah kita buat kita bisa mengganti
option -I , -A dsb, misalnya dengan option -D sebagai contoh:
iptables -I INPUT -p tcp -s 192.168.100.5/32 -d 0/0 –destination-port 6667 -j DROP
dapat dihapus dengan perintah :
iptables -D INPUT -p tcp -s 192.168.100.5/32 -d 0/0 –destination-port 6667 -j DROP
Catatan option option iptables yg digunakan diatas -A menambahkan rule -I menyisipkan (insert)
rule firewall ke baris paling atas -D menghapus rule yg telah dibuat -s source address -d destination
address DROP Pada iptables tidak dikenal target DENY, sebagai pengganti menggunakan target DROP


di ambil dari: http://harrychanputra.web.id/2007/05/22/linux-untuk-warung-internet/

Wednesday, May 23, 2007

Block Port dengan Iptables

# Block MIRC
iptables -I FORWARD -p tcp --dport 6600:8000 -o eth0 -j DROP
iptables -I FORWARD -p udp --dport 6600:8000 -o eth0 -j DROP

# Block Port webcam Yahoo
iptables -I FORWARD -p tcp --dport 5100 -o eth0 -j DROP
iptables -I FORWARD -p udp --dport 5100 -o eth0 -j DROP

# Blocking MIRC
iptables -I FORWARD -p tcp --dport 6600:8000 -o eth0 -j DROP
iptables -I FORWARD -p udp --dport 6600:8000 -o eth0 -j DROP

# Block Port Room Yahoo
iptables -I FORWARD -p tcp --dport 5050 -o eth0 -j DROP
iptables -I FORWARD -p udp --dport 5050 -o eth0 -j DROP

Squid Delay Post How Tow

Latar Belakang
Bandwidth merupakan barang yang mahal. Untuk saat ini kisaran 64 kps dihargai sekitar 4 jt perbulan. Permasalahnnya bandwith 64 kbits itu bukan nilai yang besar. Rata-rata yang didapat pelanggan adalah 64 1:2. Artinya 1 jalur 64 kbits digunakan untuk 2 pelanggan sekaligus.
Sudah bandwidthnya dibatasi terkadang pula disisi user ada yang bertingkah seenaknya. Merasa ada koneksi internet gratis, beberapa user mulai menggunakannya untuk membuka situs-situs tertentu atau mengkoleksi file-file tertentu. Tentu saja alokasi bandwidth yang tersedia semakin menyusut. Yang merasakan adalah golongan user yang biasa-biasa saja (bukan mania internet), mereka hanya bisa mengelus dada.

Untuk mengatasi hal diatas, agar setiap user mendapat bandwidth yang cukup, bisa digunakan aplikasi squid proxy server.
Pelaksanaan
Sebelum mulai mengkonfigurasi delay pools, harus dipersiapkan terlebih dahulu aplikasi squid yang sudah dikompilasi dengn support delay pools. Beberapa distro besar seperti RedHat/Mandrake biasanya sudah di atur support delay pools.
Bila tidak dapat dikompilasi sendiri sebagai berikut

# ./configure --enable-delay-pools
# make
# make install

konfigurasi
File konfigurasi squid adalah squid.conf
ada beberapa tag konfigurasi untuk delay pools di squid.conf.

1. delay_pools
menyatakan berapa banyak bagian/pool yang akan dibuat
misal delay_pools 2

2. delay_class
menentukan klas/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang.
bagian merupakan nomer urut dari jumlah pool didelay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada delay_pools
tipe merupakan tipe class delay yang dipakai.
Secara umum tipe menyatakan bagaimana cara membagi bandwidth, ada 3 tipe:

tipe/class keterangan
1 semua bandwidth yang ada akan dibagi sama rata untuk semua user squid

ex ada bandwidth 128 dan semua bandwith dipakai untuk browsing
2 membatasi pemakaian bandwith dari total bandwidth yang ada, dan bandwith yang diperuntukan squid akan dibagi semua user dengan sama rata.

ex ada bandwidth 128 dimana 28 kbit dipakai untuk email dan sisanya (128-28) 100 kbit dipakai untuk browsing
3 membatasi pemakaian bandwidth dari total bandwidth yang ada, setiap network class C akan mendapat bandwidth sama besar, setiap user pernetwork akan mendapat bandwidth yang sama besar dari total bandwidth per network

ex: bandwidth tersedia 512 kb, untuk browsing disediakan bandwidth 384 kb, sisanya untuk aktifitas lain.
Di jaringan tersebut ada 3 departement dengan network yang berbeda misal lab (192.168.1.0/24), manajer(192.168.2.0/24), sales(192.168.3.0/24).
nah misah oleh admin di set bahwa pernetwork mendapat jatah 128 kb/s.
maka user� di sales akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user� di lab akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user� di manajer akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.

misal:

delay_class 1 2 # pool 1 memakai clas tipe 2
delay_class 2 3 # pool 2 memakai clas tipe 3

#

delay_access
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
misal:

delay_access 1 allow manajer
delay_access 1 deny all
delay_access 2 allow sales
delay_access 2 deny all

# delay_parameters
Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk.
delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai.
Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.

restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second

max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes.
Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec.
Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.
1 byte = 8 bit.

SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max

ex: 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.
Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.
Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.

class 1
delay_parameters <#pool individual>
ex: delay_parameters 1 1000/64000
Berarti semua network akan mendapat bandwidth yang sama di pool no 1.
Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
class 2
delay_parameters <#pool agregate individual>
ex: delay_parameters 1 32000/32000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec
dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
class 3
delay_parameters <#pool agregate network individual>
ex: delay_parameters 1 32000/32000 8000/8000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec
dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

Contoh 1
dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut

* admin, server dengan bandwidth unlimited
* staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
* umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte

acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl umum src 192.168.1.0/255.255.255.0
acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71

delay_pools 3

delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all

delay_class 2 1
delay_parameters 2 1500/64000
delay_access 2 allow staf
delay_access 2 deny all

delay_class 3 1
delay_parameters 3 1000/32000
delay_access 3 allow umum
delay_access 3 deny all

Cara mencobanya paling mudah adalah dengan menggunakan donlot manajer semacam DAP, GetRight maka akan terlihat bandwidth sudah dibatasi.
Contoh 2

Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.

acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow multimedia
delay_access 1 deny ALL

Contoh 3 dari forum.linux.or.id

bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 - 21:00)

acl LTIME time SMTWHFA 10:00-21:00

acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$
acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$
acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$

delay_pools 1

delay_class 1 1
delay_parameters 1 3000/3000
delay_access 1 allow download TIME
delay_access 1 deny all

Contoh 4
Bagaimana caranya membuat delay pools untuk membatasi download di siang hari dengan speed ... dan malam hari dengan speed ..., abis si bozz malem-nya mau pakai buat dolot.
Jadi pengennya pas malam bw buat user makin kecil, bukan malah di loss

acl JAM_KANTOR time SMTWHFA 07:00-18:00

delay_pools 2 delay_class 1 2
delay_parameters 1 24000/32000 -1/-1
delay_access 1 allow riset JAM_KANTOR
delay_access 1 deny all

delay_class 1 2
delay_parameters 2 8000/8000 -1/-1
delay_access 2 allow riset !JAM_KANTOR
delay_access 2 deny all

Contoh 5
Saya ada bandwidth besar, 1mbps.
Ingin membatasi yang donlot file besar di atas 5mbyte, di beri speed 32kbps.
Misal bila ada 3 user yang donlot, tiap-tiap user akan mendapat bw maximal 32kbps.

acl user src 192.168.1.0/24

delay_pools 1
delay_class 1 2
delay_parameters 1 40000/10000000 4000/5000000
delay_access 1 allow user download
delay_access 1 deny ALL

Sumber

www.google.com
www.squid-cache.org
http://www.geocities.com/adilinux/squid-delaypools.html

Monday, March 19, 2007

Command Line Di linux

Sekilas Tentang Command Line

Seperti halnya bila kita mengetikkan perintah di DOS, command line atau baris perintah di Linux juga diketikkan di prompt dan diakhiri dengan menekan tombol Enter pada keyboard untuk mengeksekusi perintah tersebut.

Baris perintah merupakan cara yang lebih efisien untuk melakukan sesuatu pekerjaan. Oleh karena itu pemakai Linux tetap mengandalkan cara ini untuk bekerja. Sebaiknya pemula juga harus mengetahui dan sedikitnya pernah menggunanakan perintah baris ini karena suatu saat pengetahuan akan perintah-perintah ini bisa sangat diperlukan.

Berikut akan dijelaskan beberapa perintah dasar yang mungkin kelak akan sering digunakan terutama oleh para pemula. Perhatian: pengetahuan akan perintah-perintah yang lain akan segera bertambah seiring dengan kemajuan Anda menguasai sistem operasi Linux ini.

Penjelasan masing-masing perintah akan dipersingkat saja dan untuk mengetahui lebih detail lagi fungsi-fungsi suatu perintah, Anda dapat melihat manualnya, misalnya dengan mengetikkan perintah man:

man adalah perintah untuk menampilkan manual dari suatu perintah. Cara untuk menggunakannya adalah dengan mengetikkan man diikuti dengan perintah yang ingin kita ketahui manual pemakaiannya.

Contoh:

$ man ls

Perintah di atas digunakan untuk menampilkan bagaimana cara penggunaan perintah ls secara lengkap.

Perintah-Perintah Dasar Linux

Sebagai panduan Anda, berikut adalah daftar perintah secara alfabet. Sebenarnya, Anda dapat saja menekan tab dua kali untuk melihat semua kemungkinan perintah yang dapat digunakan. Misalnya Anda ingin mengetahui perintah apa saja yang dimulai dengan huruf a, maka Anda cukup mengetikkan a lalu tekan tab dua kali!

Daftar Perintah Menurut Alfabet

& adduser alias bg cat cd chgrp chmod chown cp fg find grep gzip halt hostname kill less login logout ls man mesg mkdir more mount mv passwd pwd rm rmdir shutdown su tail talk tar umount unalias unzip wall who xhost + xset zip

&

Perintah & digunakan untuk menjalan perintah di belakang (background) Contoh:

wget http://id.wikibooks.org &

Perintah & dipakai dibelakang perintah lain untuk menjalankannya di background. Apa itu jalan di background? Jalan dibackground maksudnya adalah kita membiarkan sistem untuk menjalankan perintah sendiri tanpa partisipasi kita, dan membebaskan shell/command prompt agar bisa dipergunakan menjalankan perintah yang lain.

Lihat juga:

Silahkan lihat juga perintah bg dan fg.

adduser

Perintah adduser digunakan untuk menambahkan user.

Biasanya hanya dilakukan oleh root untuk menambahkan user atau account yg baru. Setelah perintah ini bisa dilanjutkan dengan perintah passwd, yaitu perintah untuk membuat password bagi user tersebut. Contoh:

# adduser udin

# passwd udin

Perhatikan bahwa semua perintah yang membutuhkan akses root, di sini saya tulis dengan dengan menggunakan tanda #, untuk memudahkan Anda membedakannya dengan perintah yang tidak perlu akses root.

Jika Anda menjalankan perintah adduser, Anda akan diminta memasukkan password untuk user yang Anda buat. Isikan password untuk user baru tersebut dua kali dengan kata yang sama.

alias

Digunakan untuk memberi nama lain dari sebuah perintah. Misalnya bila Anda ingin perintah ls dapat juga dijalankandengan mengetikkan perintah dir, maka buatlah aliasnya sbb:

$ alias dir=ls

Kalau Anda suka dengan tampilan berwarna-warni, cobalah bereksperimen dengan perintah berikut:

$ alias dir=ls -ar –color:always

Untuk melihat perintah-perintah apa saja yang mempunyai nama lain saat itu, cukup ketikkan alias saja (tanpa argumen). Lihat juga perintah unalias.

bg

Untuk memaksa sebuah proses yang dihentikan sementara(suspend) agar berjalan di background. Misalnya Anda sedang menjalankan sebuah perintah di foreground (tanpa diakhiri perintah &) dan suatu saat Anda membutuhkan shell tersebut maka Anda dapat memberhentikan sementara perintah tersebut dengan Ctrl-Z kemudian ketikan perintah bg untuk menjalakannya di background. Dengan cara ini Anda telah membebaskan shell tapi tetap mempertahankan perintah lama berjalan di background.

Lihat juga perintah fg.

cat

Menampilkan isi dari sebuah file di layar. Contoh:

$ cat /nama/suatu/file

cd

Change Directory atau untuk berpindah direktori dan saya kira Anda tidak akan menemui kesulitan menggunakan perintah ini karena cara penggunaanya mirip dengan perintah cd di DOS.

chgrp

Perintah ini digunakan untuk merubah kepemilikan kelompok file atau direktori. Misalnya untuk memberi ijin pada kelompok atau grup agar dapat mengakses suatu file. Sintaks penulisannya adalah sbb:

# chgrp

chmod

Digunakan untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori. Anda dapat menggunakan sistem numeric coding atau sistem letter coding. Ada tiga jenis permission/perijinan yang dapat dirubah yaitu:

1. r untuk read,

2. w untuk write, dan

3. x untuk execute.

Dengan menggunakan letter coding, Anda dapat merubah permission diatas untuk masing-masing u (user), g (group), o (other) dan a (all) dengan hanya memberi tanda plus (+) untuk menambah ijin dan tanda minus (-) untuk mencabut ijin.

Misalnya untuk memberikan ijin baca dan eksekusi file coba1 kepada owner dan group, perintahnya adalah:

$ chmod ug+rx coba1

Untuk mencabut ijin-ijin tersebut:

$ chmod ug-rx coba1

Dengan menggunakan sitem numeric coding, permission untuk user, group dan other ditentukan dengan menggunakan kombinasi angka-angka, 4, 2 dan 1 dimana 4 (read), 2 (write) dan 1 (execute).

Misalnya untuk memberikan ijin baca(4), tulis(2) dan eksekusi(1) file coba2 kepada owner, perintahnya adalah:

$ chmod 700 coba2

Contoh lain, untuk memberi ijin baca(4) dan tulis(2) file coba3 kepada user, baca(4) saja kepada group dan other, perintahnya adalah:

$ chmod 644 coba3

Perhatian: Jika Anda hosting di server berbasis Linux, perintah ini sangat penting sekali bagi keamanan data Anda. Saya sarankan semua direktori yang tidak perlu Anda tulis di chmod 100 (jika Apache jalan sebagai current user (Anda)) atau di chmod 501 jika Apache jalan sebagai www-data atau nobody (user lain).

chown

Merubah user ID (owner) sebuah file atau direktori

$ chown

cp

Untuk menyalin file atau copy. Misalnya untuk menyalin file1 menjadi file2:

$ cp

fg

Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground. Lihat juga perintah bg diatas.

find

Untuk menemukan dimana letak sebuah file. Perintah ini akan mencari file sesuai dengan kriteria yang Anda tentukan. Sintaksnya adalah perintah itu sendiri diikuti dengan nama direktori awal pencarian, kemudian nama file (bisa menggunakan wildcard, metacharacters) dan terakhir menentukan bagaimana hasil pencarian itu akan ditampilkan. Misalnya akan dicari semua file yang berakhiran .doc di current direktori serta tampilkan hasilnya di layar:

$ find . -name *.doc -print

Contoh hasil:

. /public/docs/account.doc

. /public/docs/balance.doc

. /public/docs/statistik/prospek.doc

./public/docs/statistik/presconf.doc

grep

Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan.

Format perintah:

$ grep

Misalnya akan dicari file-file yang mengandung teks marginal di current direktori:

$ grep marginal

diferent.doc: Catatan: perkataan marginal luas dipergunakan di dalam ilmu ekonomi prob.rtf: oleh fungsi hasil marginal dan fungsi biaya marginal jika fungsi prob.rtf: jika biaya marginal dan hasil marginal diketahui maka biaya total

gzip

ini adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file. Sintaksnya sangat sederhana:

$ gzip

Walaupun demikian Anda bisa memberikan parameter tertentu bila memerlukan kompresi file yang lebih baik, silakan melihat manual page-nya. Lihat juga file tar, unzip dan zip.

halt

Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root. Perintah ini untuk memberitahu kernel supaya mematikan sistem atau shutdown.

hostname

Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem.

Contoh pemakaian:

[user@localhost mydirectoryname] $ hostname

localhost.localdomain

kill

Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan. Tujuannya adalah menghentikan proses. Format penulisan:

$ kill

PID adalah nomor proses yang akan di hentikan. Tidak tahu PID proses mana yang mau dibunuh? Cobalah bereksperimen dengan perintah:

ps aux | grep

less

Fungsinya seperti perintah more.

login

Untuk masuk ke sistem dengan memasukkan login ID atau dapat juga digunakan untuk berpindah dari user satu ke user lainnya.

logout

Untuk keluar dari sistem.

ls

Menampilkan isi dari sebuah direktori seperti perintah dir di DOS. Anda dapat menggunakan beberapa option yang disediakan untuk mengatur tampilannya di layar. Bila Anda menjalankan perintah ini tanpa option maka akan ditampilkan seluruh file nonhidden(file tanpa awalan tanda titik) secara alfabet dan secara melebar mengisi kolom layar. Option -la artinya menampilkan seluruh file/all termasuk file hidden(file dengan awalan tanda titik) dengan format panjang.

man

Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah. Perintah ini berguna sekali bila sewaktu-waktu Anda lupa atau tidak mengetahui fungsi dan cara menggunakan sebuah perintah.

$ man

mesg

Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal. Misalnya mesg Anda dalam posisi y maka user lain bisa menampilkan pesan di layar Anda dengan write atau talk.

$ mesg y atau mesg n

Gunakan mesg n bila Anda tidak ingin diganggu dengan tampilan pesan-pesan dari user lain.

mkdir

Membuat direktori baru, sama dengan perintah md di DOS. a

more

Mempaging halaman, seperti halnya less

mount

Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan. Hanya superuser yang bisa menjalankan perintah ini. Untuk melihat filesystem apa saja beserta mount-pointnya saat itu, ketikkan perintah mount. Perintah ini dapat Anda pelajari di bab mengenai filesystem. Lihat juga perintah umount.

$ mount

/dev/hda3 on / type ext2 (rw)

none on /proc type proc (rw)

/dev/hda1 on /dos type vfat (rw)

/dev/hda4 on /usr type ext2 (rw)

none on /dev/pts type devpts (rw,mode=0622)

mv

Untuk memindahkan file dari satu lokasi ke lokasi yang lain. Bila argumen yang kedua berupa sebuah direktori maka mv akan memindahkan file ke direktori tersebut. Bila kedua argumen berupa file maka nama file pertama akan menimpa file kedua. Akan terjadi kesalahan bila Anda memasukkan lebih dari dua argumen kecuali argumen terakhir berupa sebuah direktori.

passwd

Digunakan untuk mengganti password. Anda akan selalu diminta mengisikan password lama dan selanjutnya akan diminta mengisikan password baru sebanyak dua kali. Password sedikitnya terdiri dari enam karakter dan sedikitnya mengandung sebuah karakter.

pwd

Print working directory, atau untuk menampilkan nama direktori dimana Anda saat itu sedang berada.

rm

Untuk menghapus file dan secara default rm tidak menghapus direktori. Gunakan secara hati-hati perintah ini terutama dengan option -r yang secara rekursif dapat mengapus seluruh file.

Sekali lagi: Hati-hati dengan perintah ini!

rmdir

Untuk menghapus direktori kosong.

shutdown

Perintah ini untuk mematikan sistem, seperti perintah halt. Pada beberapa sistem anda bisa menghentikan komputer dengan perintah shutdown -h now dan merestart sistem dengan perintah shutdown -r now atau dengan kombinasi tombol Ctr-Alt-Del.

su

Untuk login sementara sebagai user lain. Bila user ID tidak disertakan maka komputer menganggap Anda ingin login sementara sebagai super user atau root. Bila Anda bukan root dan user lain itu memiliki password maka Anda harus memasukkan passwordnya dengan benar. Tapi bila Anda adalah root maka Anda dapat login sebagai user lain tanpa perlu mengetahui password user tersebut.

tail

Menampilkan 10 baris terakhir dari suatu file. Default baris yang ditampilkan adalah 10 tapi Anda bisa menentukan sendiri berapa baris yang ingin ditampilkan:

$ tail

talk

Untuk mengadakan percakapan melalui terminal. Input dari terminal Anda akan disalin di terminal user lain, begitu sebaliknya.

tar

Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk. File arsip tersebut sering disebut sebagai file tar. Sintaknya sebagai berikut:

$ tar

Contoh:

$ tar -czvf namaFile.tar.gz /nama/direktori/*

Perintah di atas digunakan untuk memasukkan semua isi direktori, lalu dikompres dengan format tar lalu di zip dengan gzip, sehingga menghasilkan sebuah file bernama namaFile.tar.gz

$ tar -xzvf namaFile.tar.gz

Perintah di atas untuk mengekstrak file namaFile.tar.gz

umount

Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya. Setelah perintah ini dijalankan direktori yang menjadi mount-point tidak lagi bisa digunakan.

# umount

unalias

Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias. Jadi untuk membatalkan alias dir seperti telah dicontohkan diatas, gunakan perintah:

$ unalias dir

unzip

Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip. Sintaknya sederhana dan akan mengekstrak file yang anda tentukan:

$ unzip

Lihat juga perintah-perintah gzip dan unzip.

wall

Mengirimkan pesan dan menampilkannya di terminal tiap user yang sedang login. Perintah ini berguna bagi superuser atau root untuk memberikan peringatan ke seluruh user, misalnya pemberitahuan bahwa server sesaat lagi akan dimatikan.

# wall Dear, everyone….. segera simpan pekerjaan kalian, server akan saya matikan 10 menit lagi.

who

Untuk menampilkan siapa saja yang sedang login. Perintah ini akan menampilkan informasi mengenai login name, jenis terminal, waktu login dan remote hostname untuk setiap user yang saat itu sedang login. Misalnya:

$ who

root ttyp0 May 22 11:44

flory ttyp2 May 22 11:59

pooh ttyp3 May 22 12:08

xhost +

Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X.

xset

Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya. Misalnya bunyi bel dan kecepatan mouse dapat Anda set menggunakan perintah ini:

$ xset b

$ xset m

zip

Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip. Lihat juga perintah gzip dan unzip.

Diperoleh dari “http://id.wikibooks.org/wiki/Perintah-perintah_dasar