I have a Linux box running Ubuntu 10.04 with three interfaces:
eth2. I am planning to use it as a WAN router for 4 public subnets assigned by two different ISP's. Here are the subnets (I have converted the ISP assigned subnets to class C private subnets):
ISP 1 WAN 192.168.0.176/30 gateway 192.168.0.177 LAN 192.168.3.192/29 ISP 2 WAN 192.168.6.208/30 gateway 192.168.6.209 LAN 192.168.9.216/29
/30 subnets face respectives ISPs and
/29 subnets face my LAN switch.
This is how IPs are assigned to the interfaces:
LAN interface eth0 192.168.3.193/29 eth0:0 192.168.9.217/29 ISP 1 interface eth1 192.168.0.178/30 ISP 2 interface eth2 192.168.6.210/30
I want to route traffic between respective ISP assigned
/29 subnets separetly. If traffic comes from one ISP's
/30 network, it should be routed to that ISPs
/29 network and visa versa. I don't mind if traffic originated in one ISP's
/29 network destined to the other ISP's
/29 network gets routed in my router (without getting it sent to one ISP and comes back other ISP's link).
My aim is to not to buy two routers for two ISP's. How can I achieve this by using iproute2 tables and policy routing?