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

Help getting Ubuntu 10.04 working behind NAT router

Started by cssuk, September 12, 2010, 06:59:24 AM

Previous topic - Next topic

cssuk

I've spent a couple of hours without success setting up the HE Tunnel using the instructions on the Tunnel Details page.

Running the following commands in Ubuntu 10.04 as root work without error

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.26
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:1f08:e2c::2/64
route -A inet6 add ::/0 dev sit1

I'm connected to the internet using a wireless connection to by intenet router (Netgear WGR614v7) and have set the computer I'm using (192.168.1.40) as the default DMZ host in the routers configuration panel.

Pinging local address works but the other endpoint doesn't

root@ubuntu-pc:/etc/network# ping6 2001:470:1f08:e2c::2
PING 2001:470:1f08:e2c::2(2001:470:1f08:e2c::2) 56 data bytes
64 bytes from 2001:470:1f08:e2c::2: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 2001:470:1f08:e2c::2: icmp_seq=2 ttl=64 time=0.067 ms
64 bytes from 2001:470:1f08:e2c::2: icmp_seq=3 ttl=64 time=0.067 ms
64 bytes from 2001:470:1f08:e2c::2: icmp_seq=4 ttl=64 time=0.068 ms
^C
--- 2001:470:1f08:e2c::2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.048/0.062/0.068/0.011 ms
root@ubuntu-pc:/etc/network# ping6 2001:470:1f08:e2c::1
PING 2001:470:1f08:e2c::1(2001:470:1f08:e2c::1) 56 data bytes
^C
--- 2001:470:1f08:e2c::1 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5039ms


How can I tell whether this is a configuration problem, router problem or ISP problem? Any guidance would be appreciated.

cholzhauer

Quote
and have set the computer I'm using (192.168.1.40) as the default DMZ host in the routers configuration panel.

So I assume this means that your router is passing protocol 41 to your host?

Did you change your public IP address that HE detected to your private one? (192.168.1.40)

cssuk

QuoteSo I assume this means that your router is passing protocol 41 to your host?

I think so. After searching on the internet it seems that to enable protocol 41 to be pass through on some Netgear routers you have to set the computer as the DMZ host. I've done this to try to eliminate router issues.

QuoteDid you change your public IP address that HE detected to your private one? (192.168.1.40)

it is not obvious to me where you think I should change the IP address. Can you give some more details.

The private one (192.168.1.40) is automatically assigned by DHCP from the internet router.

thanks

cholzhauer

Regarding the IP address change

When you setup your tunnel on the HE page, it will automatically detect the IP address you're coming from (a public one) and create the tunnel commands with that IP address in mind.  (say your IP address is 12.34.45.78...HE will use that in the commands it gives to to setup the tunnel  ((ip tunnel add he-ipv6 mode sit remote 209.51.181.2 local 12.34.56.78 ttl 255))  )

Instead of the 12.34.56.78, you need to use your private IP address (192.168.1.40)

cssuk

QuoteInstead of the 12.34.56.78, you need to use your private IP address (192.168.1.40)

I used the "Linux-net-tools" configuration option in the Tunnel Details page which does not seem to have my public IP address in it. Copied below are the details...

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.26
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:1f08:e2c::2/64
route -A inet6 add ::/0 dev sit1


Should the public/private IP be in there above somewhere? Is it preferable to use the "Linux-route2" configuration instead?

cholzhauer

To be honest, I don't know what the difference is.  I tried looking through the forums, but didn't see anything.

At this point, I don't see how it could hurt to try the Linux-route2 instructions instead

fourfourdevon

I've got a very similar problem, using Ubuntu 10.04 behind a NAT.

When I run this scriptmodprobe ipv6
ip tunnel add he-ipv6 mode sit remote 216.66.80.26 local 192.168.255.2 ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:1f08:ec6::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr
The second line gives me the error
Quoteioctl: no such device
Any ideas?

I've tried changing my local IP address both to my local machine IP and to my public IP on the NAT the error is identical in both cases.

jimb


fourfourdevon

Quote from: jimb on September 19, 2010, 12:02:27 PM
modprobe sit?

lol, OK...  errr... perhaps I should make it clear, whilst I have a large and pretty in depth knowledge of IPv4 networking, both IPv6 and Linux I'm fairly noob at.  So, unfortunately I am unable to divine meaning from your reply/question.

jimb

Make sure the "sit" (6in4/6to4) device driver is loaded in the kernel by doing a "modprobe sit".

fourfourdevon

Ah, so your suggestion and the subsequent error messages I got prompted me to do the following:

sudo modprobe ipv6
sudo modprobe sit
sudo ip tunnel add he-ipv6 mode sit remote 216.66.80.26 local 192.168.255.2 ttl 255
sudo ip link set he-ipv6 up
sudo ip addr add 2001:470:1f08:ec6::2/64 dev he-ipv6
sudo ip route add ::/0 dev he-ipv6
sudo ip -f inet6 addr
and all seems to be working now.

Cheers.