Ubuntu – IPV6 auto configuration not working


In Windows 7, my computer can automatically get a IPV6 global address and use IPV6 network, but in Ubuntu Natty, I can't find out how to let stateless configuration work.
My network is a university campus network,so I don't need tunnels. I think if one thing can silently and successfully be accomplished in Windows, it shouldn't be impossible in linux.

I tried manually editing /etc/network/interfaces and used a static IPV6 address, and I can use IPV6 this way, but I just want to use auto-configuration.

I found this post:

and tried

sudo sysctl -w net.ipv6.conf.all.autoconf=1
sudo sysctl -w net.ipv6.conf.all.accept_ra=1

but without any luck.

I got this in dmesg:

root@natty-150:~# dmesg |grep IPv6
[   26.239607] eth0: no IPv6 routers present
[  657.365194] eth0: no IPv6 routers present
[  719.101383] eth0: no IPv6 routers present
[32864.604234] eth0: no IPv6 routers present
[33267.619767] eth0: no IPv6 routers present
[33341.507307] eth0: no IPv6 routers present

I am not sure whether it matters,but then I setup a static IPv6 address (with gateway) and restart network,I ping6 ipv6.google.com and the ipv6 network is fine.This time a entry was added in dmesg

[33971.214920] eth0: no IPv6 routers present

So I guess the complain of no IPv6 router does not matter?

Here is the ipv6 forwarding setting.But I guessed forwarding is used for radvd stuff?

root@natty-150:/# cat /proc/sys/net/ipv6/conf/eth0/forwarding

After ajmitch mentioned forwarding setting, I added this to sysctl.conf file:

net.ipv6.conf.all.autoconf = 1 
net.ipv6.conf.all.accept_ra = 1 
net.ipv6.conf.default.forwarding = 1 
net.ipv6.conf.lo.forwarding = 1 
net.ipv6.conf.eth0.forwarding = 1

and then ran sysctl -p
/etc/init.d/networking restart
But this still doesn't work.

Best Answer

Disable forwarding should fix your problem.

Hint: only routers needs forwarding.

Another hint: enable forwarding = disabling stateless autoconfig

Related Question