Saturday, 7 January 2017

Lab. 11 Superlab Mikrotik

Assalamualaikum

Pada kali ini saya akan saring mengenai superlab yang saya buat sendiri. Dalam superlab kali ini, akan ada beberapa materi yang nantinya akan dibahas yaitu mengenai :
  1. DHCP Server
  2. DHCP Relay
  3. Web Proxy
  4. Hotspot
  5. Firewall mangle 
  6. Firewall NAT
  7. PPTP Tunnel
  8. VRRP 
  9. Simple Queue
Dan topologi yang akan digunakan yaitu seperti berikut.


Lalu tujuan dari setiap materi tersebut adalah
  1. Mengkoneksikan setiap device ke internet
  2. Membuat jaringan high availability dengan menggunakan VRRP
  3. Meneruskan DHCP yang diberikan oleh router yang tidak terhubung langsung dengan client menggunakan DHCP Relay
  4. Memisahkan traffic HIT dan MISS pada Proxy
  5. Melimit traffic HIT dan MISS dengan Simple Queue
Konfigurasi

Tambahkan ip address pada setiap router yang ada. Untuk R5, tambahkan interface bridge terlebih dahulu untuk menghubungkan dua client yang ada, setelah itu baru tambahkan ip address kepada interface bridge tersebut.
[admin@ISP] > /ip address
add address=1.1.1.1/30 disabled=no interface=ether3 network=1.1.1.0
add address=19.19.19.13/16 disabled=no interface=ether1 network=19.19.0.0
add address=2.2.2.1/30 disabled=no interface=ether2 network=2.2.2.0
[admin@R1] > /ip address
add address=1.1.1.2/30 disabled=no interface=ether1 network=1.1.1.0
add address=4.4.4.1/30 disabled=no interface=ether2 network=4.4.4.0
[admin@R2] > /ip address
add address=2.2.2.2/30 disabled=no interface=ether1 network=2.2.2.0
add address=3.3.3.1/24 disabled=no interface=ether2 network=3.3.3.0
[admin@R3] > /ip address
add address=3.3.3.2/24 disabled=no interface=ether1 network=3.3.3.0
add address=192.168.4.2/24 disabled=no interface=ether2 network=192.168.4.0
[admin@R4] > /ip address
add address=3.3.3.3/24 disabled=no interface=ether1 network=3.3.3.0
add address=192.168.4.3/24 disabled=no interface=ether2 network=192.168.4.0
[admin@R5] > /interface bridge
add name=localbridge
[admin@R5] > /interface bridge port
add bridge=localbridge disabled=no interface=ether2
add bridge=localbridge disabled=no interface=ether3
[admin@R5] > /ip address
add address=192.168.3.1/24 disabled=no interface=localbridge network=192.168.3.0
 Jika sudah, konfigurasi ISP terlebih dahulu agar nantinya setiap client dapat mengakses internet.
[admin@ISP] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
[admin@ISP] > /ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=19.19.19.4
[admin@ISP] > /ip dns
set allow-remote-requests=yes servers=8.8.8.8
 Setelah ikut coba ping google dari router ISP.
[admin@ISP] > ping google.com
HOST                                          SIZE TTL TIME  STATUS                                                                                                        
172.217.27.14                              56  49 186ms
172.217.27.14                              56  49 46ms
    sent=2 received=2 packet-loss=0% min-rtt=46ms avg-rtt=116ms max-rtt=186ms
Jika sudah tambahkan static route pada setiap router untuk menentukan gateway agar nantinya device tersebut terhubung ke internet. Jangan lupa tambahkan firewall nat pada setiap router agar client yang dimiliki setiap router tersebut juga dapat terhubung ke internet.
[admin@R1] > /ip route
add disabled=no gateway=1.1.1.1
[admin@R1] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
[admin@R2] > /ip route
add disabled=no gateway=2.2.2.1
[admin@R2] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
[admin@R3] > /ip route
add disabled=no gateway=3.3.3.1
[admin@R3] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
[admin@R4] > /ip route
add disabled=no gateway=3.3.3.1
[admin@R4] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
[admin@R5] > /ip route
add disabled=no gateway=4.4.4.1 [admin@R5] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ether1
Jika sudah, buat interface PPTP Tunnel agar kedua jaringan local tersebut dapat saling terhubung menggunakan tunnel. Pada kali ini R1 akan menjadi PPTP Server dan R2 akan menjadi PPTP Client.
[admin@R1] > /interface pptp-server server
set enabled=yes
[admin@R1] > /ppp secret
add local-address=20.20.20.1 name=idn password=123 profile=default remote-address=20.20.20.2 service=pptp
[admin@R2] > /interface pptp-client
add add-default-route=yes connect-to=1.1.1.2 disabled=no  name=pptp-out1 password=123 user=idn
Setelah itu cek ip address pada setiap router apakah address tunneling sudah terdaftar atau belum.
 [admin@R1] > ip address pr
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         INTERFACE                              
 0   1.1.1.2/30             1.1.1.0                ether1                        
 1   4.4.4.1/30             4.4.4.0                ether2               
 2 D 20.20.20.1/32      20.20.20.2        <pptp-idn>
[admin@R2] > ip address pr
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         INTERFACE           
 0   2.2.2.2/30             2.2.2.0                ether1       
 1   3.3.3.1/24             3.3.3.0                ether2         
 2 D 20.20.20.2/32     20.20.20.1         pptp-out1
 Jika sudah, tambahkan firewall nat agar nantinya jika jaringan local R1 mengirimkan sebuah packet untuk jaringan local R2, maka packet itu akan dianggap dikirimkan oleh R1 dikarenakan adanya action masquerade pada firewall nat tersebut, dan hal tersebut pun berlaku sebaliknya.
[admin@R1] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=<pptp-idn>
[admin@R2] > /ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pptp-out1
 Jika sudah, tambahkan static route pada setiap router untuk menuju jaringan local yang akan dituju.
[admin@R1] > /ip route
add disabled=no distance=1 dst-address=3.3.3.0/24 gateway=20.20.20.2
add disabled=no distance=1 dst-address=192.168.3.0/24 gateway=4.4.4.2
add disabled=no distance=1 dst-address=192.168.4.0/24 gateway=20.20.20.2
[admin@R2] > /ip route
add disabled=no distance=1 dst-address=4.4.4.0/30 gateway=20.20.20.1
add disabled=no distance=1 dst-address=192.168.3.0/24 gateway=20.20.20.1
add disabled=no distance=1 dst-address=192.168.4.0/24 gateway=3.3.3.4
 [admin@R3] > /ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=3.3.3.1 add disabled=no distance=1 dst-address=192.168.3.0/24 gateway=3.3.3.1
[admin@R4] > /ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=3.3.3.1 add disabled=no distance=1 dst-address=192.168.3.0/24 gateway=3.3.3.1
Dikarenakan R5 merupakan Router yang mendapatkan IP DHCP dari R1, maka konfigurasi DHCP terlebih dahulu pada R1. Buat juga DHCP Server untuk jaringan local R5.
[admin@R1] > /ip pool
add name=toR5 ranges=4.4.4.2
add name=localR5 ranges=192.168.3.2-192.168.3.254
[admin@R1] > /ip dhcp-server
add address-pool=toR5 disabled=no interface=ether2 lease-time=3d name=dhcp1
add address-pool=localR5 disabled=no interface=ether2 lease-time=3d name=dhcp2 relay=192.168.3.1
[admin@R1] > /ip dhcp-server network
add address=4.4.4.0/30 gateway=4.4.4.1
add address=192.168.3.0/24 gateway=192.168.3.1
 [admin@R5] > /ip dhcp-client
add add-default-route=yes default-route-distance=1 disabled=no interface=ether1 use-peer-dns=yes use-peer-ntp=yes
Lalu pastikan R5 sudah mendapatkan ip address dari R1.
 [admin@R5] > ip address pr
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         INTERFACE                        
 0   192.168.3.1/24    192.168.3.0        localbridge                  
 1 D 4.4.4.2/30           4.4.4.0                 ether1  
Jika sudah, tambahkan juga konfigurasi DHCP Relay agar jaringan local medapat ip DHCP dari R1.
[admin@R5] > /ip dhcp-relay
add dhcp-server=4.4.4.1 disabled=no interface=localbridge local-address=192.168.3.1 name=localdhcp
Setelah itu konfigurasi static route pada R5. 
[admin@R5] > /ip route
add disabled=no distance=1 dst-address=192.168.4.0/24 gateway=4.4.4.1

 Lalu verifikasi bahwa PPTP Tunnel sudah berjalan dengan cara traceroute dari R5 ke R3.
[admin@R5] > tool traceroute 3.3.3.2
 # ADDRESS                                 RT1   RT2   RT3   STATUS         
 1 4.4.4.1                                     157ms 4ms   5ms                 
 2 20.20.20.2                               17ms  8ms   33ms                 
 3 3.3.3.2                                     11ms  35ms  11ms 
Berdasarkan hasil verifikasi traceroute, hal ini menandakan bahwa jalur yang digunakan untuk menuju jaringan local dari R3 adalah jalur PPTP yang sudah dibuat sebelumnya, dan bukan melalui ISP.

Lanjut ke skenario selanjutnya, yaitu pada R3 dan R4 akan kita gunakan VRRP agar jaringan tersebut menjadi jaringan high avaibility.
 
Jalur yang digunakan dari jaringan local menuju keluar, akan menggunakan VRRP, dan untuk jalur dari luar ke jaringan local dari R3 dan R4, kita akan gunakan konsep fail over.
[admin@R3] > /interface vrrp
add disabled=no interface=ether2 name=vrrp2 priority=2 vrid=20
[admin@R4] > /interface vrrp
add disabled=no interface=ether2 name=vrrp1 priority=1 vrid=20
 Berdasarkan konfigurasi di atas, menandakan bahwa R3 akan menjadi jalur utama dikarenakan memiliki priority yang lebih besar dari R4. Dan sedangkan R1 akan menjadi jalur backup apabila sewaktu waktu jalur pada R3 sedang down. Selanjutnya tambahkan ip address pada interface VRRP agar client dapat menggunakan VRRP dapat dijadikan sebagai gateway oleh client.
[admin@R3] > /ip address
add address=192.168.4.1/24 disabled=no interface=vrrp2 network=192.168.4.0
[admin@R4] > /ip address
add address=192.168.4.1/24 disabled=no interface=vrrp1 network=192.168.4.0
 Jika sudah lakukan verifikasi ping dari client ke address VRRP tersebut. Selanjutnya untuk menggunakan konsep fail over, konfigurasi static route pada R2 menggunakan distance untuk menentukan mana jalur utama dan mana jalur yang digunakan sebagai backup.
[admin@R2] > /ip route
add disabled=no distance=1 dst-address=192.168.4.0/24 gateway=3.3.3.2
add disabled=no distance=2 dst-address=192.168.4.0/24 gateway=3.3.3.3
Jika sudah melakukan konfigurasi pada jaringan local R2, selanjutnya adalah melakukan konfigurasi pada jaringan local R5.


Tambahkan hotspot, proxy, dan mangle.
 [admin@R5] > /ip hotspot profile
add dns-name=login.idn.id hotspot-address=192.168.3.1 html-directory=hotspot login-by=http-chap,https name=hsprof1ssl-certificate=none
[admin@R5] > /ip hotspot
add address-pool=hs-pool-9 disabled=no idle-timeout=5m interface=localbridge name=hotspot1 profile=hsprof1
[admin@R5] > /ip hotspot user
add disabled=no name=idn password=123 profile=default
 Maka ketika melakukan percobaan pada client, ketika kita akan mengakses sebuah situs, maka diharuskan untuk login terlebih dahulu agar client mendapatkan akses ke internet.



Setelah itu lanjut ke skenario selanjutnya yaitu web proxy. Lakukan konfigurasi terlebih dahulu pada router untuk mengaktifkan proxy.
[admin@R5] > /ip proxy
set always-from-cache=yes cache-administrator=rafi.mcqueen95@gmail.com cache-hit-dscp=3 cache-on-disk=yes enabled=yes max-cache-size=unlimited port=8080
Setelah itu tambahkan rule pada R5 agar setiap traffic untuk mengakses port 80 yang direquest oleh client akan di simpan oleh R5. Hal ini dinamakan dengan transparent proxy dimana router akan menggunakan nat sebagai perantara untuk mendapatkan cache dari sebuah website, dan bukan hanya sekedar proxy yang didapatkan ketika sebuah client melakukan konfigurasi terlebih dahulu pada browser yang dimilikinya. Router akan redirect traffic dari port 80 menuju port 8080 yang merupakan port dari proxy router tersebut.
 [admin@R5] > /ip firewall nat
add action=redirect chain=dstnat disabled=no dst-port=80 protocol=tcp to-ports=8080
Dikarenakan proxy yang dimiliki oleh router tersebut bersifat terbuka, atau dalam artian dapat digunakan oleh jaringan lain selain jaringan lokal yang dimilikinya, maka tambahkan firewall filter untuk drop packet client yang ingin menggunakan port 8080 yang berasal dari luar jaringan lokal yang dimilikinya.
[admin@R5] > /ip firewall filter
add action=drop chain=input disabled=no dst-port=8080 in-interface=ether1 protocol=tcp
Jika sudah coba akses internet yang berasal dari client, lalu lihat cache-contents yang ada pada proxy.



Maka akan muncul cache yang berasal dari situs yang kita akses dan langsung masuk ke cache-contents yang dimiliki sebuah router. Setelah itu kita akan tambahkan firewall mangle pada R5 untuk memisahkan traffic HIT dan MISS.

HIT sendiri merupakan sebuah proses dimana sebuah router akan memberikan cache yang sudah dimiliki oleh router. Jadi apabila sebuah client mengirimkan request untuk menuju sebuah website yang sudah tersimpan cachenya di dalam router, maka router tersebut akan memberikan cache yang dimilikinya tersebut kepada client.

Sedangkan MISS, merupakan sebuah proses dimana sebuah router akan menyimpan cache yang ada pada sebuah website. Jadi router akan mendownload terlebih dahulu cache yang ada pada sebuah website, sebelum ia kirimkan kepada client.
[admin@R5] > /ip firewall mangle
add action=mark-packet chain=output comment=HIT disabled=no dscp=3 new-packet-mark=HIT out-interface=localbridge passthrough=no
add action=mark-packet chain=output comment=MISS disabled=no dscp=!3 new-packet-mark=packet-client out-interface=localbridge passthrough=no
add action=mark-packet chain=prerouting comment=Packet-Client disabled=no new-packet-mark=packet-client passthrough=no
 Pada konfigurasi di atas, terlihat perintah DSCP. Jika dilihat pada konfigurasi proxy juga terlihat DSCP. DCSP digunakan sebagai marking, jadi pada penggunaan firewall mangle pada proxy, digunakan sebagai marking setiap packet yang akan melewati ataupun dikirimkan router tersebut. Pada packet mark HIT, konfigurasi DSCP=3 sebagai penandaan bahwa packet yang nantinya akan di mark oleh mangle adalah packet yang memiliki label DSCP dengan nilai 3. Maka firewall mangle hanya akan marking packet yang memiliki DSCP 3 yaitu DSCP yang dimiliki oleh proxy R5.

Sedangan pada packet mark MISS, konfigurasi DSCP=!3 sebagai penandaan bahwa packet yang nantinya akan di mark oleh mangle adalah packet yang memiliki DSCP selain 3. Jadi setiap packet yang akan berasal dari luar untuk dimasukkan kedalam proxy, merupakan packet yang memiliki DSCP selain 3.

Selanjutnya lakukan verifikasi terhadap packet yang sudah di mark.


Berdasarkan verifikasi di atas, router sudah menyimpan cache yang berasal dari luar sebanyak 3 Mb, dan baru memberikan 968 B cache yang dimilikinya kepada client.

Setelah itu tambahkan simple queue untuk melimit traffic HIT dan MISS.
[admin@R5] > /queue simple
add disabled=no interface=all max-limit=64k/64k name=MISS-Queue packet-marks=packet-client target-addresses=192.168.3.0/24
add disabled=no interface=all max-limit=0/0 name=HIT-Queue packet-marks=HIT target-addresses=192.168.3.0/24
Maka traffic MISS yang akan disimpan oleh router akan dilimit dengan kecepatan 64Kbps dan sedangkan traffic HIT yang akan diberikan oleh client tidak memiliki limit. 

Share this