Jeffrey W. Baker
2001-May-29 21:12 UTC
Traceroute looks good, but packets destined for wrong MAC
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@windmill:/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@windmill:/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@windmill:/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@windmill:/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@windmill:/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
Jeffrey W. Baker
2001-May-29 21:42 UTC
Re: Traceroute looks good, but packets destined for wrong MAC
Please forgive my crass self-reply, I just noticed my problem: On Tue, 29 May 2001, 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[snip]> root@windmill:/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 100Of course, 192.168.168.1 is not a local IP. Changing this rule to from 192.168.168.200 lookup 200 may have fixed the problem. Please let me know if you spotted any other goofs. Ashamedly yours, Jeffrey Baker
Guy Van Den Bergh
2001-May-29 23:20 UTC
Re: Traceroute looks good, but packets destined for wrong MAC
Hi Jeffrey, First, it would be useful to know what kernel you are running :) And I do not understand what your example is proving. In your example, I cannot see what source address is being used for the traceroute. It only proves the packets for the traceroute are going out through the DSL connection. It does not say anything about source addresses used for the packets leaving your linux box. (See inline comments for the place where I lost you) Regards, Guy 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@windmill:/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@windmill:/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@windmill:/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@windmill:/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@windmill:/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.How do you get to this conclusion??? 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@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/2.4Routing/ > > >
Guy Van Den Bergh
2001-May-29 23:24 UTC
Re: Traceroute looks good, but packets destined for wrong MAC
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@windmill:/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@windmill:/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@windmill:/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@windmill:/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@windmill:/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@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/2.4Routing/ > > >