Re: [LARTC] Traceroute looks good, but packets destined for wrong MAC

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I should go to bed, I was not thinking clear either. :(
Please ignore my previous message :)

Jeffrey W. Baker wrote:

Hello,

I am a newbie at routing configuration and I hope you can help me
understand why something is happening, and how I can reconfigure my
machine to work correctly.  Here is my network setup:

[DSL Router]          [T1 Router]
     |                     |65.198.37.65
[NAT/firewall]             |
     |192.168.168.1        |
     +-----------+---------+
                 |
             [switch]
                 |
                 |
                 +-------[Linux box]
                         192.168.168.200/eth0
                         65.198.37.66/eth0

You can see, I have two IPs of different nets bound to the single
interface in the machine.  My goal is to route connections over both the
DSL and the (fractional) T1, preferring the DSL with a 6:1 ratio.
Here is my configuration so far, which mostly works:

root@xxxxxxxx:/home/jwb# ip route list
65.198.37.64/29 dev eth0  proto kernel  scope link  src 65.198.37.66
192.168.168.0/24 dev eth0  proto kernel  scope link  src 192.168.168.200
127.0.0.0/8 dev lo  scope link
default
	nexthop via 192.168.168.1  dev eth0 weight 6
	nexthop via 65.198.37.65  dev eth0 weight 1

root@xxxxxxxx:/home/jwb# ip route list table 100
192.168.168.0/24 dev eth0  scope link
default via 192.168.168.1 dev eth0

root@xxxxxxxx:/home/jwb# ip route list table 200
65.198.37.64/29 dev eth0  scope link
default via 65.198.37.65 dev eth0

root@xxxxxxxx:/home/jwb# ip addr list
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    link/ether 00:d0:b7:88:23:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.168.200/24 brd 192.168.168.255 scope global eth0
    inet 65.198.37.66/29 scope global eth0:t1

root@xxxxxxxx:/home/jwb# ip ru list
0:	from all lookup local
32764:	from 65.198.37.66 lookup 200
32765:	from 192.168.168.1 lookup 100
32766:	from all lookup main
32767:	from all lookup 253

This mostly works fine, except that a lot of packets are going out over
one link or the other, with the wrong source address.  Also traceroute
shows packets going out over the DSL, which actual TCP SYN packets go out
over the T1 with the wrong address.  Here is an example:

traceroute to appwatch.zdnet.com (216.65.128.201), 30 hops max, 40 byte
packets
 1  w145.z064001233.sjc-ca.dsl.cnc.net (64.1.233.145)
 2  w001.z064001104.sjc-ca.dsl.cnc.net (64.1.104.1)

So the packets should be going out over the DSL.  However, ethereal shows
that when I try to initiate a TCP connection, the packets are headed for
the MAC address of corresponding to the T1 router (65.198.37.65).  Why
would this discrepancy happen?

Regards and thanks in advance for any assistance,
Jeffrey Baker


_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/2.4Routing/








[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux