#!/bin/sh # # /scripts/dualwanrouting.sh # This script is to add dualwan capability on a dual wan"ed linux box. WAN1IP=x.x.x.74 WAN1GW=x.x.x.73 WAN1NET=x.x.x.74\/30 WAN1ETH=eth0 WAN1TABLENAME=NE WAN2IP=x.x.x.20 WAN2GW=x.x.x.21 WAN2NET=.20\/30 WAN2ETH=eth2 WAN2TABLENAME=SW LAN1IP=192.168.20.1 LAN1NET=192.168.20.0\/24 LAN1ETH=eth0 echo "delete the default route" ip route del default echo "Adding routes to default table" ip route add $WAN2NET dev $WAN2ETH src $WAN2IP ip route add $WAN1NET dev $WAN1ETH src $WAN1IP ip route add $LAN1NET dev $LAN1ETH src $LAN1IP ip route add 127.0.0.0/8 dev lo src 127.0.0.1 echo "Setup source IP routing rules for SW (WAN2)" ip rule add from $WAN2IP2 lookup $WAN2TABLENAME ip route add $LAN1NET via $LAN1IP table $WAN2TABLENAME ip route add 0/0 via $WAN2GW table $WAN2TABLENAME echo "Setup source IP routing rules for NE (WAN1)" ip rule add from $WAN1IP lookup $WAN1TABLENAME ip route add $LAN1NET via $LAN1IP table $WAN1TABLENAME ip route add 0/0 via $WAN1GW table $WAN1TABLENAME echo "Balancing the outgoing" ip route add default equalize \ nexthop via $WAN1GW dev $WAN1ETH \ nexthop via $WAN2GW dev $WAN2ETH