Linux Router/NAT with 2 connections from same ISP
I have a linux box setup as a router/NAT for my home network to share a single cable modem connection. Everything is working fine but I recently added a 2nd IP address to our service (you can add up to 4 additional IP addresses per modem, each carrying with it 2mb). What I have now is a hub setup between the modem and the linux router and then 2 network cards to handle to 2 DHCP IP addresses assigned by my ISP. I have an additional network card (3 total in the linux router) for my internal network. What I initially want to do is just split up the 2 connections inside my network. I have all static internal IP addresses assigned to my local network machines so I want to tell, for instance, 192.168.1.1-192.168.1.5 to use the first connection and the rest of the nework to use the second connection. This isn't a problem to setup in my firewalls rules using IPTABLES but the problems comes in with the routes i believe. I have the correct rules in my /etc/rc.d/firewall to direct internal traffic as stated above but am having problems with routing rules.
Here are the devices i have setup. From cable modem to linux router i have dev1 and dev2 that pickup IP addresses from the DHCP server of my ISP. Then i have dev0, 192.168.1.1 which is the internal network on my linux router.
Right now, if i ping the outside world (seas.upenn.edu for example) from my linux router box, everything is fine (i am assuming it is, by default using my first connection, eth1). If i try and specify, with the -I flag to use connection 2 (eth2), i cannot get "outside." The following command fails: ping -I eth2 seas.upenn.edu (if i substitute eth1 for eth2, again it works). If I replace the eth2 with the actual address that network card is picking up from my ISP, ping -I 24.xxx.xx.xxx seas.upenn.edu, everything works just fine. So i'm a little confused why it works using the IP address but not the device name? Any help would be greatly appreciated.