Keadaan:
Memakai 2 ISP..
1 Server Linux yg dijadikan router ..
Punya 3 Lan card..
3 IP .. (1 ke modem ISP 1 Wireless IIX , 1 ke Modem ISP 2 AdsL Inter, 1 ke Hub/Switch)
Ip 1 : 202.2.2.2 (Ip dari ISP 1 IIX)
Ip 2 : 203.2.2.2 (Ip dari ISP 2 Inter)
Ip 3: 192.168.0.1 (Menuju Hub Switch)
Dalam keadaan diatas saya ingin membagi 2 antara koneksi games dan koneksi Internet browsing..
[root@router ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
203.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
202.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
0.0.0.0 202.2.2.1 0.0.0.0 UG 0 0 0 eth0
[root@router ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:03:FF:34:5C:EC
inet addr:202.2.2.2 Bcast:202.2.2.255 Mask:255.255.255.0
inet6 addr: fe80::203:ffff:fe34:5cec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:96 errors:0 dropped:0 overruns:0 frame:0
TX packets:147 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12722 (12.4 KiB) TX bytes:8048 (7.8 KiB)
Interrupt:11 Base address:0x6000
eth1 Link encap:Ethernet HWaddr 00:03:FF:37:5C:EC
inet addr:203.2.2.2 Bcast:203.2.2.255 Mask:255.255.255.0
inet6 addr: fe80::203:ffff:fe37:5cec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:207 errors:0 dropped:0 overruns:0 frame:0
TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19322 (18.8 KiB) TX bytes:3196 (3.1 KiB)
Interrupt:11 Base address:0x6000
eth2 Link encap:Ethernet HWaddr 00:03:FF:36:5C:EC
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::203:ffff:fe36:5cec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:574 errors:0 dropped:0 overruns:0 frame:0
TX packets:270 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51762 (50.5 KiB) TX bytes:30191 (29.4 KiB)
Interrupt:11 Base address:0x8000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:105 errors:0 dropped:0 overruns:0 frame:0
TX packets:105 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9449 (9.2 KiB) TX bytes:9449 (9.2 KiB)
[root@router ~]# route add default gw 203.2.2.1 netmask 0.0.0.0 dev eth1
[root@router ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 203.2.2.1 255.255.255.0 UG 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
203.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
202.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
0.0.0.0 203.2.2.1 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 202.2.2.1 0.0.0.0 UG 0 0 0 eth0
[root@router ~]# route add default gw 203.2.2.1 netmask 0.0.0.0 dev eth1
kita lihat table routing berikut
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
itu tidak kita gunakan dan table yang sengaja aku buat salah tadi jadi kita pake perintah
[root@router ~]# route del -net 169.254.0.0 netmask 255.255.0.0 gw 0.0.0.0
[root@router ~]# route del -net 0.0.0.0 netmask 255.255.255.0 gw 203.2.2.1
[root@router ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
203.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
202.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 203.2.2.1 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 202.2.2.1 0.0.0.0 UG 0 0 0 eth0
[root@router ~]#
ok berarti disini kita sudah melihat routing table kita terlihat disana bahwa dari dan tujuan
gateway kita dengan netmask semua netmask kita ikutkan dan itu berarti eth0 dan eth1 sudah terkoneksi ke
isp masing2. coba saja ping ke ip2 gateway itu.
[root@router ~]# ping 202.2.2.1 -c 2
PING 202.2.2.1 (202.2.2.1) 56(84) bytes of data.
64 bytes from 202.2.2.1: icmp_seq=1 ttl=128 time=41.8 ms
64 bytes from 202.2.2.1: icmp_seq=2 ttl=128 time=2.73 ms
— 202.2.2.1 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1007ms
rtt min/avg/max/mdev = 2.734/22.274/41.814/19.540 ms
[root@router ~]# ping 203.2.2.1 -c 2
PING 203.2.2.1 (203.2.2.1) 56(84) bytes of data.
64 bytes from 203.2.2.1: icmp_seq=1 ttl=128 time=0.963 ms
64 bytes from 203.2.2.1: icmp_seq=2 ttl=128 time=0.821 ms
— 203.2.2.1 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.821/0.892/0.963/0.071 ms
[root@router ~]#
ok sekarang kita sudah konek dengan gw kita, sekarang kita beralih ke arah iptables kita
di iptables kita akan masquerade dari kedua ip public kita ke satu tujuan yaitu eth2 dengan ip lokal
192.168.0.1 kita akan masukkan iptables kita di rc.local supaya bisa di load setiap kali pc router kita di nyalakan
===========================================================================================
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
service iptables stop
/sbin/iptables -F
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/route del -net 169.254.0.0 netmask 255.255.0.0 gw 0.0.0.0
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 MASQUERADE
/sbin/iptables -A FORWARD -p tcp –dport 80 -i eth0 -s 192.168.0.1 -j DROP
/sbin/iptables -A FORWARD -p tcp –dport 80 -i eth1 -s 192.168.0.1 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp –dport 0:79 -i eth1 -s 192.168.0.1 -j DROP
/sbin/iptables -A FORWARD -p tcp –dport 80:61000 -i eth1 -s 192.168.0.1 -j DROP
/sbin/iptables -A FORWARD -p tcp –dport 0:79 -i eth0 -s 192.168.0.1 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp –dport 80:61000 -i eth0 -s 192.168.0.1 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp –dport 80 -i eth0 -d 202.2.2.2 -j REJECT
/sbin/iptables -A FORWARD -p tcp –dport 80 -i eth1 -d 203.2.2.2 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.0.1 -d 202.2.2.2 –dport 80 -j DROP
/sbin/iptables -A INPUT -p -s 192.168.0.1 -d 202.2.2.2 –dport 80 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.1 -d 203.2.2.2 –dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p -s 192.168.0.1 -d 203.2.2.2 –dport 80 -j ACCEPT
================================================================================================
[root@router netfilter]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all — 0.0.0.0/0 0.0.0.0/0 MARK match 0x9
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@router netfilter]#
nah setelah itu coba saja kita gunakan jika masih salah kita edit lagi dengan syntac yang sama
tetapi dengan merubah device atau ip dan aturan saja. di iptables ini hanya saya contohkan model iptables
dengan menggunakan metode FORWARD dan metode INPUT bisa kalian edit sendiri sesuai yang kalian mau
atau mempelajari manualnya iptables. dengan contoh di atas penulis sudah uci coba dengan aturan berikut
ip 203.2.2.1 dan 202.2.2.1 menjalankan httpd (80) dan ircd unreal (6660-7000)
dan ketika di ketik netstat terlihat listen dari ip sumber request terlihat.
sekian tutorial ini semoga banyak membantu
tidak lupa saya berterimakasih kepada ALLAH swt atas segala karunia NYA.
http://www.google.com atas info dan arahannya.
http://www.wordpress.com atas space yang di berikan untuk block saya di http://ardantus.co.nr
http://www.co.nr atas domain gratis yang di berikan.
#indolinux@dalnet dan #fedora serta #iptables at freenode.net
semua teman2 yang memberi info dan dorogan moral agar saya selalu belajar.
semuanya thanks!!!
good topic dj.. just what i need
Baris perintah routing di bawah ini :
[root@router ~]# route add default gw 203.2.2.1 netmask 0.0.0.0 dev eth1
kayaknya ditulis 2x (?).
Apa nggak sebaiknya menjadi :
[root@router ~]# route add default gw 202.2.2.1 netmask 0.0.0.0 dev eth0
….. ???
Kalau melihat dr table routing tersebut di atas.
CMIIW, …. lho. 😀
soulSurvivor Says:
Baris perintah routing di bawah ini :
[root@router ~]# route add default gw 203.2.2.1 netmask 0.0.0.0 dev eth1
kayaknya ditulis 2x (?).
Apa nggak sebaiknya menjadi :
[root@router ~]# route add default gw 202.2.2.1 netmask 0.0.0.0 dev eth0
….. ???
Kalau melihat dr table routing tersebut di atas.
CMIIW, …. lho.
…???? default gw nya apa ga 1 aje bos
ex di bsd
route -q add default xxx.xxx.xxx.xxx/xx 203.2.2.1 (international)
route -q add -net xxx.xxx.xxx.xxx/xx 202.2.2.1 (iix) <— di bsd sich gini (di linux /me kurang familiar )
jadinya rajin dikit ampe tangan keriting ng…add ip per net 🙂
pas aku coba kemaren aku add 2 gw karena itu bukan pembagian bw dari 2 isp. tapi hanya 2 ip dari 2 isp yang masuk dengan 2 gw dan aturannya hanya satu boleh http dan satunya tidak but makasih atas comment nya. jika masih ada kesalahan mohon pembenaran dan makasih pula atas sharing ilmunya saya juga masih perlu belajar.
mas saya paek 2 isp yang satu speedy yang satu lagi …net nah ketika saya coba emang bisa tapi routeing nya malah lewat speedy semua sekalipun ke web server isp saya yang satu lagi. yang saya mau tanya apakah bisa / ngak klo di set routernya biar bisa nyari routing yang terdekat
hmm, eh ini bukan balancing lowh. tapi ini memisahkan mana yang ambil http dan bukan dan itu kasus dari orang batam. jika kasusnya load balancing beda lagi yaitu dengan membagi atau which. secara logikanya yaitu jika ada beban 10kb di koneksi pertama maka akan di bagi setengahnya ke koneksi kedua. dan itu memakai which. pernah coba beberapa kali meski pas pertama kali menulis routingnya pasti salah duluan btw coba akan aku tulis disini. beberapa hari ini sekaligus aku coba nantinya saya coba koneksi 2 yaitu indonet dan melsa bandung. btw thanks atas commentnya.jika cari routing terdekat aku belum nyoba tuh.
mas saya udah coba tapi koq gak berhasil yah browsing nya tetep aja ke ISP yang ke satu padahal udah saya pindahin ke ISP yang ke dua ketika saya cek ip di whatismyip.com ternyata masih pake ISP yang ke satu
ada, baiknya mending chating di mirc saja klo mau lebih enak lewat sini tidak akan menyelesaikan masalah. tutorial di atas hanya memisahkan koneksi ke port 80 ke isp a dan port lain ke isp b tidak seperti yang kasusmu. nah lagian secara logika tidak mungkin khan kamu pake 2 isp tapi muncul di whatismyip.com munculnya ipnya 2. tetep satu. sedangkan jika kita membuat loadbalancing dengan 2 koneksi 2 isp ip yang muncul itu tetep ip isp pertama yang kita buat default dan isp satunya hanya mengurangi setengah beban dari koneksi ke isp pertama bukannya memakai 2 koneksi trus munculnya 2 ip juga itu tidak mungkin kurasa. karena di syntax pengaturan load balancing adalah jika koneksi ke isp pertama terjadi maka akan di bagi 2 dan satunya lari ke isp kedua. jadi di kenalnya tetap ip isp default yang pertama. klo mau konsult sama temen2 di #indolinux @dalnet nick aku Dj-avu atau bisa di #awali . gw tunggu disana saya ol setiap hari jam 00-09.00 wib.
Mas, kalau di Windows XP bagaimana caranya? Apakah topologi ini bisa digunakan seperti misalnya :
LAN 1 > Aplikasi Game Online –> ISP 1
LAN 2 > Aplikasi Browser –> ISP 2
LAN 3 > Switch
LAN 4 > Wireless
Maksudnya aplikasi2 pada LAN 1 dan LAN 2 adalah langsung digunakan di Server.
Kemudian Apakah bisa bandwith ISP 1 –> 100% terpakai pada LAN 1 dan ISP 2 –> 100% pada LAN 2.
Terima kasih.
kalau masalah terpakai pasti terpakai. yang di maksud disini khan double routing untuk bantuan saja.
semisal 2 orang klo ngangkat tas satu kiri satu kanan akan terasa lebih ringan daripada 1 orang yang bawa tas tersebut.
Lalu bagaiaman tutorialnya untuk Windows XP ? Oh ya mas, apa saya bisa konsultasi via YM?
bsa bos hanya sabar karnas aya juga punya kegiatan tapi pastinya klo pas ada waktu insyaallah saya bantu. (ardan_tus)
mas kalau satu koneksi di bagi 2 server bisa tidak mas??
yang satu buat server biling warnet..
yang satu buat server pengisian pulsa..
terima kasih sebelumnya
kebanyakan routing bos. mending salah satu ngikut . server pulsa ikut warnet saja gpp toh hanya sebatas h2h dan ym saja khan jadi tidak begitu berat. ngomong2 pake software apa nih? kebetulan saya juga ada server pulsa tuk lokalan daerah sini
Excellent post. Hope to read a lot more great posts in the future.
thanks for you interest of my artikel posted.. i just write what i have do maybe anyone need help can read my artikel.