Anda di halaman 1dari 8

Membuat Server Gateway/Router dengan Mikrotik

INTRODUCING

Disini saya menjelaskan bagaimana cara membuat server router yang paling dasar. Saya
anggap anda sudah mengerti cara menginstall mikrotik pada PC dan sudah bisa terkoneksi ke
mikrotik tersebut (bias anya untuk konfigurasi awal menggunakan MAC Address untuk login ke
winbox) dan mengerti perhitungan jumlah IP menggunakan “/xx”

KONDISI JARINGAN

Mikrotik PC mempunyai 2 ethernet card, 1 untuk ISP 1 lagi untuk jaringan lokal
IP didapat dari provider/ISP 100 .10.15.2/30 dengan gateway 10.100.15.1
IP range yang digunakan untuk jaringan lokal 192.168.0.1/24 (untuk jumlah client sesuka
anda, max 254 client)
Tanpa menggunakan DHCP server (jika ingin menggunakan dhcp, anda bisa lihat tutorialnya di
blog ini)

QUICK START

Tambahkan IP address pada masing -masing interface (contoh: untuk IP dari ISP pada ether1
yaitu 100.10.15.2/30, Untuk IP LAN pada ether2 yaitu 192.168.0.1/24
<< ip lan tersebut akan menjadi gateway masing -masing client dalam setting networknya )

/ip address

ip address add address=100.10.15.2/30 interface=ether1 disabled=no

ip address add address=192.168.0.1/24 interface=ether2 disabled=no

Tambahkan gateway provider dalam ip route

/ip route

add gateway=100.10.15.1

Membuat NAT dalam ip firewall nat

/ip firewall nat

add chain=srcnat action=masquerade disabled=no

Masukan IP DNS yang diberikan oleh ISP (misalkan:100.10.20.1 dan 100.10.20.2)

/ip dns

set primary-dns=100.10.20.1 secondary -dns=100.10.20.2 allow -remote-requests=yes

Sebelum ada setting network pada komputer client anda, test dulu apakah mikrotik anda
terhubung ke internet(ex: menggunakan “ping yahoo.com” pada terminal console)
Load Balancing u/ Warnet Games Online
CASE

Anda mempunyai warnet games online, di warnet anda mempunyai aktifitas pelanggan nya
adalah browsing dan games online. Jika pelanggan anda ada yang browsing atau download,
pelanggan yang bermain games online terganggu (LAG). Mungkin anda punya rencana
memakai 2 ISP dengan tujuan 2 aktifitas itu dibagi koneksinya, 1 untuk browsing 1 lag i untuk
games online.

KONDISI JARINGAN

ISP pertama mempunyai IP 10.10.10.2/30 gateway 10.10.10.1 pada ether1 (untuk koneksi
IIX)
ISP kedua mempunyai IP 20.20.20.2/30 gateway 20.20.20.1 pada ether2 (untuk koneksi
internasional)
Jaringan lokal mempunyai IP 1 92.168.0.0/24 pada ether3

QUICK START

Sebelumnya anda harus mempelajari tutorial Memisahkan Bandwidth Internasional dan IIX
karena saya kembangkan dari tutorial tersebut.

Saya anggap anda sudah membuat paket mark internasional dan IIX dalam ip firewall mangle.

/ip address

add address=10.10.10.2/30 interface=ether1 comment=ISP 1 for IIX disabled=no

add address=20.20.20.2/30 interface=et her2 comment=ISP 2 for Internasional


disabled=no

add address=192.168.0.1/24 interface=ether3 disabled=no

/ip firewall mangle

add chain=prerouting src -address=192.168.0.0/24 dst -address=nice action=mark -


routing new-routing-mark=iix disabled=no comment=Routi ng Mark for IIX

/ip route

add gateway=20.20.20.1

add gateway=10.10.10.1 routing -mark=iix

/ip firewall nat

add chain=srcnat action=masquerade disabled=no

EXPLANATION

Sekarang saya coba jelaskan satu -satu rules diatas


/ip firewall mangle

add chain=prerouting src-address=192.168.0.0/24 dst -address-list=nice


action=mark-routing new-routing-mark=iix disabled=no comment=Routing Mark for
IIX

Rules diatas adalah membuat mark routing dengan nama “iix” untuk koneksi iix, bagaimana
tau itu buat iix? saya menggunakan dst-address-list=nice (paket dari client yang menuju ip
yang terdaftar pada address -list “nice”), bagaimana nice itu bisa ada? pelajari tutorial
Memisahkan Bandwidth Internasional dan IIX disitu ada caranya.

/ip route

add gateway=20.20.20.1

add gateway=10.10.10.1 routing -mark=iix

Kita menggunakan primary gateway 20.20.20.1 yang difungsikan untuk koneksi internasional.
Untuk koneksi IIX menggunakan 10.10.10.1 dengan routing -mark=iix yang sudah kita buat di
ip firewall mangle. Loh kok internasional ga dibuat routing mark juga? karena kita hanya perlu
mark routing untuk iix saja, jika ada paket yang tidak diproses oleh routing -mark “iix” maka
otomatis melewati primary gateway dan itu bisa dibilang koneksi internasional Karena untuk
paket IIX diproses oleh mangle dan rules routing kedua (routing -mark “iix”)

/ip firewall nat

add chain=srcnat action=masquerade disabled=no

Untuk NAT kita buat “masquerade” agar proses Network Address Translation (nat) bekerja
otomatis pada kedua gateway tersebut.

Setting network komputer anda dengan konfigurasi :

IP address : 192.168.0.2
Netmask : 255.255.255.0
Gateway : 192.168.0.1

DNS Server : 192.168.0.1

DONE!
Load Balancing Persistent
Ini contoh versi penyempurnaan dari load balancing. Ini menambahkan user sessions yang
tetap, contoh : group customer 1 anda dengan ip tertentu menggunakan gateway pertama
dan group customer 2 anda dengan ip tertentu mengg unakan gateway kedua. Kasus ini
memudahkan anda jika anda mempunyai 2 ISP dan ingin menggunakan kedua bandwidth ISP
itu secara bersamaan. Mengingat jaringan yang ada seperti ini:

QUICK START

Konfigurasi dari gateway router :

'''/ ip address'''

add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255


interface=Local

add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255


interface=ether2

add address=10.112.0.2/24 network=10.112.0.0 broadcast=10.112.0.255


interface=ether1

'''/ ip firewall mangle'''

add chain=prerouting src -address-list=odd in-interface=Local action=mark -


connection new-connection-mark=odd passthrough=yes

add chain=prerouting src -address-list=odd in-interface=Local action=mark -


routing new-routing-mark=odd passthrough=n o

add chain=prerouting src -address-list=even in-interface=Local action=mark -


connection new-connection-mark=even passthrough=yes

add chain=prerouting src -address-list=even in-interface=Local action=mark -


routing new-routing-mark=even passthrough=no

add chain=prerouting in-interface=Local connection -state=new nth=1,1,0


action=mark-connection new-connection-mark=odd passthrough=yes

add chain=prerouting in -interface=Local action=add -src-to-address-list address-


list=odd address-list-timeout=1d connection -mark=odd passthrough=yes

add chain=prerouting in -interface=Local connection -mark=odd action=mark -routing


new-routing-mark=odd passthrough=no

add chain=prerouting in -interface=Local connection -state=new nth=1,1,1


action=mark-connection new-connection-mark=even passthrough=yes

add chain=prerouting in -interface=Local action=add -src-to-address-list address-


list=even address-list-timeout=1d connection -mark=even passthrough=yes
add chain=prerouting in -interface=Local connection -mark=even action=mark -
routing new-routing-mark=even passthrough=no

'''/ ip firewall nat'''

add chain=srcnat connection -mark=odd action=src-nat to-addresses=10.111.0.2 to -


ports=0-65535

add chain=srcnat connection -mark=even action=src -nat to-addresses=10.112.0.2


to-ports=0-65535

'''/ ip route'''

add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target -scope=10 routing-


mark=odd

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target -scope=10 routing-


mark=even

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target -scope=10

EXPLANATI ON

Pertama saya coba pisahkan code diatas dan menjelaskan satu per satu.

IP Addresses

/ ip address

add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255


interface=Local

add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255


interface=ether2

add address=10.112.0.2/24 network=10.112.0.0 broadcast=10.112.0.255


interface=ether1

Router mempunyai 2 interface upstream (WAN/ISP) dengan IP 10.111.0.2/24 dan


10.112.0.2/24. Interface LAN dinamai “Local” dan dengan IP 192.168.0.1/24.

Mangle

/ ip firewall mangle

add chain=prerouting src -address-list=odd in-interface=Local action=mark -


connection new-connection-mark=odd passthrough=yes
add chain=prerouting src -address-list=odd in-interface=Local action=mark -
routing new-routing-mark=odd

Menandai koneksi (mark connection) dari IP customer group1 yang dimasukan dalam address
list “odd” dan membuat routing mark “odd”.

/ ip firewall mangle

add chain=prerouting src -address-list=even in-interface=Local action=mark -


connection new-connection-mark=even passthrough=yes

add chain=prerouting src -address-list=even in-interface=Local action=mark -


routing new-routing-mark=even

Sama seperti diatas, hanya untuk customer group2 yang ip nya terdaftar dalam address -list
“even” yang ditandai. Mark connection dengan na ma “even” dan Routing Mark dengan nama
“even”

/ ip firewall mangle

add chain=prerouting in -interface=Local connection -state=new nth=1,1,0


action=mark-connection new-connection-mark=odd passthrough=yes

add chain=prerouting in -interface=Local action=add -src-to-address-list address-


list=odd address-list-timeout=1d connection -mark=odd passthrough=yes

add chain=prerouting in -interface=Local connection -mark=odd action=mark -routing


new-routing-mark=odd passthrough=no

Pertama kita ambil setiap detik paket yang dike nal sebagai new session (koneksi baru,
connection-state=new), dan menandai dengan connection mark “odd”. Dengan konsuekensi
semua paket yang diurutkan dalam session yang sama akan dimasukan dalam connection
mark “odd”. Dengan catatan kita melewatkan paket itu dari kedua dan ketiga rules itu
(passthrough=yes). Rule kedua menambahkan ip address client ke address list untuk
membolehkan semua session yang diurutkan ke gateway yg sama. Rule ketiga menempatkan
routing mark “odd” dalam semua paket yang menjadi bag ian koneksi “odd” dan
memberhentikan semua proses mangle yang lain untuk paket itu dalam chain prerouting

/ ip firewall mangle

add chain=prerouting in -interface=Local connection -state=new nth=1,1,1


action=mark-connection new-connection-mark=even passthroug h=yes

add chain=prerouting in -interface=Local action=add -src-to-address-list address-


list=even address-list-timeout=1d connection -mark=even passthrough=yes

add chain=prerouting in -interface=Local connection -mark=even action=mark -


routing new-routing-mark=even passthrough=no

Sama seperti yang diatas. Semua koneksi baru ditandai dengan routing dan connection mark
“even”
Kode diatas berarti secara efektif untuk setiap koneksi baru yang memulai melewati router
dari jaringan lokal akan ditandai di “odd” atau “eve n” dengan routing mark dan connection
mark.

Bagaimanapun ada beberapa kasus jika mungkin anda menemukan IP yg sama terdaftar
dalam src-address-list “odd” dan “even”. Masalah ini bisa timbul dengan aplikasi router yang
membutuhkan koneksi tetap ke gateway t ertentu. Untuk memperbaiki kasus ini tambahkan
rules ini ke mangle anda :

add chain=prerouting in -interface=Local connection -state=new nth=1,1,1 src -


address-list=!odd action=mark -connection new-connection-mark=even
passthrough=yes

Ini akan memastikan ip de ngan koneksi baru tidak exist dalam src -address-list “odd”. Anda
bisa melakukan yang sama untuk mangle “even” yang tidak termasuk yg sudah ada dalam
src-address-list “even”

NAT

/ ip firewall nat

add chain=srcnat connection -mark=odd action=src-nat to-addresses=10.111.0.2 to-


ports=0-65535

add chain=srcnat connection -mark=even action=src -nat to-addresses=10.112.0.2


to-ports=0-65535

Semua trafik yang ditandai “odd” di NAT ke IP address 10.111.0.2, dan yang ditandai “even”
di NAT ke IP Address 10.113.0.2

Routing

/ ip route

add dst-address=0.0.0.0/0 gateway=10.111.0.1 scope=255 target -scope=10 routing-


mark=odd

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target -scope=10 routing-


mark=even

Untuk semua trafik yang ditandai “odd” (jika sudah benar di NAT ke 10.111.0.2) kita gunakan
gateway 10.111.0.1. dan sama juga dengan “even” di route melewati gateway 10.112.0.1

/ ip route

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255 target -scope=10

Trafik tanpa routing mark akan ter arah ke gateway 10.112.0.1

Akhirnya, kita punya tambahan untuk membuat koneksi yang lebih spesifik akan kemana
mereka arahnya
Failover 2 Gateway
Ini contoh yang menjelaskan bagaimana untuk menggunakan beberapa gateway dengan
pengalihan jika gateway pertama putus. Set Distance lebih besar untuk gateway kedua, dan
check-gateway untuk gateway pertama :

/ip route add gateway=192.168.1.1 check -gateway=ping

/ip route add gateway=192.168.2.1 distance=2

Gateway pertama yang akan aktif terlebih dahulu karena mempunyai distance yang terkecil
(default 0); check-gateway akan memastikan gateway tersebut berjalan normal; jika gateway
pertama kembali normal, itu akan mengembalikan gateway ke yang utama