Linux Gives me a Headache

I made the jump to OpenSuSE Linux awhile back when I realize that the only thing I really use the computer for a this point is ripping DVDs, answering IMs, web surfing and e-mail. At one point I had told my brother that “COMPUTER GAMES WERE THE FUTURE”. At the time, PS1 had just come out, Nintendo wasn’t offering anything compelling, and 3DFX owned the 3D market on computers. Back then, a 3D card was less than the price of a gaming system, and we weren’t having the processor pissing contest we have today. Now it’s AMD or Intel, 32bit or 64bit, many different cache sizes and latencies, quadcore tricore dualcore god knows what crap and add Windows XP versus any of the five versions of Vista and the whole thing is an absolute mess.

If it sounds like I’m blaming the advance of technology for the fall of the PC market to the gaming systems, I am.

I realize I could probably turn off my computer, hook a keyboard to the Wii, and spend the rest of my digital days happy. Except I couldn’t rip DVDs. Ah whatever. So linux scratches that itch well for me since I don’t game with the PC anymore. Maybe I play a bit of Full Spectrum Warrior at night, but I think the Wii has the market cornered on the “quick game” thing. I was never into the epic games, which is probably why the PS3 and XBOX360 just don’t ring my bell. It’s an attention span issue.

Where am I going with this… Linux used to just Do The Right Thing. If it didn’t know how to do the right thing, it was pretty good at saying “THIS IS A BAD IDEA, YOU’RE GOING TO DIE BADLY”. Case in point: I have a server here with two NIC Cards. Two different subnets and two different gateways, but they all generally end up in the same place. The old behavior in this configuration was to always answer a packet coming in on eth0 on eth0. Packets coming in on eth1, they get replies from eth1. It worked great because gateways in Linux are done by NIC under the hood. I had a 2.2 kernel box serving up DSL as a proxy for the longest time back at my parents place with this exact configuration. Enter the 2.6.16 kernel – It doesn’t work. By trying to make the network stack more RFC compliant, they made IP agnostic to the hardware, and this doesn’t work anymore. Anyone either have the magic to make this work again (packets need to be replied to over the interface they came in on) or is this now impossible?