It would be illuminating to see what
ifconfig reports about all these (virtual) interfaces. There could be some trouble lurking in the actual configuration of those interfaces, as distinct from what you have written in the config files.
The default route is correct; you can only have one per system, since its purpose is to direct traffic that the machine otherwise does not know how to route. If you want something else (eg, to send traffic destined for a particular subnet out a different interface) you need to install a static route for that net.
If these points do not shed any light on your problem, I recommend using tcpdump to watch what happens when you attempt to use one of the address ranges that "does not work". A good starter command is
Code:
#tcpdump -i any -nn net 66.12.123.0/29
This will capture packets coming from or going to any address in the 66.12.123.0 subnet on any interface. RTFM for details of the multitude of switches and packet-matching options that
tcpdump offers.
BTW, when you change the reported results, that introduces an uncertainty in the diagnosis, because you might have just obscured an actual discrepancy that will lead to a resolution of your problem. Your "security by obscurity" approach doesn't actually do you much good, either, because the bad guys on the Internet are not harvesting IP addresses from blogs like this; they are doing broad coverage searches using botnets to find weakly defended systems.