• Welcome to Hurricane Electric's IPv6 Tunnel Broker Forums.

IPv6 traceroute into my network

Started by squiggle, March 19, 2013, 03:20:05 AM

Previous topic - Next topic

squiggle

Starting to get my head around IPv6... For initial testing, I've got a tunnel setup coming into a Raspberry PI running on my LAN.

It's routing my /64 fine, I can ping other IPv6 hosts fine from machines on my LAN using addresses in the /64 network, same in the other direction - I can ping IPv6 addresses beyond my tunnel and router (Raspberry PI).

I've notcied though, if a traceroute to a node behind my tunnel endpoint/router, the traceroute seems to stop there.

[geoff@xenon: ~]# traceroute6 2001:470:XXXX:1175::2000
traceroute to 2001:470:XXXX:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2001:4b98:dc0:43::248 (2001:4b98:dc0:43::248)  1.786 ms  1.855 ms  1.956 ms
p252-core2-d-ip6.paris.gandi.net (2001:4b98:1f::c2d1:241)  0.635 ms  0.686 ms  0.746 ms
20gigabitethernet1-3.core1.ams1.ipv6.he.net (2001:7f8:1::a500:6939:1)  22.858 ms  23.005 ms  22.725 ms
10gigabitethernet2-1.core1.par2.he.net (2001:470:0:1b3::2)  21.909 ms  17.621 ms  17.592 ms
10gigabitethernet3-1.core1.par1.he.net (2001:470:0:1b0::1)  21.860 ms  22.053 ms  22.032 ms
ordns.he.net (2001:470:20::2)  17.162 ms  19.001 ms  21.475 ms
MYTUNNEL-1-pt.tunnel.tserv10.par1.ipv6.he.net (2001:470:XXXX:1175::2)  37.097 ms  39.933 ms  39.368 ms
8  * * *
9  * * *
10  * * *
etc

From my raspberry PI, I can sucessfully ping the other nodes accross my LAN via IPv6.

I did read that "ttl 255" needs setting in /etc/network/interfaces - which was already done.
I've also turned off iptables/ip6tables completely, but didn't help

Can anyone offer any pointers as to why the traceroute traffic might never gets past my endpoint?

Not sure if it makes any difference, but on my LAN, I'm using a stateful config (minimal RA, and dhcp6 to allocate IPv6 addresses)

Thanks


kasperd

#1
Quote from: squiggle on March 19, 2013, 03:20:05 AM[geoff@xenon: ~]# traceroute6 2001:470:XXXX:1175::2000
You made a typo in the IP address. It is supposed to be 2001:470:XXXY:1175::2000 not 2001:470:XXXX:1175::2000. A traceroute to that IP address works for me, when I correct the typo.

Output when I do a traceroute with the typo:$ traceroute6 2001:470:XXXX:1175::2000
traceroute to 2001:470:XXXX:1175::2000 (2001:470:XXXX:1175::2000), 30 hops max, 80 byte packets
1  2a01:d0:839a:babe:735d:77a7:990d:702c  0.140 ms  0.115 ms  0.141 ms
2  2a01:d0:ffff:39a::1  62.735 ms  63.284 ms  65.573 ms
3  2a01:d0:0:1c::19  63.809 ms  55.846 ms  56.227 ms
4  2001:7f8::1b1b:0:1  92.398 ms  93.200 ms  93.157 ms
5  2001:470:0:21b::2  108.711 ms  107.377 ms  107.411 ms
6  2001:470:0:1b0::1  136.252 ms  136.742 ms  136.697 ms
7  2001:470:20::2  138.433 ms  108.698 ms  109.645 ms
8  2001:470:XXXX:1175::2  120.462 ms  121.514 ms  120.529 ms
9  2001:470:20::2  125.679 ms  146.636 ms  147.205 ms
10  2001:470:XXXX:1175::2  162.424 ms  165.965 ms  165.030 ms
11  2001:470:20::2  170.597 ms  148.794 ms  *
12  *  *  *
13  *  *  *
14  *  *  *
15  *  *  2001:470:20::2  189.891 ms
16  *  *  *
17  *  *  *
18  *  *  *
19  2001:470:20::2  230.960 ms  *  *
20  *  *  *
21  2001:470:20::2  259.875 ms  *  *
22  *  *  *
23  2001:470:20::2  283.782 ms  266.605 ms  266.044 ms
24  *  *  *
25  2001:470:20::2  290.244 ms  288.507 ms  292.082 ms
26  *  *  *
27  2001:470:20::2  307.082 ms  305.296 ms  307.803 ms
28  2001:470:XXXX:1175::2  326.500 ms  *  *
29  2001:470:20::2  328.190 ms  329.945 ms  330.874 ms
30  *  *  *
Output when I do a traceroute with the correct address:$ traceroute6 2001:470:XXXY:1175::2000
traceroute to 2001:470:XXXY:1175::2000 (2001:470:XXXY:1175::2000), 30 hops max, 80 byte packets
1  2a01:d0:839a:babe:735d:77a7:990d:702c  0.146 ms  0.114 ms  0.140 ms
2  2a01:d0:ffff:39a::1  60.100 ms  60.149 ms  61.851 ms
3  2a01:d0:0:1c::19  62.388 ms  55.615 ms  55.651 ms
4  2001:7f8::1b1b:0:1  90.427 ms  90.476 ms  88.797 ms
5  2001:470:0:21b::2  103.430 ms  102.946 ms  102.972 ms
6  2001:470:0:1b0::1  97.345 ms  97.389 ms  97.382 ms
7  2001:470:20::2  100.995 ms  104.569 ms  107.478 ms
8  2001:470:XXXX:1175::2  133.136 ms  133.093 ms  133.160 ms
9  2001:470:XXXY:1175::2000  133.173 ms  100.867 ms  101.752 ms

squiggle

That XXXX is me masking my real IP.

Can x exist in an IPv6 address - thought it was hexadecimal only?

kasperd

Quote from: squiggle on March 19, 2013, 05:24:16 AMThat XXXX is me masking my real IP.
Luckily I was able to spot the typo, even though you masked exactly the part where you made the typo. Most forum users wouldn't even try to spot the problem until you provided the full IP address.

squiggle

Ahh I get ya...

My routed /64 is 2001:470:1f13:1175::
But tunnel client/server is on 2001:470:1f12......

I'm not trying to traceroute to the tunnel endpoint

[geoff@xenon: ~]# traceroute6 2001:470:1f13:1175::2000
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2001:4b98:dc0:43::248 (2001:4b98:dc0:43::248)  1.715 ms  1.859 ms  1.963 ms
2  p252-core2-d-ip6.paris.gandi.net (2001:4b98:1f::c2d1:241)  0.743 ms  0.811 ms  1.018 ms
3  20gigabitethernet1-3.core1.ams1.ipv6.he.net (2001:7f8:1::a500:6939:1)  15.645 ms  15.728 ms  15.656 ms
4  10gigabitethernet2-1.core1.par2.he.net (2001:470:0:1b3::2)  13.324 ms  13.319 ms  14.247 ms
5  10gigabitethernet3-1.core1.par1.he.net (2001:470:0:1b0::1)  13.539 ms  14.263 ms  14.286 ms
6  ordns.he.net (2001:470:20::2)  18.221 ms  20.328 ms  23.015 ms
7  squiggle-1-pt.tunnel.tserv10.par1.ipv6.he.net (2001:470:1f12:1175::2)  48.433 ms  46.810 ms  46.438 ms
8  * * *
9  * * *
     etc etc

kasperd

Works for me through plenty of different networks:traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2a01:d0:839a:babe:735d:77a7:990d:702c  0.151 ms  0.115 ms  0.140 ms
2  2001:470:20::2  121.203 ms  124.678 ms  127.047 ms
3  2001:470:1f12:1175::2  147.107 ms  141.458 ms  140.560 ms
4  2001:470:1f13:1175::2000  140.571 ms  150.432 ms  150.450 ms
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2001:470:28:940:5d75:c1f4:e0a0:f8ec  1.028 ms  0.918 ms  1.400 ms
2  2001:470:27:940::1  60.961 ms  66.120 ms  70.505 ms
3  2001:470:0:11e::1  71.095 ms  44.023 ms  48.994 ms
4  2001:470:0:22f::1  83.367 ms  84.041 ms  80.701 ms
5  2001:470:0:1b3::2  97.220 ms  97.280 ms  97.793 ms
6  2001:470:0:1b0::1  88.560 ms  89.220 ms  85.755 ms
7  2001:470:20::2  94.527 ms  79.103 ms  84.048 ms
8  2001:470:1f12:1175::2  107.480 ms  116.480 ms  115.647 ms
9  2001:470:1f13:1175::2000  117.639 ms  102.847 ms  101.614 ms
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2001:470:1f0b:1da2:635a:c32:ae34:df91  0.230 ms  0.132 ms  0.163 ms
2  2001:470:20::2  93.166 ms  95.044 ms  97.632 ms
3  2001:470:1f12:1175::2  118.042 ms  104.733 ms  104.766 ms
4  2001:470:1f13:1175::2000  107.961 ms  107.982 ms  105.382 ms
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2a01:4f8:d16:701:9290:4637:e09a:b380  0.833 ms  9.768 ms  9.849 ms
2  2001:470:20::2  31.660 ms  30.051 ms  42.186 ms
3  2001:470:1f12:1175::2  64.087 ms  42.540 ms  42.661 ms
4  2001:470:1f13:1175::2000  42.170 ms  42.318 ms  41.983 ms
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2a01:d0:839a:babe:735d:77a7:990d:702c  1.760 ms  1.764 ms  1.768 ms
2  2002:d842:542a::1  99.350 ms  99.367 ms  99.371 ms
3  2001:470:1f12:1175::2  118.972 ms  118.990 ms  118.994 ms
4  2001:470:1f13:1175::2000  118.995 ms  118.999 ms  119.001 ms


But I find that it depends on the type of packets being used in the traceroute. Using ICMPv6 echo request:# traceroute6 -n -I 2001:470:1f13:1175::2000
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2a01:d0:839a:babe:735d:77a7:990d:702c  1.738 ms  1.738 ms  1.742 ms
2  2001:470:20::2  79.519 ms  88.301 ms  88.324 ms
3  2001:470:1f12:1175::2  106.456 ms  106.052 ms  106.931 ms
4  2001:470:1f13:1175::2000  107.999 ms  108.494 ms  108.509 ms
And using UDP from the same host:# traceroute6 -n 2001:470:1f13:1175::2000
traceroute to 2001:470:1f13:1175::2000 (2001:470:1f13:1175::2000), 30 hops max, 80 byte packets
1  2a01:d0:839a:babe:735d:77a7:990d:702c  19.310 ms  19.329 ms  19.314 ms
2  2001:470:1f0a:1e45::1  101.105 ms  104.506 ms  107.663 ms
3  2001:470:0:69::1  108.315 ms  109.062 ms  109.053 ms
4  2001:470:0:21b::2  120.678 ms  120.717 ms  120.651 ms
5  2001:470:0:1b0::1  119.734 ms  119.719 ms  119.715 ms
6  2001:470:20::2  120.374 ms  108.837 ms  108.825 ms
7  2001:470:1f12:1175::2  128.999 ms  103.352 ms  104.542 ms
8  * * *
9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
So it looks like either the router or the host itself has a packet filter configured to silently drop UDP packets. Change the packet filter to send an appropriate ICMPv6 error code back when a UDP packet is not accepted, and traceroute should start looking better.

squiggle

Very helpful!

Certainly gives me areas to look into

Thanks for your time!