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

Tunnel Trouble on Slackware 13.0

Started by pdrummond, May 30, 2010, 10:26:46 PM

Previous topic - Next topic


I'm having trouble setting up my tunnel on Slackware 13. I don't get any explicit errors, and unless I've overlooked something, there are no particular warning signs. Everything looks good until I try to actually use my connection, and then it's like my packets disappear into the mists.

I am behind a netgear router. My box that has the tunnel has the internal IP of, and is DMZ'd. (I have tried cutting the router out of the loop, but nothing changed.) The script I use to setup is:

ip tunnel add he-ipv6 mode sit remote local ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:1f10:4fe::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

ifconfig output:

eth0      Link encap:Ethernet  HWaddr 00:08:a1:04:37:80
         inet addr:  Bcast:  Mask:
         inet6 addr: fe80::208:a1ff:fe04:3780/64 Scope:Link
         RX packets:688 errors:0 dropped:0 overruns:0 frame:0
         TX packets:543 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:79584 (77.7 KiB)  TX bytes:93408 (91.2 KiB)
         Interrupt:18 Base address:0xd800

he-ipv6   Link encap:UNSPEC  HWaddr C0-A8-00-C8-FF-00-68-65-00-00-00-00-00-00-00-00
         inet6 addr: 2001:470:1f10:4fe::2/64 Scope:Global
         inet6 addr: fe80::c0a8:c8/128 Scope:Link
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:0 (0.0 B)  TX bytes:5984 (5.8 KiB)

Should I be worried about that UNSPEC?

I've tried a few different suggestions I've found on this forum, and the Internet in general, to no avail.

I've emailed HE, and they say everything is good on their end, and that they don't have trouble reaching me. Also, they've confirmed that my setup appears correct. So what gives?



UNSPEC is kind of weird.  Maybe you have to modprobe sit?  Mine looks like this (gentoo linux w/  2.6.32-gentoo-r7):

he6       Link encap:IPv6-in-IPv4 
          inet6 addr: 2001:db8:1234:56::2/64 Scope:Global
          inet6 addr: fe80::42da:357c/128 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1280  Metric:1
          RX packets:7114473 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4510267 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3495262385 (3.2 GiB)  TX bytes:410184415 (391.1 MiB)

I notice that there are no RX packets on your interface.  Are you sure that the proto-41 packets are making it back to your tunnel box?  You may want to do a tcpdump on the eth0 nick and make sure you see the 6in4 traffic.

May also want to check if you are running iptables and see if that's blocking the incoming packets.


UNSPEC may, or may not, be relevant. I have a somewhat similar setup and I have the same problem as the OP. I downloaded a current copy of net-tools (the source for ifconfig) and built the package with IPv6 and tunnels enabled. Afterwards I get the desired "IPv6-in-IPv4" response.


Although you defined an IPv4 tunnel endpoint, I don't see an IPv4 address assigned to your "he-ipv6" interface.

On my colocated server, my base installation is Slackware 13.1 64-bit (with some packages updated to the most current by compiling from source), so there's very little difference in software.  Therefore, your problem must be with the system's configuration -- and assigning an IPv4 address to the tunnel virtual interface is the one thing I did differently as compared to the above.

My ifconfig output:
Quotesit0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet addr:XX.XX.XX.XX Mask:
          inet6 addr: ::XX.XX.XX.XX/96 Scope:Compat
          inet6 addr: 2002:XXXX:XXXX::1/16 Scope:Global
          UP RUNNING NOARP  MTU:1480  Metric:1
          RX packets:184682 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:15463052 (14.7 MiB)  TX bytes:99187579 (94.5 MiB)

sit1      Link encap:UNSPEC  HWaddr XX-XX-XX-FE-FF-FF-00-00-00-00-00-00-00-00-00-00 
          inet addr:XX.XX.XX.XX P-t-P:XX.XX.XX.XX Mask:
          inet6 addr: 2001:470:c:XXXX::2/126 Scope:Global                 (My IPv6 Tunnel Endpoint)
          inet6 addr: fe80::XXXX:XXXX/128 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1480  Metric:1
          RX packets:53578899 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56838236 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:10873952606 (10.1 GiB)  TX bytes:12255869749 (11.4 GiB)
Note the differences (ignoring the "X"s).  The IPv4 address assigned to a virtual interface such as a tunnel endpoint can be the same as assigned to an ethernet address, e.g. in your case.

Note that since you don't assign any global IPv6 address to your ethernet, all packets to and from that machine will carry your tunnel endpoint address.

The "UNSPEC" isn't anything to worry about.  6in4 and 6to4 work for me with it present.


My sit0 in slack 13.1 has nothing assigned.

Only difference between mine and his is that I use a globally routed v4 endpoint for tunnel termination.

 echo -n "Creating tunnel..."
 /sbin/ip tunnel add he-ipv6 mode sit remote local ttl 255
 echo "done."
 echo -n "Setting up tunnel interface he-ipv6..."
 /sbin/ip link set he-ipv6 up
 /sbin/ip addr add 2001:470:7:12::2/64 dev he-ipv6
 /sbin/ip route add ::/0 dev he-ipv6
 echo "done."

It should be noted I used this same config for slack 12.x as well as 13.x