Mungkin selama ini anda tidak pernah menyadari traffic sebuah server yang mengirimkan data atas permintaan ip klien jika menggunakan dst-nat to proxy itu server akan mengirim ke ip proxy bukan langsung ke ip klien yang telah melakukan permintaan tadi
Jadi kita akan mengalami kesulitan jika ingin membuat rule bypass/limit untuk ip server (port 80) yang dari luar yang telah masuk ke ip proxy
Contohnya ip klien 192.168.100.124 mengirim permintaan ke ip server 119.2.24.66:80 (server4.asixfiles.com) jika memakai dst-nat maka permintaan 119.2.24.66:80 ini akan di mapping ke ip proxy (contohnya 192.168.1.10:8080) sesuai NAT redirect pada mikrotik :
1 | /ip firewall nat |
2 | add action=dst-nat chain=dstnat comment="" disabled=no dst-port=80 protocol=\ |
3 | tcp src-address=192.168.100.0/24 to-addresses=192.168.1.10 to-ports=8080 |
Secara otomatis ip server 119.2.24.66:80 (server4.asixfiles.com) mengirimkan data kepada ip proxynya bukan ke klien langsung karena yang melakukan permintaan adalah ip proxy bukan ip klien dan ip klien baru menerima data dari ip server melalui ip proxynya
Jadi kesimpulannya kita tidak bisa memisahkan ip server ini karena telah masuk ke ip proxy, seandainya kita mau melakukan bypass/limitter server tertentu yang dari port 80 akan mengalami kesulitan.
Dan disinilah kelebihan jika memakai redirect to proxy memakai mark-routing, sebab ip klien bukan lagi di mapping melainkan dikirim langsung ke ip server melalui GATEWAY. jadi systemnya adalah original id’s seolah-olah tidak memakai proxy/mapping untuk permintaan dari ip klien.
Contohnya ip klien melakukan permintaan ke server dan langsung dikirim oleh router melalui GATEWAY dan GATEWAY ini meneruskan ip klien tadi ke ip server baru ip server mengirimkan data atas permintaan ip klien.
Jadi kita mempunyai 2 GATEWAY dalam satu router dong?
Benar.. kita punya 2 GATEWAY satu untuk ke internet dan satu lagi ke proxy sebagai transparent proxynya dan itu dilakukan melalui mark-routing di mikrotik.
Contohnya ip klien melakukan permintaan ke server dan langsung dikirim oleh router melalui GATEWAY dan GATEWAY ini meneruskan ip klien tadi ke ip server baru ip server mengirimkan data atas permintaan ip klien.
Jadi kita mempunyai 2 GATEWAY dalam satu router dong?
Benar.. kita punya 2 GATEWAY satu untuk ke internet dan satu lagi ke proxy sebagai transparent proxynya dan itu dilakukan melalui mark-routing di mikrotik.
contoh mark-routingnya:
1 | /ip firewall mangle |
2 | add action=mark-routing chain=prerouting comment="To Proxy (Expert ONLY!)" \ |
3 | disabled=no dst-port=80 new-routing-mark=proxy passthrough=yes protocol=\ |
4 | tcp src-address=192.168.100.0/24 |
dan untuk route-nya
1 | /ip route |
2 | add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.10 \ |
3 | routing-mark=proxy scope=30 target-scope=10 |
Dan hasilnya seperti pada gambar di bawah ini:
Anda bisa melihat sendiri khan interface PROXY mengirimkan data langsung dari ip server ke ip klien
Permasalahannya bukan sampai disini saja, anda harus mengubah server proxy anda menjadi sebuah GATEWAY biar bisa melakukan forward ke internet dan ke klien (LAN). Dan untuk mesin FreeBSD dan Linux anda harus melakukan beberapa hal seperti berikut:
FreeBSD
tambahkan gateway_enable=”YES” pada “/etc/rc.conf” artinya diubah sebagai gateway
dan bikin autoexec untuk redirect to proxy pada “/etc/rc.local” (kalau tidak ada anda dapat create file baru) dan tambahan command berikut:
ipfw add 100 fwd 192.168.1.10,8080 tcp from any to any 80 recv em0
atau bisa juga membuat bin/.sh pada “/usr/local/etc/rc.d/”
jangan lupa sesuikan ip dan em0 sesuai network anda.
terakhir recompile kernel FreeBSD anda dengan menambahkan
“options IPFIREWALL_FORWARD”
“options IPFIREWALL_DEFAULT_TO_ACCEPT” # ini opsi untuk jaga-jaga kalau macet saja biar tidak ada yg ke blokir karena server ini bukan untuk IP PUBLIK
tambahkan gateway_enable=”YES” pada “/etc/rc.conf” artinya diubah sebagai gateway
dan bikin autoexec untuk redirect to proxy pada “/etc/rc.local” (kalau tidak ada anda dapat create file baru) dan tambahan command berikut:
ipfw add 100 fwd 192.168.1.10,8080 tcp from any to any 80 recv em0
atau bisa juga membuat bin/.sh pada “/usr/local/etc/rc.d/”
jangan lupa sesuikan ip dan em0 sesuai network anda.
terakhir recompile kernel FreeBSD anda dengan menambahkan
“options IPFIREWALL_FORWARD”
“options IPFIREWALL_DEFAULT_TO_ACCEPT” # ini opsi untuk jaga-jaga kalau macet saja biar tidak ada yg ke blokir karena server ini bukan untuk IP PUBLIK
Linux
tentunya harus di install dulu paket ip-tables (silahkan google cara installnya sesuai distro anda)
untuk enable forward edit/tambahkan value net.ipv4.ip_forward = 1 pada “/etc/sysctl.conf”
masquerade menggunakan ip-tables via terminal
tentunya harus di install dulu paket ip-tables (silahkan google cara installnya sesuai distro anda)
untuk enable forward edit/tambahkan value net.ipv4.ip_forward = 1 pada “/etc/sysctl.conf”
masquerade menggunakan ip-tables via terminal
1 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
redirect port menggunakan ip-tables
1 | iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 |
eth0 dan port 8080 sesuaikan dengan network anda.
lalu save dan restart ip-tablesnya
service iptables save
service iptables restart
atau silahkan mencari referensi sendiri sesuai distro masing-masing
lalu save dan restart ip-tablesnya
service iptables save
service iptables restart
atau silahkan mencari referensi sendiri sesuai distro masing-masing
Selamat mencoba!
dan inilah cuplikan bw management yang simple gk pake ribet kalau di lihat juga gak bikin mumet
klik untuk memperbesar gambar
klik untuk memperbesar gambar