Friday, December 26, 2014

Quality of Service (QoS)

Skenario yang digunakan adalah jaringan lokal 10.10.10.0/24 yang memiliki alokasi bandwitdh total 512 kbps (upload) dan 512 kbps (download). Client yang digunakan adalah client 1 (10.10.10.2) dan client 2 (10.10.10.3)

Simple Bandwidth Management

Dengan menggunakan static bandwidth control maka alokasi bandwidth untuk masing-masing client akan tetap. Misalnya client 1 akan mendapatkan alokasi bandwidth yaitu sebesar 256kbps/256kbps, begitu juga dengan client 2.
Perintah yang dapat digunakan adalah sebagai berikut :
[admin@Ijc-router]> queue simple add name=limit-1 target-addresses=10.10.10.1 max-limit=256000/256000
[admin@Ijc-router]> queue simple add name=limit-2 target-addresses=10.10.10.2 max-limit=256000/256000
[admin@Ijc-router]> queue simple print
Flags: X – disabled, I – invalid, D – dynamic
 0    name=”limit-1″ target-addresses=10.10.10.1/32 dst-address=0.0.0.0/0 interface=all parent=none direction=both priority=8 queue=default-small/default-small limit-at=0/0 max-limit=256k/256k burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s total-queue=default-small
 1    name=”limit-2″ target-addresses=10.10.10.1/32 dst-address=0.0.0.0/0 interface=all parent=none direction=both priority=8queue=default-small/default-small limit-at=0/0 max-limit=256k/256k burst-limit=0/0 burst-threshold=0/0burst-time=0s/0s total-queue=default-small

Bila menggunakan WinBox maka konfigurasi dapat dilakukan melalui menu Queue > Simple Queues > Add
Pengujian atau monitoring terhadap aktifitas bandwidth yang sudah dibatasi dapat dilihat dengan menggunakan menu torch, dan interface yang dimonitor adalah interface ether2, karena interface ini yang terhubung ke jaringan lokal. Perintah yang dapat digunakan adalah sebagai berikut :
[admin@Ijc-router] >tool torch ether2 src-address=10.10.10.0/24

Shared Bandwidth Management

Dengan menggunakan shared bandwidth control, maka alokasi bandwidth untuk tiap client akan bervariasi, tergantung aktif tidaknya client lain dalam sebuah jaringan.
Dalam skenario, berikut client 1 dan client 2 masing-masing akan mendapatkan alokasi bandwidth 256kbps/256kbps. Sehingga total bandwitdh untuk 2 client tersebut adalah 512kbps/512kbps. Jika client 1 tidak menggunakan alokasi bandiwidthnya, maka jatah bandwidthnya akan diberikan kepada client yang lain, sehingga client 2 akan mendapatkan alokasi bandwidth maksimum 256kbps/256kbps.
Konfigurasi yang pertama kali dilakukan adalah konfigurasi untuk membatasi penggunaan bandwidth untuk kedua client sekaligus. Konfigurasi ini juga berfungsi sebagai pembatasan bandiwidth parent. Perintah yang dapat digunakan adalah sebagai berikut :
 [admin@Ijc-router] > queue simple add name=limit-all target-addresses=10.10.10.0/24 max-limit=512000/512000

Selanjutnya dibuat konfigurasi untuk membatasi pemakaian bandiwidth setiap client dengan menggunakan konfigurasi sebelumnya sebagai parent. Perintah yang dapat digunakan adalah sebagai berikut :
[admin@Ijc-router] > queue simple add name=limit-1 target-addresses=10.10.10.1 max-limit=512000/512000 limit-at=256000/256000 parent=limit-all
[admin@Ijc-router] > queue simple add name=limit-2 target-addresses=10.10.10.2 max-limit=512000/512000 limit-at=256000/256000 parent=limit-all
[admin@Ijc-router] > queue simple print
Flags: X – disabled, I – invalid, D – dynamic
0    name=”limit-all” target-addresses=10.10.10.0/24 dst-address=0.0.0.0/0 interface=all parent=none direction=both priority=8 queue=default-small/default-small limit-at=0/0 max-limit=512k/512k burst-limit=0/0 burst-threshold=0/0burst-time=0s/0s total-queue=default-small
1    name=”limit-1″ target-addresses=10.10.10.1/32 dst-address=0.0.0.0/0 interface=all parent=limit-all direction=bothpriority=8 queue=default-small/default-small limit-at=128k/128k max-limit=512k/512k burst-limit=0/0burst-threshold=0/0 burst-time=0s/0s total-queue=default-small
2    name=”limit-2″ target-addresses=10.10.10.2/32 dst-address=0.0.0.0/0 interface=all parent=limit-all direction=bothpriority=8 queue=default-small/default-small limit-at=128k/128k max-limit=512k/512k burst-limit=0/0burst-threshold=0/0 burst-time=0s/0s total-queue=default-small

Application Bandwidth Management
Pengaturan bandwidth juga dapat dilakukan dengan melihat jenis aplikasi yang akan dibatasi, misalnya aplikasi HTTP (web) akan dibatasi pemakaian bandwidthnya untuk keseluruhan client dalam jaringan. Untuk memisahkan jenis aplikasi yang diakses oleh client, maka perlu dilakukan penandaan paket data dari aplikasi tersebut (mangle).
Contoh skenario yang akan digunakan adalah membatasi pemakaian bandiwidth untuk aplikasi web sebesar 128 kbps bagi semua client yang ada dalam jaringan.
Tahap pertama yang dilakukan adalah penandaan paket (mangle) HTTP dari setiap client, dapat digunakan perintah sebagai berikut :

[admin@Ijc-router] > ip firewall mangle add chain=prerouting src-address=10.10.10.0/24 protocol=tcp dst-port=80 action=mark-connection new-connection-mark=http-con
[admin@Ijc-router] > ip firewall mangle add chain=prerouting connection-mark=http-con action=mark-packet new-packet-mark=http
[admin@Ijc-router] > ip firewall mangle print
Flags: X – disabled, I – invalid, D – dynamic
0   chain=prerouting action=mark-connection new-connection-mark=http-con passthrough=yes protocol=tcpsrc-address=10.10.10.0/24 dst-port=80
1   chain=prerouting action=mark-packet new-packet-mark=http passthrough=yes connection-mark=http-con

Dilanjutkan dengan melakukan pembatasan penggunaan bandwidth untuk aplikasi HTTP untuk jaringan 10.10.10.0/24. Perintah yang dapat digunakan adalah sebagai berikut :
 
[admin@Ijc-router] > queue simple add name=limit-http target-addresses=10.10.10.0/24 packet-marks=http max-limit=128000/128000
[admin@Ijc-router] > queue simple add name=all-network target-addresses=10.10.10.0/24 max-limit=512000/512000
[admin@Ijc-router] > queue simple print
Flags: X – disabled, I – invalid, D – dynamic
 0 name=”limit-http” target-addresses=10.10.10.0/24 dst-address=0.0.0.0/0 interface=all parent=none packet-marks=http direction=both priority=8 queue=default-small/default-small limit-at=0/0 max-limit=128k/128k burst-limit=0/0burst-threshold=0/0 burst-time=0s/0s total-queue=default-small

Friday, December 19, 2014

Firewall

Secara umum firewall ditempatkan diantara jaringan lokal dan jaringan publik, ditujukan untuk melindungi jaringan lokal dengan mebatasi traffik yang menuju router (input), keluar dari router (output) dan melewati router (forward)

Masquerade

Router MikroTik yang akan digunakan sebagai Internet Gateway harus menjalankan NAT (Network Address Translation), yaitu sebuah fungsi yang merubah field Source IP Private dari sebuah packet data menjadi IP Address Publik.

Berdasarkan skenario, untuk menjalankan fungsi NAT bagi keseluruhan host dari jaringan 10.10.10.0/24 untuk semua jenis layanan Internet, maka dapat digunakan perintah sebagai berikut :
[admin@MikroTik] > ip firewall nat add chain=srcnat src-address=10.10.10.0/24 action=masquerade
[admin@MikroTik] > ip firewall nat print
Flags: X – disabled, I – invalid, D – dynamic
0    chain=srcnat action=masquerade src-address=10.10.10.0/24

Dapat juga menggunakan perintah masquerade dengan memilih outgoing interface (dalam hal ini adalah ether1 yang akan digunakan untuk menuju Internet), seperti berikut :
[admin@MikroTik] > ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
Bila menggunakan WinBox, maka konfigurasi dapat dilakukan melalui menu IP > Firewall > NAT >Add
Jika diinginkan jaringan 10.10.10.0/24 hanya dapat mengakses layanan HTTP, maka konfigurasi yang harus digunakan adalah sebagai  berikut :
[admin@MikroTik] > ip firewall nat add chain=srcnat src-address=10.10.10.0/24 protocol=tcp dst-port=80 action=masqurade
[admin@MikroTik] > ip firewall nat print
Flags: X – disabled, I – invalid, D – dynamic
0    chain=srcnat action=masquerade protocol=tcp src-address=10.10.10.0/24 dst-port=80

HTTP merupakan aplikasi yang menggunakan protocol TCP dengan destination port pada server adalah 80
Untuk layanan mail atau Secure HTTP (https), maka konfigurasi tambahan yang harus dilakukan adalah sebagai berikut :
[admin@MikroTik] > ip firewall nat add chain=srcnat src-address=10.10.10.0/24 protocol=tcp dst-port=443 action=masquerade
[admin@MikroTik] > ip firewall nat add chain=srcnat src-address=10.10.10.0/24 protocol=icmp action=masquerade
[admin@MikroTik] > ip firewall nat print
Flags: X – disabled, I – invalid, D – dynamic
 0   chain=srcnat action=masquerade protocol=tcp src-address=10.10.10.0/24 dst-port=80
 1   chain=srcnat action=masquerade protocol=tcp src-address=10.10.10.0/24 dst-port=443
 2   chain=srcnat action=masquerade protocol=icmp src-address=10.10.10.0/24

Bila terdapat bebarapa rule, maka Mikrotik akan mengeksekusi rule-rule tersebut dengan prinsip “top to bottom”. Sehingga urutan dari rule sangat berpengaruh terhadap efektifitas rule yang diinginkan.
MikroTik dapat membatasi akses jaringan (routing maupun NAT) berdasarkan waktu (hari dan jam). Misalnya jika ingin memberikan akses HTTP (web) pada jaringan 10.10.10.0/24  hanya pada jam 08.00 – 14.30 untuk hari senin, selasa, rabu, kamis, jumat, sabtu, maka konfigurasi yang dapat digunakan
[admin@Ijc-router] > ip firewall nat add chain=srcnat src-address=10.10.10.0/24 protocol=tcp dst-port=80 action=masquerade time=08:00:00-14:30:00,mon,tue,wed,thu,fri,sat
[admin@Ijc-router] > ip firewall nat print
Flags: X – disabled, I – invalid, D – dynamic
 0   chain=srcnat action=masquerade protocol=tcp src-address=10.10.10.0/24 dst-port=80 time=8h-14h30m,mon,tue,wed,thu,fri,sat

Untuk konfigurasi dengan menggunakan WinBox dapat melalui menu IP > Firewall > NAT > Add >Extra

Filtering
Filter ditujukan untuk menentukan apakah sebuah paket yang ditujukan pada sebuah interface router dapat diizinkan atau tidak. Umumnya ditujukan untuk meningkatkan level keamanan dari Router. Filter tidak digunakan untuk memeriksa paket data yang melewati router. Fungsi firewall untuk memeriksa data yang melewati router dilakukan oleh NAT.
Berikut contoh penerapan filtering pada sisi Interface ether1 yang berhubungan ke Internet. Filtering ini ditujukan untuk menutup port-port yang tidak dibutuhkan, sehingga tingkat keamanan dapat ditingkatkan. Contoh port yang terbuka secara default pada router MikroTik adalah 22 (ssh), 23 (telnet), 20 dan 21 (ftp), 80 (web), 8291 (WinBox).
[admin@Ijc-router] > ip firewall filter add chain=input in-interface=ether1 protocol=tcp dst-port=22 action=drop
[admin@Ijc-router] > ip firewall filter add chain=input in-interface=ether1 protocol=tcp dst-port=23 action=drop
[admin@Ijc-router] > ip firewall filter add chain=input in-interface=ether1 protocol=tcp dst-port=8291 action=drop
[admin@Ijc-router] > ip firewall filter add chain=input in-interface=ether1 protocol=icmp action=drop
[admin@Ijc-router] > ip firewall filter print
Flags: X – disabled, I – invalid, D – dynamic
0    chain=input action=drop protocol=tcp in-interface=ether1 dst-port=22
1    chain=input action=drop protocol=tcp in-interface=ether1 dst-port=23
2    chain=input action=drop protocol=tcp in-interface=ether1 dst-port=8291
3    chain=input action=drop protocol=icmp in-interface=ether1

Jika ada sebuah paket yang akan diizinkan masuk ke interface ether1 (misalnya mengizinkan host dengan IP Address 222.124.222.171), maka perintah yang diberikan adalah perintah dengan action=accept seperti berikut :
[admin@Ijc-router] > ip firewall filter add chain=input in-interface=ether1 protocol=tcp dst-port=22 src-address=222.124.222.171 action=accept

Bila terdapat bebarapa rule, maka Mikrotik akan mengeksekusi rule-rule tersebut dengan prinsip “top to bottom”. Sehingga urutan dari rule sangat berpengaruh terhadap efektifitas rule yang diinginkan.
Sedangkan untuk sisi Interface ether2 yang dihubungkan dengan jaringan lokal, berikut contoh rule filtering yang dapat digunakan :
[admin@Ijc-router] > ip firewall filter add chain=input protocol=tcp dst-port=80 in-interface=ether2 action=accept
[admin@Ijc-router] > ip firewall filter add chain=input protocol=tcp dst-port=22 in-interface=ether2 src-address=10.10.10.2 action=accept
[admin@Ijc-router] > ip firewall filter add chain=input protocol=tcp dst-port=23 in-interface=ether2 src-address=10.10.10.2 action=accept
[admin@Ijc-router] > ip firewall filter add chain=input protocol=tcp dst-port=8291 in-interface=ether2 src=address=10.10.10.2 action=accept
[admin@Ijc-router] > ip firewall filter add chain=input protocol=icmp in-interface=ether2 src=address=10.10.10.1 action=accept
[admin@Ijc-router] > ip firewall filter add chain=input protocol=udp dst-port=53 in-interface=ether2 action=accept
[admin@Ijc-router] > ip firewall filter add chain=input in-interface=ether2 action=drop

Bila terdapat bebarapa rule, maka Mikrotik akan mengeksekusi rule-rule tersebut dengan prinsip “top to bottom”. Sehingga urutan dari rule sangat berpengaruh terhadap efektifitas rule yang diinginkan.

Address List

Fitur Address List pada Firewall MikroTik dapat digunakan untuk mengelompokkan IP Address tertentu. Kelompok IP Address ini nantinya dapat digunakan oleh filter, NAT maupun mangle dari firewall. Address List dapat dibuat secara manual (static) maupun secara otomatis oleh MikroTik.
Contoh perintah untuk mendapatkan hasil Address List (dynamic) dari host yang pernah mengakses MikroTik dengan menggunakan protokol SSH pada interfecae ether2 :
[admin@ijc-router] > ip firewall filter add chain=input in-interface=ether2 protocol=tcp dst-port=22 action=add-src-to-address-list address-list=”akses ssh” 
[admin@ijc-router] > ip firewall address-list print
Flags: X – disabled, D – dynamic
 #   LIST                                                      ADDRESS                       
 0 D akses ssh                                                10.10.10.2                    
Jika ingin menggunakan IP Address pada Address list untuk tidak memberikan akses SSH, maka dapat digunakan filter dengan perintah sebagai berikut :
[admin@ijc-router] > ip firewall filter add chain=input in-interface=ether2 protocol=tcp dst-port=22 action=drop src-address-list=”akses ssh”
[admin@ijc-router] > ip firewall filter print
Flags: X – disabled, I – invalid, D – dynamic
 0   chain=input action=add-src-to-address-list protocol=tcp address-list=akses ssh address-list-timeout=0s in-interface=ether2 dst-port=22
 
 1   chain=input action=drop protocol=tcp src-address-list=akses ssh in-interface=ether2 dst-port=22
Jika ingin membuat Address List secara manual (static), maka dapat digunakan perintah sebagai berikut :
[admin@ijc-router] > ip firewall address-list add address=10.10.10.0/24 list=”akses ssh terlarang”
 
[admin@ijc-router] > ip firewall address-list print
Flags: X – disabled, D – dynamic
 #   LIST                                                        ADDRESS                    
 1   akses ssh terlarang                                       10.10.10.0/24             

Wednesday, December 10, 2014

Graph Simple Queue dengan MRTG(Cacti)

Cara simple untuk menampilkan graph pada mikrotik ke server (Ubuntu 8.10) yang mempunyai fasilitas cacti.
Apabila menggunakan simple queue pada mikrotiknya, maka download file berikut http://www.nixnux.or.id/wp-content/uploads/2008/11/cacti-mikrotik-queue-simple.zip
Apabila menggunakan queue tree pada mikrotiknya, maka download file berikut http://www.nixnux.or.id/wp-content/uploads/2008/11/cacti-mikrotik-queue-tree.zip
Ekstrak file yang sudah didownload tersebut, lalu login ke cacti menggunakan account administrator dan import file yang sudah diekstrak tersebut (Import Templates) kedalam cacti:
# cacti_data_query_mikrotik_simple_queue.xml
# cacti_data_template_mikrotik_simple_queue.xml
# cacti_graph_template_mikrotik_simple_queue.xml
# cacti_host_template_mikrotik_queue.xml
Salin file ipacmikro.xml ke /usr/share/cacti/resource/snmp_queries pada server cacti (path disesuaikan).
Login pada mikrotiknya menggunakan winbox :
– Enable settingan SNMP
– Tambahkan nama community yang akan digunakan di cacti
Login sebagai administrator pada cacti :
– Tambahkan device dan pilih “Mikrotik Queue” pada “Host Template”
– Masukan hostnamenya dan pilih SNMP version 1 lalu masukan nama community mikrotik nya
– Klik tombol “Create Graphs for this Host”
– Pilih “Data Query” yang dibutuhkan, lalu tekan tombol “save”
Selanjutnya cek graphnya deh.
Apabila traffic upload dan download terbalik, maka dapat diubah pada “Graph Management” di cacti.