Friday, June 12, 2015

Fowarding Dengan Fitur NAT




Ada kalanya server yang ada di jaringan kita perlu bisa diakses dari jaringan publik. Misalnya karena ada karyawan yang bersifat mobile dan harus bisa mengakses data yang ada di server tersebut. Yang kita butuhkan adalah IP publik. Ip publik statis lebih direkomandasikan. Kita bisa saja langsung memasang ip publik ke server kita, maka server tersebut sudah bisa diakses dari internet. Masalahnya adalah bagaimana jika kita hanya memiliki satu ip publik, bagaimana dengan komputer lain yang juga harus terkoneksi dengan internet. Bagaimana juga dengan management keamanan untuk traffic yang menuju ke Server tersebut ?.
Pada mikrotik, kebutuhan tersebut bisa diatasi dengan cara port forwading menggunakan fitur NAT. Agar bandiwidth bisa di manage dan firewall filtering bisa dilakukan, kita tempatkan server dibawah router mikrotik. Artinya, server berada di jaringan lokal, contoh topologi : 

Agar Server bisa diakses dari internet, set fowarding di router mikrotik dengan fitur firewall NAT. Fowarding ini akan membalokkan traffic yang menuju ke IP publik yang terpasang di router menuju ke IP lokal server. Dengan begitu, seolah-olah client dari internet berkomunikasi dengan server meminjam IP public router mikrotik. Langkah pembuatan rule, masuk ke menu IP --> Firewall --> klik tab "NAT", tambahkan rule baru dengan menekan tombol "add" atau tanda "+" berwarna merah.

Sekedar tips, jika tidak yakin dengan port dan protokol yang digunakan oleh server, bisa di kosongkan terlebih dahulu. Dengan begitu, semua traffic akan difoward ke server. Jika NAT sudah berhasil, baru kemudian kita tentukan protokol dan port yang harus di foward ke server. Dengan konfigurasi diatas, rule fowarding sudah selesai. Akan tetapi jika kita memiliki lebih dari satu ip public, kita butuh satu rule lagi. Rule yang difungsikan untuk mengarahkan traffic respon dari server ke jalur yang sama dengan traffic request. Misal request masih dari IP Public A, maka respon dari server juga harus keluar dari IP Public A. Jika ternyata traffic respon keluar dari IP Public B, maka traffic tersebut tidak dikenali oleh cilent yang mencoba mengakses server. Rule yang harus dibuat seperti berikut :

Rule NAT untuk fowarding sudah selesai, jika kita memiliki lebih dari satu server sedangkan kita hanya memiliki satu IP public, kita bisa foward berdasarkan port. Misal untuk server A dapat diakses melalui port 5678, kemudian server B melalui port 8910. Dengan logika tersebut, ketika router menerima koneksi dari port 5678, maka koneksi tadi akan diteruskan ke Server A, begitu juga ketika router menerima koneksi dari port 8910, maka akan diteruskan ke server B. Sekarang coba akses server dari jaringan internet menggunakan ip public yang terpasang di mikrotik.
Hairpin NAT
Kemudian kira - kira bisa tidak server diakses dari jaringan Lokal menggunakan ip public di mikrotik tadi ?. Jawabannya adalah tidak bisa. Kenapa ?
Pada saat diakses dari internet, misal client memiliki IP Public 2.2.2.2, aliran trafficnya akan seperti berikut :

Dari aliran data diatas, ketika Server diakses dari internet data bisa dikirim dengan baik oleh router.
Tetapi lain hal, jika diakses dari jaringan Lokal, misal client memiliki IP Address 192.168.88.2, maka aliran data akan menjadi seperti berikut :

Yang terjadi adalah server langsung mengirim traffic respon langsung ke client tanpa melewati router, karena source address ada dan dikenali di jaringan Server (masih dalam 1 segmen IP). Traffic respon yang dikirim dari server akan ditolak oleh client, karena sebelumnya client me-request ke router mikrotik terlebih dahulu, bukan langsung ke Server. Client hanya mau menerima respon dari ip yang sebelumnya dituju, yakni 202.123.123.123. Nah solusinya adalah dengan menambahkan Rule NAT untuk traffic dari Lokal menuju Server. 

Rule NAT diatas akan mengubah source ip address yang sebelumnya adalah ip komputer client, digantikan dengan ip router Mikrotik ketika data diteruskan dari router Mikrotik ke server. Maka server akan mengirimkan data respon ke router Mikrotik, bukan langsung ke komputer clinet. Dengan rule nat baru tersebut, maka aliran data akan menjadi seperti berikut :

Dengan begitu, client dari jaringan lokal bisa mengakses ke Server dengan IP Public yang terpasang di router Mikrotik. Konfigurasi diatas disebut dengan Hairpin NAT.


sumber: www.mikrotik.co.id

Blokir Website & File Extention Dengan Web Proxy



Sebagai pengguna teknologi informasi, tidak asing bagi kita dengan istilah “proxy”. Secara umum arti dari proxy adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari Internet atau intranet. Dengan kata lain proxy merupakan sebuah media keamanan bagi akses jaringan internet kita.
Terdapat beberapa macam tipe proxy, diantaranya SSL Proxy, Web Proxy, Intercepting Proxy, Reverse Proxy, dll. Setiap tipe proxy memiliki fungsi masing-masing. Nah, kali ini kita akan membahas salah satu proxy yang merupakan fitur dari RouterOS MikroTik, yaitu Web Proxy.

Dalam pembahasan ini kita akan menekankan bagaimana cara melakukan pemblokiran website menggunakan “Web Proxy Access”. Contoh kasus, kita akan memblokir akses internet dari client ke www.playboy.com 


Aktifkan web-proxy
Pertama, aktifkan terlebih dulu service dari web-proxy pada MikroTik dengan pengaturan pad menu IP -> Web Proxy. 
Centang pilihan Enable, dan tentukan pada port berapa proxy bekerja. By default web-proxy akan bekerja pada port 8080.
Sampai langkah ini, web-proxy pada Router Mikrotik sudah aktif sebagai Regular HTTP Proxy. Dengan kata lain jika PC Client ingin menggunakan service proxy ini, maka harus disetting secara manual pada web browser masing-masing client dengan menunjuk ip-mikrotik port 8080.
Agar tidak perlu setting web-browser client satu per satu, ubah web-proxy Mikrotik agar berfungsi sebagai Transparent Proxy. Implementasinya, gunakan fitur NAT untuk membelokan semua traffic browsing HTTP (tcp 80) yang berasal dari client ke fitur internal web-proxy yang sudah diaktifkan sebelumnya.
Untuk membuatnya masuk pada menu IP->Firewall->NAT->Klik “+”.
Selanjutnya, karena semua traffic HTTP dari client sudah masuk ke web-proxy, maka bisa dilakukan manajemen. Salah satunya adalah melakukan blocking akses client ke website tertentu.
Block Website
Untuk melakukan block akses client ke website tertentu dapat dilakukan pada menu Webproxy -> Access
Tambahkan rule web-proxy access baru. Dalam contoh ini, client tidak diperbolehkan akses ke www.playboy.com
Definisikan website yang akan diblock pada parameter dst-host dengan action=deny.
Jika  diperhatikan, penulisan dst-host tidak menggunakan alamat website lengkap akan tetapi menggunakan tanda bintang (*) di depan dan belakang nama/alamat website. Tanda * dimaksudkan sebagai wildcard untuk menggantikan semua karakter. Dengan ditambahkan wildcard, traffic client yang menuju ke website yang URL-nya terdapat kata "playboy" akan diblock.

Coba browsing ke alamat www.playboy.com , maka secara otomatis Web-Proxy MikroTik akan melakukan pemblokiran terhadap website tersebut dan menampilkan pesan error pada browser client.
Block & Redirect Website
Kita juga bisa memodifikasi rule-nya dengan me-redirect ke situs lain. Misalnya ketika ada Client yang mengakses www.playboy.com maka akan langsung dialihkan (redirect) ke www.mikrotik.co.id
Block File extention
Selain bisa melakukan blocking berdasarkan nama domain/URL , web-proxy Mikrotik juga dapat melakukan pemblokiran berdasarkan extention file yang ada pada sebuah halaman web.

Kemampuan ini dapat dimanfaatkan untuk melakukan blocking traffic client yang akan melakukan download untuk extention file tertentu, misal .iso, .exe, .zip, dsb.
Jika blocking URL didefinisikan pada parameter dst-host, pemblokiran file extention dapat didefinisikan pada parameter Path dengan action=deny. Gunakan wildcard (*) untuk menggantikan semua karakter di depan dan belakang file extention.

Sama halnya dengan Firewall Filter, NAT, Simple Queue, dsb, rule web-proxy access akan dibaca secara berurutan mulai dari rule no. 0.

Penyimpanan Cache Proxy
Disamping fungsi filtering, web-proxy juga dapat digunakan untuk penyimpanan object cache. Content pada sebuah website akan disimpan dan diberikan kembali ke client jika ada yang melakukan akses pada object/content yang sama, sehingga tidak perlu langsung mengambil dari internet dan menggunakan bandwidth.

Definisikan kapasitas storage yang digunakan untuk penyimpanan cache pada parameter Max-Cache-Size. Centang opsi Cache-On-Disk agar cache disimpan pada storage Router.

Konsep penyimpanan cache akan lebih baik diterapkan jika Router mempunyai storage tambahan, sehingga cache tidak disimpan pada system disk.

sumber: www.mikrotik.co.id

Thursday, April 2, 2009

BGP-Peer, Memisahkan Routing dan Bandwidth Management

Artikel

BGP-Peer, Memisahkan Routing dan Bandwidth Management

Kategori: Fitur & Penggunaan

Dalam artikel ini, akan dibahas cara untuk melakukan BGP-Peer ke BGP Router Mikrotik Indonesia untuk melakukan pemisahan gateway untuk koneksi internet internasional dan OpenIXP (NICE). Setelah pemisahan koneksi ini dilakukan, selanjutnya akan dibuat queue untuk tiap klien, yang bisa membatasi penggunaan untuk bandwidth internasional dan OpenIXP (NICE).

Beberapa asumsi yang akan dipakai untuk kasus kali ini adalah :

  1. Router memiliki 3 buah interface, yang masing-masing terhubung ke gateway internasional, gateway OpenIXP (NICE), dan ke network klien.
  2. Untuk koneksi ke OpenIXP (NICE), router milik Anda harus memiliki IP publik.
  3. Untuk klien, akan menggunakan IP private, sehingga akan dilakukan NAT (network address translation)
  4. Mikrotik RouterOS Anda menggunakan versi 2.9.39 atau yang lebih baru, dan mengaktifkan paket routing-test

Jika Anda menghadapi kondisi yang tidak sesuai dengan parameter di atas, harus dilakukan penyesuaian.

PENGATURAN DASAR

Diagram network dan konfigurasi IP Address yang digunakan pada contoh ini adalah seperti gambar berikut ini.

Untuk mempermudah pemberian contoh, kami mengupdate nama masing-masing interface sesuai dengan tugasnya masing-masing.

[admin@MikroTik] > /in pr
Flags: X - disabled, D - dynamic, R - running
# NAME TYPE RX-RATE TX-RATE MTU
0 R ether1-intl ether 0 0 1500
1 R ether2-iix ether 0 0 1500
2 R ether3-client ether 0 0 1500

Konfigurasi IP Address sesuai dengan contoh berikut ini. Sesuaikanlah dengan IP Address yang Anda gunakan. Dalam contoh ini, IP Address yang terhubung ke OpenIXP (NICE) menggunakan IP 202.65.113.130/29, terpasang pada interface ether2-iix dan gatewaynya adalah 202.65.113.129. Sedangkan untuk koneksi ke internasional menggunakan IP Address 69.1.1.2/30 pada interface ether1-intl, dengan gateway 69.1.1.1.

Untuk klien, akan menggunakan blok IP 192.168.1.0/24, dan IP Address 192.168.1.1 difungsikan sebagai gateway dan dipasang pada ether3-client. Klien dapat menggunakan IP Address 192.168.1-2 hingga 192.168.1.254 dengan subnet mask 255.255.255.0.

Jangan lupa melakukan konfigurasi DNS server pada router, dan mengaktifkan fitur "allow remote request".

Karena klien menggunakan IP private, maka kita harus melakukan fungsi src-nat untuk kedua jalur gateway.

[admin@MikroTik] > /ip fi nat pr
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat out-interface=ether1-intl action=masquerade
1 chain=srcnat out-interface=ether2-iix action=masquerade

CEK: Pastikan semua konfigurasi telah berfungsi baik. Buatlah default route pada router secara bergantian ke IP gateway OpenIXP (NICE) dan internasional. Lakukanlah ping (baik dari router maupun dari klien) ke luar network Anda secara bergantian.

PENGATURAN BGP-PEER

Pertama-tama, pastikan bahwa Anda menggunakan gateway internasional Anda sebagai default route, dalam contoh ini adalah 69.1.1.1. Kemudian Anda perlu membuat sebuah static route ke mesin BGP Mikrotik Indonesia, yaitu IP 202.65.120.250.

Lalu periksalah apakah Anda bisa melakukan ping ke 202.65.120.250. Periksalah juga dengan traceroute dari router, apakah jalur pencapaian ke IP 202.65.120.250 telah melalui jalur koneksi yang diperuntukkan bagi trafik OpenIXP (NICE), dan bukan melalui jalur internasional.

Kemudian, Anda harus mendaftarkan IP Address Anda di website Mikrotik Indonesia untuk mengaktifkan layanan BGP-Peer ini. Aktivasi bisa dilakukan di halaman ini. IP Address yang bisa Anda daftarkan hanyalah IP Address yang bisa di-ping dari mesin kami, dan juga harus sudah diadvertise di OIXP. Aturan selengkapnya mengenai penggunaan layanan ini bisa dibaca di halaman ini. Setelah Anda mendaftarkan IP Address Anda, jika semua syarat sudah terpenuhi, Anda akan diinformasikan bahwa aktivasi layanan BGP-Peer Anda sudah sukses. Selanjutnya Anda bisa melihat status layanan BGP Anda di halaman ini.

BGP Router Mikrotik Indonesia akan menggunakan IP Address 202.65.120.250 dan AS Number 64888, dan Router Anda akan menjadi BGP Peer dengan menggunakan AS Number 64666.

Berikutnya adalah langkah-langkah yang harus Anda lakukan pada router Anda. Pertama-tama Anda harus membuat beberapa prefix-list untuk BGP ini. Untuk prefix yang akan Anda terima, untuk alasan keamanan dan hematnya agregasi routing, maka Anda perlu melakukan setting untuk menerima hanya prefix 8 hingga 24. Prefix 0 sampai 7, dan 25 sampai 32 akan Anda blok. Prefix ini kita berinama prefix-in. Untuk prefix-in yang accept, harap diperhatikan bahwa Anda perlu menentukan gateway untuk informasi routing ini, yaitu IP gateway OpenIXP (NICE) Anda. Dalam contoh ini adalah 202.65.113.129. Gantilah IP ini sesuai dengan gateway OpenIXP (NICE) Anda.

Sedangkan karena sifat BGP-Peer ini hanya Anda menerima informasi routing saja, di mana Anda tidak dapat melakukan advertisement, maka harus dilakukan blok untuk semua prefix yang dikirimkan, dan kita beri nama prefix-out.

Berikut ini adalah konfigurasi prefix list yang telah dibuat.

Tahap selanjutnya adalah konfigurasi BGP instance. Yang perlu di-set di sini hanyalah AS Number Anda, pada kasus ini kita menggunakan AS Number private, yaitu 64666.

Dan langkah terakhir pada konfigurasi BGP ini adalah konfigurasi peer. AS Number BGP Router Mikrotik Indonesia adalah 64888 dan IP Addressnya adalah 202.65.120.250. Karena kita sulit menentukan berapa hop jarak BGP Router Mikrotik Indonesia dengan Router Anda, maka kita melakukan konfigurasi TTL menjadi 255. Jangan lupa mengatur rule prefix-in dan prefix-out sesuai dengan prefix yang telah kita buat sebelumnya.

Setelah langkah ini, seharusnya BGP Router Mikrotik sudah dapat terkoneksi dengan Router Anda. Koneksi ini ditandai dengan status peer yang menjadi "established" dan akan dicantumkan pula jumlah informasi routing yang diterima. Anda juga bisa mengecek status peer ini dari sisi BGP Router Mikrotik Indonesia dengan melihat pada halaman ini.

Cek pula pada bagian IP Route, seharusnya sudah diterima ribuan informasi routing, dan pastikan bahwa gatewaynya sesuai dengan gateway OpenIXP (NICE) Anda, dan berada pada interface yang benar, dalam contoh ini adalah "ether2-iix".

Jika semua sudah berjalan, pastikan bahwa penggunaan 2 buah gateway ini sudah sukses dengan cara melakukan tracerute dari router ataupun dari laptop ke beberapa IP Address baik yang berada di internasional maupun yang berada di jaringan OpenIXP (NICE).

C:>tracert www.yahoo.com

Tracing route to www.yahoo-ht2.akadns.net
[209.131.36.158]
over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 192.168.1.1
2 1 ms <1 ms <1 ms 69.1.1.1
3 222 ms 223 ms 223 ms 157.130.195.13
4 222 ms 289 ms 222 ms 152.63.54.118
5 226 ms 242 ms ^C

C:>tracert www.cbn.net.id

Tracing route to web.cbn.net.id [210.210.145.202]
over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 192.168.1.1
2 1 ms <1 ms 1 ms 202.65.113.129
3 11 ms 12 ms 127 ms 218.100.27.218
4 21 ms 41 ms 21 ms 218.100.27.165
5 22 ms 24 ms ^C

PENGATURAN BANDWIDTH MANAGEMENT

Setelah semua routing dan BGP Peer berjalan dengan baik, yang perlu kita lakukan sekarang adalah mengkonfigurasi bandwidth management. Untuk contoh ini kita akan menggunakan mangle dan queue tree.

Karena network klien menggunakan IP private, maka kita perlu melakukan connection tracking pada mangle. Pastikan bahwa Anda telah mengaktifkan connection tracking pada router Anda.

Untuk masing-masing trafik, lokal dan internasional, kita membuat sebuah rule mangle connection. Dari connection mark tersebut kemudian kita membuat packet-mark untuk masing-masing trafik.

[admin@MikroTik] > /ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=forward out-interface=ether1-intl
src-address=192.168.1.2 action=mark-connection
new-connection-mark=conn-intl
passthrough=yes

1 chain=forward out-interface=ether2-iix
src-address=192.168.1.2 action=mark-connection
new-connection-mark=conn-nice
passthrough=yes

2 chain=forward connection-mark=conn-intl
action=mark-packet
new-packet-mark=packet-intl passthrough=yes

3 chain=forward connection-mark=conn-nice
action=mark-packet new-packet-mark=packet-nice
passthrough=yes

Untuk setiap klien, Anda harus membuat rule seperti di atas, sesuai dengan IP Address yang digunakan oleh klien.

Langkah berikutnya adalah membuat queue tree rule. Kita akan membutuhkan 4 buah rule, untuk membedakan upstream / downstream untuk koneksi internasional dan lokal.

[admin@MikroTik] > queue tree print
Flags: X - disabled, I - invalid
0 name="intl-down" parent=ether3-client
packet-mark=packet-intl limit-at=0
queue=default priority=8 max-limit=128000
burst-limit=0 burst-threshold=0 burst-time=0s

1 name="intl-up" parent=ether1-intl
packet-mark=packet-intl limit-at=0
queue=default priority=8 max-limit=32000
burst-limit=0 burst-threshold=0 burst-time=0s

2 name="nice-up" parent=ether2-iix
packet-mark=packet-nice limit-at=0
queue=default priority=8 max-limit=256000
burst-limit=0 burst-threshold=0 burst-time=0s

3 name="nice-down" parent=ether3-client
packet-mark=packet-nice limit-at=0
queue=default priority=8 max-limit=1024000
burst-limit=0 burst-threshold=0 burst-time=0s

Besarnya limit-at / max-limit dan burst bisa Anda sesuaikan dengan layanan yang dibeli oleh klien.