I have been getting quite a few e-mails about this and if I have it resolved so sorry for bringing it up from the dead. I do have it working and here is a quick little howto on how I did it.
I followed the steps located in this HOWTO:
http://www.shorewall.net/MultiISP.html but I did do a few things differently
(I definetly recommend shorewall)
I have 2 cable modems
Mediacom and Spencer Municipal Utilities
Spencer Municipal Utilities -> eth0
Mediacom -> eth1
Lan -> eth2
/etc/shorewall/providers
Code:
smu 1 1 main eth0 smu.gateway.address track,balance eth2
mediacom 2 2 main eth1 mediacom.gateway.addresss track,balance eth2
/etc/shorewall/interfaces
Code:
net eth0 detect tcpflags,norfc1918,routefilter,nosmurfs,logmartians
net eth1 detect dhcp,tcpflags,norfc1918,routefilter,nosmurfs,logmartians
loc eth2 detect tcpflags,detectnets,nosmurfs
/etc/shorewall/policy
Code:
#add this line
net net DROP
/etc/shorewall/params
Code:
ETH1_IP=$(find_first_interface_address eth1)
/etc/shorewall/masq
Code:
#INTERFACE SUBNET ADDRESS
eth0 $ETH1_IP smu.interface.ip.address
eth1 smu.interface.ip.address $ETH1_IP
eth0 eth2 smu.interface.ip.address
eth1 eth2 $ETH1_IP
/etc/shorewall/tcrules
Code:
#mark ssh packets to go throught SMU
1:P eth2 0.0.0.0/0 tcp 22
#same for RDP
1:P eth2 0.0.0.0/0 tcp 3389
That should be all that needs to be done. I had to also echo "nameserver public.name.server" > /etc/resolv.conf because mediacom does not have open name servers grrrr
Hope this helps
--John