Sunday, September 02, 2012

Configure Shorewall ( Load Balance 2 WAN )

Load balance 2 speedy

Berikut configure shorewall yang saya gunakan di warnet tetangga. Menggunakan 2 speedy load balance. Silahkan dimodif sendiri dengan mengganti IP nya dan tentunya sesuai dengan kebutuhan masing2. :)
[root@bamboe bamboe]# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.10.0    0.0.0.0         255.255.255.224 U         0 0          0 eth1
192.168.3.0     0.0.0.0         255.255.255.0   U         0 0          0 eth2
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         192.168.3.1     0.0.0.0         UG        0 0          0 eth2   
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0 
[root@bamboe bamboe]# ifconfig
eth0      Link encap:Ethernet  HWaddr 0E:1A:18:1A:43:AB
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13455243 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11672481 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4023320124 (3.7 GiB)  TX bytes:1307238900 (1.2 GiB)
          Interrupt:22

eth1      Link encap:Ethernet  HWaddr C0:10:18:C0:1F:0F
          inet addr:192.168.10.30  Bcast:192.168.10.31  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25674143 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42677201 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3075383430 (2.8 GiB)  TX bytes:908220376 (866.1 MiB)
          Interrupt:23

eth2      Link encap:Ethernet  HWaddr 00:19:66:B3:13:A5
          inet addr:192.168.3.30  Bcast:192.168.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21226910 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17500611 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1770810300 (1.6 GiB)  TX bytes:1653053011 (1.5 GiB)
          Interrupt:27

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15485 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15485 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1475507 (1.4 MiB)  TX bytes:1475507 (1.4 MiB)
[root@bamboe shorewall]# cat zones
###############################################################################
#ZONE   TYPE            OPTIONS         IN                      OUT
#                                       OPTIONS                 OPTIONS
net     ipv4
loc     ipv4
fw      firewall
#LAST LINE -- DO NOT REMOVE
[root@bamboe shorewall]# cat interfaces
###############################################################################
#ZONE   INTERFACE       BROADCAST       OPTIONS
net     eth2    detect
net     eth0    detect
loc     eth1    detect
#LAST LINE -- DO NOT REMOVE
 [root@bamboe shorewall]# cat masq
###############################################################################
#INTERFACE              SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK    USER/
#                                                                                       GROUP
eth0    192.168.3.30    192.168.1.30
eth0    eth1    192.168.1.30
eth2    192.168.1.30    192.168.3.30
eth2    eth1    192.168.3.30
#LAST LINE -- DO NOT REMOVE
 [root@bamboe shorewall]# cat policy
###############################################################################
#SOURCE DEST    POLICY          LOG     LIMIT:          CONNLIMIT:
#                               LEVEL   BURST           MASK
loc     fw      ACCEPT
fw      loc     ACCEPT
fw      net     ACCEPT
net     net     DROP
net     all     DROP    info
all     all     REJECT  info
#LAST LINE -- DO NOT REMOVE
[root@bamboe etc]# cat shorewall/nat
###############################################################################
#EXTERNAL       INTERFACE       INTERNAL        ALL             LOCAL
#                                               INTERFACES
 ###nat, tujuannya untuk remote aplikasi yang ada di IP lokal, dari internet. (lihat rules, ## dan article tentang forwarding Ip public speedy)

192.168.3.32    eth2    192.168.10.25   no      no
192.168.3.31    eth2    192.168.10.20   no      no
#LAST LINE -- DO NOT REMOVE
[root@bamboe shorewall]# cat rules
####################################################################################################################################################
#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK    CONNLIMIT       TIME
#                                                       PORT    PORT(S)         DEST            LIMIT           GROUP
#SECTION ESTABLISHED
#SECTION RELATED
INCLUDE rules.drakx
#Ip computer yang boleh akses semuanya,
ACCEPT          loc:192.168.10.20,192.168.10.25         net     -       -
#akses router ini dari Ip luar untuk remote
ACCEPT          net:125.167.xxx.xxx,125.167.xx.xxx,125.167.xxx.xxx,118.9x.xxx.xxx/xx      fw      tcp     22,80,443       -
#reject computer client supaya ndak bisa akses ke ip lan dan public modemnya speedy
REJECT          loc     net:192.168.1.1 -       -
REJECT          loc     net:110.1xx.xxx.xxx     -       -
REJECT          loc     net:192.168.3.1 -       -
REJECT          loc     net:180.2xx.xxx.xxx      -       -
#kemudian client accept ke semuanya
ACCEPT          loc     net     -       -
#ini agar webserver yang dibuat di LAN bisa diakses dari luar (di modem speedynya juga sudah dinat kan )
DNAT            net     loc:192.168.10.25       tcp     80      -       192.168.3.32
#dan beberapa aplikasi bisa diakses / diremote dari luar, khusus untuk ip tertentu saja. (di modem speedynya juga sudah dinat kan )
DNAT            net:125.167.xxx.xxx,125.1xx.xxx.xxx       loc:192.168.10.25       tcp     80,443,5901     -       192.168.3.32
DNAT            net:125.167.xxx.xxx,125.1xx.xxx.xxx       loc:192.168.10.20       tcp     3389,5900,5800  -       192.168.3.31
#transparent proxy
REDIRECT        loc     3127    tcp     www     -

#LAST LINE -- DO NOT REMOVE
[root@bamboe shorewall]# cat providers
############################################################################################
#NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS         COPY
## load balance speedy
speedy1 1       1       main    eth2    192.168.3.1     track,balance   eth1
speedy2 2       2       main    eth0    192.168.1.1     track,balance   eth1
[root@bamboe shorewall]# cat route_rules
##############################################################################
#SOURCE                 DEST                    PROVIDER        PRIORITY
### Option untuk mengalihkan trafik untuk IP tujuan / situs
#eth1                   125.160.xx.xxx/25         speedy2         1000
eth1                    119.110.xxx.xxx        speedy1         1000
eth1                    119.110.xxx.xx      speedy1         1000
eth1                    202.134.xx.xxx         speedy2         1000
#eth1                   192.168.3.1             speedy1         1000
eth1                    -                       speedy1         1000
#LAST LINE -- DO NOT REMOVE
[root@bamboe shorewall]# cat start
## kebetulan OS Linux yang saya gunakan menyebabkan munculnya ip 169.254.0.0/16 pada setiap ethernet.
##ini sangat mengganggu karena shorewall akan error (load balance tidak akan running)
## untuk mendeletenya saya pake opsi ini
ip route delete 169.254.0.0/16 dev eth0
ip route delete 169.254.0.0/16 dev eth1
ip route delete 169.254.0.0/16 dev eth2
INCLUDE /etc/ifw/start
INCLUDE /etc/ifw/rules
iptables -I INPUT 1 -j Ifw
##untuk memark cache proxy
iptables -A OUTPUT -t mangle -m tos --tos 0x04 -j MARK --set-mark 0x4
#script shaping bandwidth
/usr/local/bwbamboe2
Tips. Yang perlu diingat disini, jika salah satu speedy mati, maka akan menjadi lambat, dan sering error saat browsing. Pastinya donk tau penyebabnya, yup benar sekali. Karena kadang-kadang routingnya melalui speedy yang mati. Alihkan trafik ke speedy yang masih bisa, dengan memodif route_rules. Jika menggunakan squid, matikan squid. Cukup dengan mematikan transparentnya dengan memberikan tanda pagar (#) pada baris redirect di file rules-nya. Restart firewallnya.
Setelah speedy yang mati diperbaiki dan kembali UP, kembalikan konfigurasi seperti semula, untuk mendapatkan hasil yang maksimal. ok. sampai disini,... semoga bermanfaat.


No comments:

Post a Comment