#!/bin/bash
# Interface da rede local
IF0=eth0
# Interface ADSL 1
IF1=eth1
# Interface ADSL 2
IF2=eth2
# Interface ADSL 3
IF3=eth3
# IP 1
IP1=10.0.1.1
# IP 2
IP2=10.0.2.1
# IP 3
IP3=10.0.3.1
# Gateway 1
P1=10.0.1.254
# Gateway 2
P2=10.0.2.254
# Gateway 3
P3=10.0.3.254
# Rede Local
P0_NET=192.168.10.0
# Rede 1
P1_NET=10.0.1.0
# Rede 2
P2_NET=10.0.2.0
# Rede 3
P3_NET=10.0.3.0
# Apaga a rota padrão
route del default gw 10.0.1.254
ip route add $P1_NET dev $IF1 src $IP1 table ADSL1
ip route add 127.0.0.0/8 dev lo table ADSL1
ip route add $P0_NET dev $IF0 table ADSL1
ip route add default via $P1 table ADSL1
ip route add $P2_NET dev $IF2 src $IP2 table ADSL2
ip route add 127.0.0.0/8 dev lo table ADSL2
ip route add $P0_NET dev $IF0 table ADSL2
ip route add default via $P2 table ADSL2
ip route add $P3_NET dev $IF3 src $IP3 table ADSL3
ip route add 127.0.0.0/8 dev lo table ADSL3
ip route add $P0_NET dev $IF0 table ADSL3
ip route add default via $P3 table ADSL3
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2
ip route add $P3_NET dev $IF3 src $IP3
ip rule add from $IP1 table ADSL1
ip rule add from $IP2 table ADSL2
ip rule add from $IP3 table ADSL3
ip route add default equalize nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1 nexthop via $P3 dev $IF3 weight 1
ip route flush cache