when only eth0 is up I can reach my local lan, 192.168.8.0-255, the
lan of another firm, 192.168.3.0-255 and yet another firm,
10.1.0.0-255.
But when I bring up eth1, I can only reach my local lan, and not the
other two anymore.
My guess is that everything other then 192.168.8.0-255 is thought to
be Internet so it tries the eth1 nic. Which will not answer.
Now how do I tell Debian to route all traffic for 192.168.3.0-255
and 10.1.0.0-255 over the eth0 interface?
You probably need to use /sbin/route to tell the machine that there
are routes to 192.168.3.0/24 and 10.1.0.0/24 (/16?) via the gateway
machine on 192.168.8.0/24. This will look something like:
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.8.1
route add -net 10.1.0.0 netmask 255.255.255.0 gw 192.168.8.1
(Just using 'dev eth0' tells route to spew packets for those networks
on to the local network, which isn't what you want.)