Routing 2 ISP(2IP) 1 Server How to

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!!!

17 thoughts on “Routing 2 ISP(2IP) 1 Server How to

  1. 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.

  2. 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

  3. 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s