[TriLUG] Networking question
Aaron S. Joyner
aaron at joyner.ws
Fri Apr 2 09:36:16 EST 2004
I have a similar setup with my main gateway at home, which has two
internet connections. I have accomplished what I think you're trying to
do with the advanced rule and table routing features of "ip" under
Linux. My configuration goes something like this:
eth0 - internal network
eth1 - dedicated DSL to work
eth2 - preferred internet gateway
1.2.3.4 / 18 -- addresses I want to access over eth1
4.3.2.1 -- default gw on eth2
ip route add 1.2.3.4/18 via dev eth1
ip route add default gw 4.3.2.1
ip rule add from (ip of eth1) lookup Table1
ip rule add from (ip of eth2) lookup Table2
ip route add default gw (gw on eth1) table Table1
ip route add default gw 4.3.2.1 table Table2
What this accomplishes is that all traffic not destined for something on
eth1's network will go over eth0. And the Table1 and Table2 mess takes
care of the fact that if someone sends me traffic on an interface, I
want to respond out that interface. Traffic will never naturally flow
out eth1, unless it's destined for something on eth1's network. This is
both a curse, and a blessing. It means fail overs have to happen by
hand (via me changing the gateway by hand). I should probably look into
also using metrics to alleviate that problem, but the fact I've never
had to manually change the gateway because one net or the other was
down, has made me lazy. :)
I was going to include a link or reference suggestion to the
documentation I originally used in learning about ip, but I wasn't
having much luck in finding it quickly. If I do stumble upon it, I'll
post again with that information.
Hope this helps!
Aaron S. Joyner
Stephen Hoffman wrote:
> This is probably a simple question, but I have been unsuccessful in
>finding the solution.
>
>History:
>One machine connected to two networks (with two network cards). Both
>networks get to the internet, but one is connected directly to the
>internet on a T1, the other is NAT'd and shared on a seperate T1, but is
>dreadfully slow.
>
>I want to ensure that I always default to eth0 for internet and only use
>eth1 for requests on the internal network. I didn't think this would be
>any issue, but on occasion I notice that my request hops on the internal
>network for larger downloads at roughly 50K slower speeds.
>
>I have been trying to set the metric on the interface to give preference
>to the faster card, but keep getting an error when I attempt to bring the
>card up passing the metric option. I get the following:
> SIOCSIFMETRIC: Operation not supported (google's no help on this one)
>
>Am I going about this the wrong way? Is there a better way? Would it be
>better to set the metric in the route table? if so, how can I make it
>come up that way automatically?
>
>Any help greatly appreciated!
>
>Steve
>
>
>
More information about the TriLUG
mailing list