Port Forwarding pada Multiple Gateway
Salah satu kebutuhan jaringan adalah akses aplikasi atau perangkat yang ada di jaringan lokal melalui jaringan public. Salah satu metode yang bisa digunakan untuk melakukan konfigurasi ini yaitu dengan menggunakan Port Forwarding atau dalam istilah lain disebut sebagai Port Mapping. Metode ini digunakan biasa karena aplikasi atau perangkat tersebut menggunakan IP Private/Local sehingga kita tidak bisa secara langsung melakukan akses dari jaringan public. Cara yang paling mudah sebenarnya kita bisa memasang IP Public pada aplikasi atau perangkat tersebut dan kita secara langsung bisa melakukan remote atau akses dari jaringan Public.
Mungkin ada beberapa faktor seperti kurangnya alokasi IP Public atau juga penggunaan IP Public Dinamic maka kita bisa menggunakan metode Port Forwarding ini. Untuk metode ini sudah kita bahas pada artikel sebelumnya disini. Pada artikel tersebut sudah dibahas bagaimana cara melakukan konfigurasi Port Forwarding namun dengan satu gateway internet. Lalu bagaimana jika kita mempunyai lebih dari satu gateway internet keduanya bisa kita fungsikan konfigurasi Port Forwardingnya.
Dengan adanya load balance, biasanya akan membuat rule forwarding DST-NAT biasa menjadi tidak optimal. Bisa forwarding menjadi putus - putus, atau bahkan tidak bisa sama sekali. Hal ini dikarenakan dengan adanya 2 koneksi, trafik respon bisa saja dilewatkan melalui jalur yang berbeda dengan trafik request. Akibatnya trafik respon tidak bisa sampai ke tujuan dan koneksi menjadi time out.
Dengan kasus seperti diatas, kita harus membuat supaya jika ada trafik request yang masuk ke dalam salah satu interface public, maka trafik respon akan keluar melalui interface yang sama dengan interface yang digunakan untuk masuk trafik request. Untuk itu kita harus membuat connection marking dengan menggunakan mangle.
Pertama, buat mark connection pada chain=prerouting untuk masing-masing traffic masuk dari tiap ISP, dengan mendefinisikan in-interface. Contoh :
Rule connection-mark ISP1
/ip firewall mangle
add chain=prerouting in-interface=ether-ISP1 connection-mark=no-mark action=mark-connection new-connection-mark=ISP1_conn
Rule connection-mark ISP2
add chain=prerouting in-interface=ether-ISP1 connection-mark=no-mark action=mark-connection new-connection-mark=ISP1_conn
Rule connection-mark ISP2
/ip firewall mangle
add chain=prerouting in-interface=ether-ISP2 connection-mark=no-mark action=mark-connection new-connection-mark=ISP2_conn
add chain=prerouting in-interface=ether-ISP2 connection-mark=no-mark action=mark-connection new-connection-mark=ISP2_conn
Langkah kedua, dari mark-conn tersebut, kemudian create mark-routing pada chain=output. Ini juga akan membantu agar Router dapat diakses dari internet.
Rule mark-route ISP1
/ip firewall mangle
add chain=output connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1
add chain=output connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1
Rule mark-route ISP2
/ip firewall mangle add chain=output connection-mark=ISP2_conn action=mark-routing new-routing-mark=to_ISP2
Setelah mangle selesai dibuat, selanjutnya tambahkan rule routing baru yang digunakan untuk memetakan mark-route sesuai gateway masing - masing.
Rule Routing
/ip route
add distance=1 gateway=1.1.1.1 routing-mark="to_ISP1"
add distance=1 gateway=2.2.2.2 routing-mark="to_ISP2"
add distance=1 gateway=1.1.1.1 routing-mark="to_ISP1"
add distance=1 gateway=2.2.2.2 routing-mark="to_ISP2"
Dengan asumsi gateway ISP1 adalah 1.1.1.1 dan gateway ISP2 adalah 2.2.2.2. Dengan konfigurasi diatas, maka trafik yang masuk ke suatu interface public, maka trafik respon juga akan dilewatkan di-interface yang sama. Dengan demikian rule forwarding akan dapat berjalan dengan normal.
Sumber: www.sahoobi.com