odd traceroute problem

mindless

Senior member
Oct 9, 1999
661
0
0
Ive got my Linux box sharing my dialup connection to my Win2k box. I can traceroute fine from my Win2k box, but from Linux it times out on the first hop and each sequential hop. I flushed my IPCHAINS rules just in case that was somehow effecting it, however that had no effect, other than disabling connection sharing. I do not believe it is a Linux problem because if I boot into Win2k and try a trace it crashes the DOS box and takes down Win2k in about 5 minutes. I tried multiple ISP's but had the same results with them. I am at a loss as to what could be causing this. Here is partial traceroutes from each machine:

1 <10 ms <10 ms <10 ms 192.168.0.1
2 140 ms 140 ms 140 ms lvstl2.popsite.net [216.126.156.3]
3 130 ms 130 ms 140 ms stl1-core1-e0-0.popsite.net [216.126.156.1]
4 160 ms 161 ms 150 ms pal-core1-s3-6.starnetinc.com [209.224.141.113]

1 * * *
2 * * *
3 * * *
4 * * *

Both traceroutes were done to the same IP (216.15.129.2), our primary name server at work.

I can trace back to the IP from an outside source fine as well:

13 pal1-core1-f0-0.starnetusa.net (216.126.145.193) 33.181 ms 33.207 ms 40.265 ms
14 lvstl2.popsite.net (216.126.156.3) 56.326 ms 53.937 ms 55.166 ms
15 lvstl2.popsite.net (216.126.156.3) 55.159 ms 54.449 ms 55.573 ms
16 02-074.030.popsite.net (216.126.156.74) 241.291 ms 378.110 ms 219.320 ms


Any ideas what could be causing this? Its much more convient to run a trace from Linux since I allways have an SSH session open to it.
 

CTR

Senior member
Jun 12, 2000
654
0
0
What about other kinds of network traffic? Does ftp/http/pop3/etc work from your Linux box?
 

mindless

Senior member
Oct 9, 1999
661
0
0
Yeah, Ive never had a single problem accessing anything from it. Only problem Ive ever had was traceroute.
 

Damaged

Diamond Member
Oct 11, 1999
3,020
0
0
Hmmm, interesting. Have you tried traceroute -i <outside interface>. It's possible that you're getting stuck in an internal routing loop. I'd have to see your routing table though. You can also try traceroute -s <source IP> here you would want to specify the outside IP as the source on the outgoing packets.
 

mindless

Senior member
Oct 9, 1999
661
0
0
Ok looks like it will go through if I specify the source address, but not the interface. Heres my traceroutes:

[kevin@fred kevin]$ traceroute -i ppp0 216.15.129.2
traceroute to 216.15.129.2 (216.15.129.2), 30 hops max, 38 byte packets
1 * * *
2 * * *

[kevin@fred kevin]$ traceroute -s 216.126.156.28 216.15.129.2
traceroute to 216.15.129.2 (216.15.129.2) from 216.126.156.28, 30 hops max, 38 byte packets
1 lvstl1.popsite.net (216.126.156.2) 136.050 ms 129.690 ms 129.925 ms
2 stl1-core1-e0-0.popsite.net (216.126.156.1) 139.796 ms 129.859 ms 129.877 ms
3 pal-core1-s3-6.starnetinc.com (209.224.141.113) 149.891 ms 149.844 ms 149.902 ms

And here is my routing table:

[kevin@fred kevin]$ route
Kernel IP routing table
Destination_____Gateway_________Genmask_______Flags_Metric_Ref____Use_Iface
lvstl1.popsite.___*_______________255.255.255.255__UH____0______0_____0___ppp0
192.168.0.0_____*_______________255.255.255.0___U_____0______0______0___eth0
127.0.0.0_______*_______________255.0.0.0_______U_____0______0______0___lo
default_________lvstl1.popsite.____0.0.0.0_________UG____0______0______0___ppp0

edited to make routing table readable
 

Damaged

Diamond Member
Oct 11, 1999
3,020
0
0
Huh. Odd. Here's a quick and dirty little shell script that will do all that for you instead of you having to type it out each time:

!#/bin/sh

extip=`/sbin/ifconfig eth0 | grep 'inet addr' | cut -f2 -d &quot;:&quot; | cut -f1 -d &quot; &quot;`

/usr/sbin/traceroute -s $extip $1

First. Notice that the variable extip is encased in backticks! This is very important as you want the result of the entire statement. :) Second, open up your favorite editor, copy it, save it, and name it whatever you'd like. Now, chmod 750 <filename> to make it exectuable. To make life even easier you can create a bin directory in your home directory then add that to your PATH so you don't have to type bin/<prog name> or ./<prog name> everytime.

Finally I would add a routing statement for your internal network so that requests made to anything on the 192.168.0.0/24 net go through the eth0 interface. To do that you would do something like:

/sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1

This way when your ppp0 link is down, also your default gateway, requests will not attempt to go through there first. You can just add that to the bottom of your /etc/rc.d/rc.local file. Though the location of rc.local varies on distro. That's where it is in an RH system.

Have fun!
 

Damaged

Diamond Member
Oct 11, 1999
3,020
0
0
Huh. That's odd. I was just looking over your routing table again and you don't have a host entry for the eth0 IP. Easily added, I just find it odd.
 

mindless

Senior member
Oct 9, 1999
661
0
0
Thanks for the help Damaged, I do appreciate it.

I had to change your script to pull my modems IP but it works great. :D

Maybe once I can get 2-way cable I won't have this problem, now I just have to wait another month or two for the damn cable co.
 

Damaged

Diamond Member
Oct 11, 1999
3,020
0
0
Your welcome. And doh! I forgot to change the interface name to ppp0. I was verifying it on my machine first. Sorry. :)