ifconfig -a Output Example

192.0.31 (.255.0)         153.90.240 (.255.0)
----------------           ------------
   |                              |
|-----|                        |-----|
|     |153.90.192.200          |     |153.90.192.205
|-----|                        |-----|
   |       153.90.192.0           |
------------------------------------------
                      |
                   |-----|
     153.90.199.217|     |--------------------- external
                   |-----|
                      |
                ------------------------
                  153.90.244 (.255.248)

A host on the network 153.90.192.0 needs 4 routes.

route add 192.0.31 -netmask 255.255.255.0  153.90.192.200
route add 153.90.240 -netmask 255.255.255.0  153.90.192.205
route add 153.90.244 -netmask 255.255.248.0  153.90.192.217
route add default gw 153.90.192.217

However, this will not work because 153.90.240.10 anded with the netmask 255.255.248.0 yields 153.90.240. But anding that same address with 255.255.255.0 also yields 153.90.240, so there are two routes that match. If the subnet masks in a network are not always the same, you have to leave enough space between the subnet address spaces to insure that you don't have a address collision. For example, change 153.90.244.0 to 153.90.224 or any address that doesn't and with 255.255.248.0 to produce 153.90.240.0.

lo   Link encap:Local Loopback  
     inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
     UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
     RX packets:4 errors:0 dropped:0 overruns:0 frame:0
     TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
     Collisions:0 

eth0 Link encap:Ethernet  HWaddr 00:E0:29:36:8B:B5  
     inet addr:153.90.199.4  Bcast:153.90.192.40  Mask:255.255.248.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:113678 errors:0 dropped:0 overruns:0 frame:0
     TX packets:7802 errors:0 dropped:0 overruns:0 carrier:0
     Collisions:433 
     Interrupt:5 Base address:0x1000