#!/bin/sh # dual gateway using 3 nic and 4 ips with one alias # isp1 on eth0 # isp2 on eth1 # eth2 = for LAN group1 # eth2:1= for LAN group2 # # Created by mambang 2007 # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin IFCONFIG=/sbin/ifconfig NETWORK=/etc/init.d/networking IP=/sbin/ip IPTABLES=/sbin/iptables NAME="MULTI-GATEWAY" DESC1="ROUTING TABLE" GATEWAY1=192.168.1.1 GATEWAY2=192.168.2.1 NET1=192.168.1.11 #ip eth0 NET2=192.168.2.22 #ip eth1 LAN1=10.0.0.1 #ip LAN1 = eth2 LAN2=176.16.0.1 #ip LAN2 = eth2:1 SUB1=192.168.1.0/24 #sub local SUB2=192.168.2.0/24 #sub local SUB3=10.0.0.0/24 #subnet client LAN1 SUB4=176.16.0.0/24 #subnet client LAN2 DEV1=eth0 DEV2=eth1 DEV3=eth2 DEV4=eth2 #walaupun kita guna eth2:1 tetapi in real world eth2 yg dibaca case "$1" in start) echo -n "Memulakan $DESC1: " echo "0" >/proc/sys/net/ipv4/conf/$DEV1/rp_filter echo "0" >/proc/sys/net/ipv4/conf/$DEV2/rp_filter ip rule add from $NET1 lookup 1 ip route replace default via $GATEWAY1 dev $DEV1 table 1 ip route replace $SUB3 via $LAN1 table 1 ip rule add from $NET2 lookup 2 ip route replace default via $GATEWAY2 dev $DEV2 table 2 ip route replace $SUB4 via $LAN2 table 2 ip route replace default equalize \ nexthop via $GATEWAY1 dev $DEV1 \ nexthop via $GATEWAY22 dev $DEV2 ip route flush cache echo "$NAME" ;; stop) echo "Menghentikan $DESC1 $NAME ... " $IP route flush all $IFCONFIG $NET1 down $IFCONFIG $NET2 down $IFCONFIG $LAN1 down $IFCONFIG $LAN2 down $NETWORK restart echo "Default routing table restored" ;; *) N=/etc/init.d/splitgateway echo "Cara Guna: $N {start|stop}" >&2 exit 1 ;; esac exit 0