在 Windows 7 中,我的电脑可以自动获取 IPV6 全局地址并使用 IPV6 网络,但在 Ubuntu Natty 中,我找不到如何让无状态配置工作。我的网络是大学校园网,所以不需要隧道。我认为如果一件事可以在 Windows 中悄无声息地成功完成,那么在 Linux 中也应该不是不可能的。
顺便说一句,这个 ubuntu natty 是在安装了 vmware-tools 的 VMware 工作站上运行的。我听说有人说 vm-tools 与 network-manager 冲突,所以我卸载了 network-manager。
我尝试手动编辑 /etc/network/interfaces 并使用静态 IPV6 地址,我可以通过这种方式使用 IPV6,但我只想使用自动配置。
我找到了这个帖子: 如何在 Linux 中禁用 IPv6 的自动配置?
并尝试过
sudo sysctl -w net.ipv6.conf.all.autoconf=1
sudo sysctl -w net.ipv6.conf.all.accept_ra=1
但没有任何运气。
我在 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
我不确定这是否重要,但后来我设置了一个静态 IPv6 地址(带网关)并重新启动网络,我 ping6 ipv6.google.com 并且 ipv6 网络正常。这次在 dmesg 中添加了一个条目
[33971.214920] eth0: no IPv6 routers present
所以我猜没有 IPv6 路由器的抱怨无关紧要?
答案1
很奇怪。我这里默认安装了 Ubuntu 11.04,并且 SLAAC / autoconf 开箱即用:
sander@ubuntu:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:43:38:b7
inet addr:xx.xx.56.92 Bcast:xx.xx.56.95 Mask:255.255.255.224
inet6 addr: xxxx:xxxx:1:0:20c:29ff:fe43:38b7/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe43:38b7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:459 errors:0 dropped:0 overruns:0 frame:0
TX packets:319 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:419159 (419.1 KB) TX bytes:35138 (35.1 KB)
您确定网络上的路由器正在发送正确的路由器通告吗?可能是 autoconf 实际上没有正确配置,Windows 正在回退到 DHCPv6。
答案2
您需要设置 VMware 以桥接模式运行虚拟机网络。这样您的虚拟机将直接连接到网络并能够接收路由器广告。