From: Paul Jakma (paulj at domain alphyra.ie)
Date: Thu 23 May 2002 - 19:43:06 IST
right..
this didnt make it through as an attachment, so lets try in-line.
Below script sets up rules to look up ISP1 source-addr packets in
table isp1, etc..
then all you do is set a multi hop default route in your main table.
--paulj
#!/bin/bash
# this script sets up ip rules to handle our dual ISP setup (ie make
# sure packets /not/ going to internal - hence going to internet - are
# sent via appropriate ISP)
#isp_nets - describe isps in form:
# tablename,ip-range,realm,gateway
isp_nets="isp1,123.45.67.8/29,isp1-realm,123.45.67.9 \
isp2,1.2.3.4/28,isp2-range,1.2.3.5"
intranets="192.168.0.0/16 10.0.0.0/8 172.16.0.0/12"
intrarealm=mycompany
pref=21000
for prefix in $intranets; do
ip ru add to $prefix table main realm $intrarealm pref $pref ;
pref=$(($pref+100))
done
for net in $isp_nets ; do
table=`echo $net | sed 's/^\(.*\),.*,.*,.*$/\1/'`
prefix=`echo $net | sed 's/^.*,\(.*\),.*,.*$/\1/'`
realm=`echo $net | sed 's/^.*,.*,\(.*\),.*$/\1/'`
gw=`echo $net | sed 's/^.*,.*,.*,\(.*\)$/\1/'`
#echo "$net: prefix: $prefix realm: $realm table: $table gw: $gw"
ip ro add table $table default via $gw
ip ru add to $prefix table main realm $realm pref $pref
pref=$(($pref+100))
ip ru add from $prefix table $table realm $realm pref $pref
pref=$(($pref+100))
done
This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:16:55 GMT