I have a server that has two ethernet cards, eth0 (64.94.46.199) and eth1 (66.28.98.52). eth0's ISP has expensive, high quality bandwidth. eth1's ISP has cheap, low quality bandwidth. I have the route set so that by default, all packets will go out through eth1: default via 66.28.98.34 dev eth1 However, I'd like to make it so that when I ssh to 64.94.46.199 (eth0, the expensive high quality ISP), the return traffic will go out through eth0. So, I typed this: $ echo "200 pnap" >> /etc/iproute2/rt_tables $ ip rule add from 64.94.46.199 lookup pnap $ ip route add default via 64.94.47.253 dev eth0 table pnap This correctly makes it route outgoing packets with source IP of 64.94.46.199 through eth0. However, the ping time suddenly goes up a lot on the last hop (you can traceroute 64.94.46.199 and see for yourself). Any idea what I did wrong? I have a hunch that my ISP's router doesn't like some settings in the packets I sent to it and is giving me low priority as a result, but I wouldn't know how to tell if that was the case... (I e-mailed my ISP for help on Tuesday; still waiting.)