Minggu, 14 Desember 2014

copas Instalasi Squid Lusca Proxy di Ubuntu Server 12.04 LTS

Ada beberapa artikel yang pernah saya baca yang membahas tentang cara instalasi Squid Lusca di Ubuntu, baik itu untuk versi 12.04 maupun untuk versi Ubuntu sebelum-sebelumnya. Tapi dari beberapa artikel tersebut, kebanyakan kurang jelas step by step instalasinya. Ada juga yang kurang mantap performanya, bahkan ada yang tidak bisa HIT sama sekali!

Satu-satunya tutorial yang membahas secara gamblang dan lengkap sekali petunjuk step by stepnya hanyalah di trit yang ada di forum Ubuntu-indonesia.com ini. Oleh karena itu, berdasarkan sumber dari trit tersebut, saya akan mencoba menuliskannya kembali disini dengan step by step yang insyaAllah lebih saya perjelas lagi. Tujuannya tentu agar semua orang bisa mencoba membuat Squid Lusca ini dengan mudah dan benar. :)

Yang Harus Disiapkan

  1. Memiliki pengetahuan dasar tentang jaringan dan Linux. Setidaknya kalian sudah harus paham betul konsep jaringan TCP/IP seperti ip address, subnet mask, dll. Selain itu kalian juga harus sudah paham cara pengkonfigurasian jaringan di Ubuntu, seperti mengganti ip address, gateway, dan dns. Silahkan download ebook saya disini untuk pembahasan mengenai cara-cara konfigurasi jaringan dasar di Ubuntu Server 12.04 LTS.
  2. Memiliki pengetahuan tentang perintah-perintah dasar di Linux, seperti cp, mv, mkdir, chown, chmod, dan vim atau nano. Bisa kalian cari di google ebook-ebook yang membahas mengenai perintah dasar terminal di Linux.
  3. Memiliki pengetahuan tentang cara instalasi Ubuntu Server 12.04 LTS. Silahkan download ebook saya disini untuk pembahasan mengenai cara instalasi Ubuntu Server 12.04 LTS.
  4. Memiliki Harddisk paling minimal 2 buah. Karena wajib hukumnya untuk memisahkan antara harddisk untuk sistem dan harddisk untuk penyimpanan cache. Tujuannya agar performa si Squid bisa mencapai kemampuan tertinggi. 
  5. 1 buah kartu jaringan. Boleh menggunakan kartu jaringan yang onboard kok.

Spesifikasi Komputer Saya

Spek komputer berikut merupakan spek komputer yang saya gunakan di Virtualbox untuk keperluan praktek pembuatan Proxy pada artikel ini. Konsepnya sama saja, silahkan disesuaikan dengan spesifikasi komputer yang kalian punya.

1. Processor : Intel Core i3
2. Ram : 2 GB
3. HDD :
  • HDD1 : 8 GB --> Untuk sistem
  • HDD 2 : 20 GB --> Untuk penyimpanan cache
4. 1 buah kartu jaringan onboard.
Instalasi Ubuntu Server 12.04 LTS dan Pemartisian
Proses instalasi Ubuntu Server 12.04 LTS untuk keperluan Proxy server notabene sama saja dengan cara instalasi Ubuntu Server yang saya tulis di ebook saya. Jadi silahkan kalian ikuti saja step-by-step yang ada disitu. Letak perbedaannya hanya terdapat pada bagian pemartisian harddisk. Kalau di ebook saya menggunakan metode Guided, maka khusus untuk pembuatan Proxy, kita harus mempartisi Harddisk kita secara manual. Berikut adalah langkah-langkahnya :
1. Saat muncul bagian Partition Method, pilih Manual.
2. Kemudian akan terlihat ada dua buah harddisk disitu beserta ukurannya. HDD1 yang berukuran 8 GB akan saya bagi untuk Swap Area sebesar 2GB dan sisanya untuk sistem /. Ukuran Swap Area idealnya adalah 2x RAM. Namun apabila RAM kalian sudah 2GB keatas, maka sebaiknya ukuran Swap Area kalian buat sebesar 2GB saja. Karena nanti mubazir si Swap Areanya jarang terpakai sebab ukuran RAM kalian sudah cukup besar. 
Tekan Enter pada HDD1. Apabila Harddisk kalian adalah Harddisk baru, maka ketika kalian tekan Enter, akan muncul pertanyaan seperti berikut. Pilih Yes.
Setelah itu akan terlihat Free Space dari HDD1. Tekan Enter pada Free Space tersebut.
Pilih Create New Partition.
Ketikkan ukuran partisi yang ingin kalian buat. Karena disini saya ingin membuat Swap Area terlebih dahulu, maka ketik saja 2 GB. Lalu tekan Enter.
Untuk tipe partisinya, pilih saja Primary.
Pilih Beginning apabila muncul pertanyaan seperti ini.
Ganti bagian Use As menjadi Swap Area. Jika sudah pilih Done Setting Up New Partition.
Lakukan hal yang sama untuk membuat partisi /. Bedanya adalah pada bagian Partition Settings, kalian pilih Use As : Ext4 journaling file system, dan Mount point : /. Jika sudah pilih Done Setting Up New Partition.
Untuk harddisk yang kedua pun caranya sama seperti diatas. Perbedaannya pada bagian Partition Settings, kalian pilih Use As : ReiserFS journaling file system, Mount point > Enter Manually > /proxy. Jika sudah pilih Done Setting Up New Partition.
Jika kalian melakukannya dengan benar, maka tampilannya kira-kira akan seperti berikut. Setelah itu tekan Enter pada Finish partitioning and write changes to disk.
Terakhir pilih Yes.
Instalasi Squid Lusca
1. Pertama-tama pastikan bahwa si Proxy kalian ini sudah bisa terkoneksi ke internet. Silahkan diatur saja settingan gateway dan dns sesuai dengan skema jaringan milik kalian. Kalau topologi jaringan saya adalah sebagai berikut :

internet --------------------------------(10.0.0.2)mikrotik(192.168.1.1)--(192.168.1.2-192.168.1.100) client
(192.168.0.1)
|
|
(192.168.0.2)
 proxy

2. Aktifkan user root agar nanti tidak terlalu ribet menggunakan sudo di setiap perintah yang kalian lakukan. Langkah ini sebenarnya opsional saja, karena walaupun tidak mengaktifkan user root, kalian masih bisa melakukan semua langkah-langkah instalasi Squid Lusca-nya.
Untuk mengaktifkan user root silahkan eksekusi perintah berikut :
$ sudo -i
# passwd

Lalu masukkan password baru untuk user root.

3. Langkah kedua, kalian perlu menaikkan jumlah maksimal file descriptor yang bisa dibaca oleh sistem. Ini sangat diperlukan apabila ukuran cache kalian sudah diatas 100GB, karena semakin besar ukuran cache, maka semakin besar pula kebutuhan file descriptornya.

Untuk menaikkan file descriptor, eksekusi perintah berikut :

# nano /etc/security/limits.conf

Pada bagian paling bawah file tersebut tambahkan script ini :

root - nofile 65535

Setelah itu restart komputer :

# reboot

Setelah komputer direstart, pastikan bahwa efeknya sudah berjalan :

# ulimit -a | grep 'open files'
open files   (-n) 65535
4. Selanjutnya kita harus menambahkan modul ip_conntrack agar performa squid semakin baik :
# nano /etc/modules
Pada baris paling bawah tambahkan :
ip_conntrack
Simpan jika sudah.
5. Langkah berikutnya adalah menginstall paket-paket yang diperlukan untuk menginstall Lusca :
# apt-get update
# apt-get install apache2 php5 squid squidclient squid-cgi gcc build-essential sharutils ccze libzip-dev automake1.9 libfile-readbackwards-perl -y

6. Setelah itu download juga paket Luscanya :

# wget http://backcode.googlecode.com/files/LUSCA_HEAD-r14809-patch.tar.bz2

7. Setelah proses download selesai, ekstraklah file tersebut :

# tar -xvjf LUSCA_HEAD-r14809-patch.tar.bz2

8. Sekarang baru kita masuk ke dalam tahap pengkompilan. Sebelum itu, kalian harus mengetahui terlebih dahulu kode CFLAGS dari tipe prosesor kalian. Karena kode CFLAGS ini kita perlukan untuk proses pengkompilan.

Ketahui terlebih dahulu tipe prosesor kalian dengan mengetikkan perintah berikut :

# cat /proc/cpuinfo

Perhatikan bagian yang kira-kira ada seperti ininya :

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i3 CPU       M 380  @ 2.53GHz

Setelah kalian mengetahui tipe prosesor kalian, baru cari CFLAGS nya dari web ini http://wiki.gentoo.org/wiki/Safe_CFLAGS atau web ini http://gentoo-en.vfose.ru/wiki/Safe_Cflags/Intel#Core_i7_and_Core_i5.2C_Xeon_55xx khusus untuk intel Xeon.



Dari situ kalian bisa dapatkan kode yang kira-kira seperti ini (yang ini merupakan CFLAGS untuk Processor Intel Core i3) :

CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -mpopcnt -msahf -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"

Silahkan kalian kopi, lalu simpan baik-baik. Kode ini akan kita perlukan untuk langkah selanjutnya.

9. Yuk kita mulai proses kompilnya :

# cd LUSCA_HEAD-r14809
# make clean
# CHOST="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2 -msse4 -mcx16 -mpopcnt -msahf -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" \
./configure -prefix=/usr -exec-prefix=/usr -bindir=/usr/sbin -sbindir=/usr/sbin \
-libexecdir=/usr/lib/squid -sysconfdir=/etc/squid -localstatedir=/var/spool/squid \
-datadir=/usr/share/squid --enable-gnuregex --enable-async-io=24 --with-aufs-threads=24 \
--with-pthreads --with-aio --with-dl --enable-storeio=aufs,null \
--enable-removal-policies=heap --enable-icmp --enable-delay-pools --disable-wccp \
--enable-snmp --enable-cache-digests --enable-default-err-language=English \
--enable-err-languages=English --enable-linux-netfilter --disable-ident-lookups \
--with-maxfd=65535 --enable-follow-x-forwarded-for --enable-large-cache-files \
--with-large-files --enable-referer-log
# make
# make install

nb : pada script yang saya tandai merah, kalian ganti dengan kode CFLAGS milik kalian masing-masing.

Jika tidak ada pesan error, maka sampai tahap ini squid lusca kalian sudah berhasil terinstall.

10. Selanjutnya kalian harus mengganti hak akses partisi penyimpanan cache kalian agar menjadi kepemilikan user proxy dan grup proxy :

# chown -R proxy.proxy /proxy
# chmod -R 777 /proxy

11. Buat juga direktori untuk penyimpanan file log dari si Squid :

# mkdir /var/log/squid

Jangan lupa ganti kepemilikannya menjadi milik user proxy dan grup proxy juga :

# chown -R proxy.proxy /var/log/squid

12. Untuk file-file konfigurasi milik squidnya, saya sudah menyiapkannya untuk kalian. File-file konfigurasi ini saya dapatkan dari trit ubuntu-indonesia.com juga. Silahkan didownload saja :

# wget https://dl.dropboxusercontent.com/u/64064946/fileconfig.tar.gz

13. Ekstrak dan kopikan file-file konfigurasi tersebut ke direktori /etc/squid :

# tar -xvf fileconfig.tar.gz
# cp fileconf/* /etc/squid

14. Beri hak akses eksekusi untuk semua file berekstensi .pl pada direktori /etc/squid :

# chmod 0755 /etc/squid/*.pl

15. Dari semua file-file konfigurasi yang saya berikan hampir semuanya sudah tinggal pakai. Namun apabila kalian ada yang menggunakan konfigurasi yang berbeda dari punya saya, seperti subnet klien, nama disk cache, besar RAM, maupun ukuran harddisk disk cache, maka ada beberapa file yang perlu kalian edit.

Merubah subnet klien

Sesuai dengan topologi jaringan saya berikan diatas, subnet untuk klien saya adalah 192.168.1.0/24. Jika kalian ingin merubahnya sehubungan dengan perbedaan topologi jaringan, maka edit file acl.conf :

# nano /etc/squid/acl.conf

Cari baris acl localnet src 192.168.1.0/24 (Gunakan fasilitas search dengan menekan tombol CTRL + W). Lalu ganti bagian 192.168.1.0/24 sesuai dengan yang kalian inginkan. Jika sudah simpan dan tutup file tersebut.

Merubah nama disk cache

Pada artikel ini, disk cache yang saya buat bernama /proxy. Apabila kalian menggunakan nama lain, silahkan edit file squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /proxy 16000 37 256 , lalu ganti bagian /proxy menjadi nama disk cache sesuai dengan milik kalian masing-masing.

Mengubah ukuran disk cache

Ukuran harddisk untuk disk cache pada artikel ini adalah sebesar 20GB. Untuk mengubahnya sesuai dengan ukuran disk cache kalian, edit file /etc/squid/squid.conf :

# nano /etc/squid/squid.conf

Cari bagian cache_dir aufs /proxy 16000 37 256 . Perhatikan yang saya tandai merah dan biru. Untuk yang saya tandai merah, itu merupakan 80% dari ukuran total disk cache saya yang sebesar 20GB. Ini merupakan prinsip penggunaan disk cache yang baik. Sehingga disitu saya tulis 16000 (satuannya megabyte). Silahkan kalian ganti dengan 80% dari total ukuran disk cache kalian masing-masing.

Sedangkan untuk yang saya tandai biru, itu diperoleh dari rumus : ukuran 80% disk cache  dalam satuan byte/13/256/256 X 2.

Kira-kira cara menghitungnya seperti ini : 16000000/13/256/256 X 2 = 37.5. Dibulatkan saja menjadi 37.

Mengubah ukuran RAM

RAM yang saya gunakan pada artikel ini adalah 2GB. Jika kalian memiliki ukuran RAM yang berbeda dari saya, untuk mengubahnya kalian perlu mengedit file tune.conf :

# nano /etc/squid/tune.conf

Cari bagian ipcache_size 4096 lalu ganti angka 4096 dengan 2X ukuran RAM kalian dalam satuan Megabyte. Sebagai contoh, disitu tertulis 4096 karena hasil dari 2 X ukuran ram saya yaitu 2048.

Setelah itu cari lagi bagian fqdncache_size 2048 lalu ganti angka 2048 dengan ukuran RAM kalian dalam satuan Megabyte. Jika sudah simpan dan tutup file tersebut.

Untuk script-script lainnya, bisa kalian pelajari sendiri dengan melihat semua file yang ada didalam direktori /etc/squid.

Testing

1. Sebelum kalian mengetes squid kalian, pertama-tama matikan terlebih dahulu service dari Squid3. Karena nanti akan bentrok dengan service milik Squid Lusca.

# service squid3 stop

2. Kemudian kalian harus membuat direktori-direktori untuk tempat penyimpanan cache didalam disk cache kalian dengan menggunakan perintah berikut :

# squid -f /etc/squid/squid.conf -z

3. Baru sekarang jalankan squidnya :

# squid -NDd1 &

Berhubung kita menjalankan squidnya pada mode background, maka setelah kalian menjalankan perintah diatas, kalian bisa tekan tombol Enter.

4. Lalu pastikan kalau squid sudah mampu menjalankan servicenya dengan file descriptor yang sudah kalian tentukan diawal, yaitu sebesar 65535 :

# squidclient mgr:info | grep 'file descri'
Maximum number of file descriptors: 65535
Available number of file descriptors: 65511

Reserved number of file descriptors: 100

5. Terakhir, pantau log file dari squid dengan perintah berikut :

# tail -f /var/log/squid/access.log | ccze



Membuat Autostart Squid

Agar service squid langsung berjalan setiap komputer menyala, maka kalian harus menambahkan script autostart baru pada direktori /etc/init.d :

# nano /etc/init.d/squid

Kopikan semua script yang ada di halaman ini http://web.suffieldacademy.org/ils/netadmin/docs/software/squid/etc/init.d/squid kedalam file tersebut. Jika sudah simpan dan tutup filenya.

nb : file /etc/init.d/squid memang kosong. jadi jangan kaget ketika kalian mengetikkan perintah diatas, ternyata malah seperti membuat file baru.

Kemudian eksekusi dua perintah berikut untuk memberikan hak akses executable dan membuat file tersebut autostart setiap komputer dijalankan :

chmod 755 /etc/init.d/squid
update-rc.d squid defaults

Selanjutnya masukkan juga script berikut pada file /etc/rc.local untuk membuat squid3 tidak berjalan setiap komputer nyala. Kalau tidak, takutnya nanti bentrok antara squid3 dengan lusca.

nano /etc/rc.local

Masukkan script ini :

service squid3 stop

Simpan dan tutup file tersebut.

Memonitor Kinerja Squid Lusca dengan Squid Analyzer

Apabila kita hanya melihat file log milik squid secara mentah, rasanya kita agak kurang paham dan kurang bisa melihat statistiknya secara lengkap. Oleh karena itu kita memerlukan tools tambahan agar kita bisa memantau file log squid dengan tampilan yang lebih user friendly. Kalian bisa membaca artikel milik saya tentang cara memonitor kinerja Squid Lusca dengan Squid Analyzer disini.

Komentar Pribadi

Seluruh konfigurasi diatas sudah sering saya coba di beberapa PC dengan spek yang berbeda, seperti Intel Pentium 4, Dual Core, Core 2 Duo, sampai Intel Core i3 dan Intel Xeon. Untuk ngehit situs-situs HTTP dan game-game HTTP seperti game facebook dan friv.com sangat lancar. Untuk ngehit youtube pun lancar. Yang kurang adalah tidak seluruh update patch game online bisa ngehit (saya baru mencoba yang bisa terHIT hanya beberapa game gemscool saja, sedangkan untuk game online selain itu tidak bisa), serta tidak bisa ngehit speedtest. Sehingga ketika di test di speedtest, hanya bisa menampilkan angka yang sesuai dengan bandwidth asli.

Saya masih dalam tahap mengoprek-oprek lagi agar kekurangan yang saya alami diatas agar bisa segera teratasi.  Apabila ada diantara kalian yang mempunyai script yang lebih mantap dari milik saya, yang mungkin bisa ngehit semua patch game online dan speedtest monggo dishare saja dengan mengomentari artikel ini.

Semoga bermanfaat :)

copas management bandwidth dengan queue tree PCQ

Langsung aja gan..
Asumsikan internetnya sudah jalan (settingan IP public, private dan NAT sudah)
saya kasih contekan biar agan bisa langsung copas ke teminal nya mikrotik kalo menggunakan  IP yang nya sama..
Contohnya pake IP private 192.168.0.0/24 (ether2)
Gateway di mikrotik 192.168.0.254 (ether1)
ada 10 PC client dari IP 1 sampai 10
layanan 2Mbps
buat mangle nya dulu untuk marking koneksi dan packet dari tiap PC client, contoh berikut IP PC client 192.168.0.1 sampai 192.168.0.10

/ ip firewall mangle
add chain=forward protocol=!icmp src-address=192.168.0.1 action=mark-connection new-connection-mark=PC1-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC1-con action=mark-packet new-packet-mark=PC1 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.2 action=mark-connection new-connection-mark=PC2-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC2-con action=mark-packet new-packet-mark=PC2 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.3 action=mark-connection new-connection-mark=PC3-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC3-con action=mark-packet new-packet-mark=PC3 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.4 action=mark-connection new-connection-mark=PC4-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC4-con action=mark-packet new-packet-mark=PC4 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.5 action=mark-connection new-connection-mark=PC5-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC5-con action=mark-packet new-packet-mark=PC5 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.6 action=mark-connection new-connection-mark=PC6-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC6-con action=mark-packet new-packet-mark=PC6 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.7 action=mark-connection new-connection-mark=PC7-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC7-con action=mark-packet new-packet-mark=PC7 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.8 action=mark-connection new-connection-mark=PC8-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC8-con action=mark-packet new-packet-mark=PC8 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.9 action=mark-connection new-connection-mark=PC9-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC9-con action=mark-packet new-packet-mark=PC9 passthrough=no disabled=no
add chain=forward protocol=!icmp src-address=192.168.0.10 action=mark-connection new-connection-mark=PC10-con passthrough=yes disabled=no
add chain=forward protocol=!icmp connection-mark=PC10-con action=mark-packet new-packet-mark=PC10 passthrough=no disabled=no
/

Buat queue type yg PCQ nya dulu, penjelasan PCQ apa agan bisa googling 

queue type add name=Client-DL kind=pcq pcq-classifier=dst-address
queue type add name=Client-UL kind=pcq pcq-classifier=src-address

Buat queue tree parent nya, contoh berikut adalah untuk layanan 2Mbps, di setting DL = 2Mbps dan UL = 512Kbps (untuk internet biasanya UL : DL = 1 : 4)

queue tree add name=Client-DL parent=ether2 max-limit=2048k
queue tree add name=Client-UL parent=ether1 max-limit=512k
Buat queue tree untuk DownLink tiap PC, contoh disini dibuat dengan limit setiap PC 512Kbps dengan max limit 1Mbps dan bisa burst sampai 2Mbps jika BW kosong selama 10 detik

queue tree add name=PC1-DL packet-mark=PC1 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC2-DL packet-mark=PC2 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC3-DL packet-mark=PC3 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC4-DL packet-mark=PC4 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC5-DL packet-mark=PC5 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC6-DL packet-mark=PC6 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC7-DL packet-mark=PC7 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC8-DL packet-mark=PC8 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC9-DL packet-mark=PC9 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10
queue tree add name=PC10-DL packet-mark=PC10 parent=Client-DL queue=Client-DL limit-at=512k max-limit=1024k burst-limit=2048k burst-time=10

Buat queue tree untuk UpLink tiap PC, contoh disini dibuat dengan limit setiap PC 128Kbps dengan max limit 256Kbps dan bisa burst sampai 512Kbps jika BW kosong selama 10 detik.

queue tree add name=PC1-UL packet-mark=PC1 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC2-UL packet-mark=PC2 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC3-UL packet-mark=PC3 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC4-UL packet-mark=PC4 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC5-UL packet-mark=PC5 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC6-UL packet-mark=PC6 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC7-UL packet-mark=PC7 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC8-UL packet-mark=PC8 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC9-UL packet-mark=PC9 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10
queue tree add name=PC10-UL packet-mark=PC10 parent=Client-UL queue=Client-DL limit-at=128k max-limit=256k burst-limit=512k burst-time=10

Settingan angka-angka di atas baik itu IP ataupun limit BW bisa agan rubah sesuai kebutuhan..

copas mikrotik firewall

langsung aja gan..
Sebenarnya ini sudah banyak sih, ane cuma mau share dan kalau ada yang mau menambahkan.
script nya di copas aja di terminal, firewall berikut untuk block port” yang sering di pake virus, dan juga akses ke mikrotik di batasi hanya untuk ip-ip di address-list aour network
Kita buat dulu address-list dgn nama ournetwork, diisi IP yang di ijinkan untuk akses mikrotik agan

/ ip firewall address-list
add list=ournetwork address=x.x.x.x/x disabled=no
add list=ournetwork address=192.168.0.0/24 disabled=no
/

Trus kita masukin script firewall nya:

/ 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
/

Kalo port-port tersebut memang ada yang agan pake bisa di tambah selain our network di firewall port yang bersangkutan..
Buat para master kalo mau menambahkan atau koreksi silahkan.
Ma’af kalo ada yang salah, silahkan di koreksi, disini tempat berbagi…