# IPROUTE
ip route flush table T1
ip route flush table T2
echo "FLUSH TABLE CLEARED ..."
ip route add $ADSLNET dev $ADSLIF src $ADSLIP table T1
ip route add default via $ADSLGW table T1
ip route add $GSHDSLNET dev $GSHDSLIF src $GSHDSLIP table T2
ip route add default via $GSHDSLGW table T2
#--ip route add $ADSLNET dev $ADSLIF src $ADSLIP
#--ip route add $GSHDSLNET dev $GSHDSLIF src $GSHDSLIP
#--ip route add default via $GSHDSLGW $GSHDSLIF
ip rule add fwmark 1 table T1
ip rule add fwmark 2 table T2
ip rule add from $ADSLIP table T1
ip rule add from $GSHDSLIP table T2
ip route add $INTNET dev $INTIF table T1
ip route add $GSHDSLNET dev $GSHDSLIF table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add $INTNET dev $INTIF table T2
ip route add $ADSLNET dev $ADSLIF table T2
ip route add 127.0.0.0/8 dev lo table T2
#ip route flush cache
#IPTABLES
echo 1 > /proc/sys/net/ipv4/ip_forward
#$IPTABLES -A FORWARD -s $INTNET -j ACCEPT
#$IPTABLES -t nat -A POSTROUTING -s $INTNET -j MASQUERADE
#$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j DNAT --to $INTIP:3128
#$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t mangle -A OUTPUT -j MARK --set-mark 1
#iptables -t mangle -A OUTPUT -j RETURN
$IPTABLES -A FORWARD -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -j MASQUERADE
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to $INTIP:3128
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t mangle -A PREROUTING -p udp --dport 5004:5082 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -p udp --dport 5004:5082 -j RETURN
iptables -t mangle -A PREROUTING -p udp --dport 10000:11000 -j MARK --set-mark 2
iptables -t mangle -A PREROUTING -p udp --dport 10000:11000 -j RETURN
iptables -t mangle -A PREROUTING -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -j RETURN
pbx:/etc/init.d# ip route show
XX.XX.73.0/29 dev eth1 proto kernel scope link src XX.XX.73.2
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1
192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.15
default via XX.XX.73.1 dev eth1
default via 192.168.2.1 dev eth2
pbx:/etc/init.d# ip rule show
0: from all lookup 255
32762: from XX.XX.73.2 lookup T2
32763: from 192.168.2.15 lookup T1
32764: from all fwmark 0x2 lookup T2
32765: from all fwmark 0x1 lookup T1
32766: from all lookup main
32767: from all lookup default
pbx:/etc/init.d# ip route show table T1
XX.XX.73.0/29 dev eth1 scope link
10.0.0.0/24 dev eth0 scope link
192.168.2.0/24 dev eth2 scope link src 192.168.2.15
127.0.0.0/8 dev lo scope link
default via 192.168.2.1 dev eth2
pbx:/etc/init.d# ip route show table T2
XX.XX.73.0/29 dev eth1 scope link src XX.XX.73.2
10.0.0.0/24 dev eth0 scope link
192.168.2.0/24 dev eth2 scope link
127.0.0.0/8 dev lo scope link
default via XX.XX.73.1 dev eth1