返回信息流上学期末,也就是7月中旬吧,莫名其妙IPV6地址不正常,比如输入ipconfig命令,cmd显示:
Wndows IP Configuration
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 222.31.171.92
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : fe80::2e0:6fff:fe50:f4e7%6
Default Gateway . . . . . . . . . : 222.31.171.110
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%5
Default Gateway . . . . . . . . . :
Tunnel adapter 6to4 Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 2002:de1f:ab5c::de1f:ab5c
Default Gateway . . . . . . . . . : 2002:c058:6301::c058:6301
Tunnel adapter Automatic Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : fe80::5efe:222.31.171.92%2
Default Gateway . . . . . . . . . :
[color=Blue]一.解释[/color]:
1.第一个 [color=Blue]IP Address. . . . . . . . . . . . : 222.31.171.92[/color] 就是我的IPV4地址[em17];
2.第二个 [color=Blue]IP Address. . . . . . . . . . . . : fe80::2e0:6fff:fe50:f4e7%6[/color] 这里就是我的IPV6地址,
正常情况下是2001打头的,例如 IP Address. . . . . . . . . . . . : 2001:da8:215:9902:2933:383f:d491:405 ,
很明显此处不正常,表示我未能获取正常的IPV6地址。
有时候还出现2002打头的IPV6地址,例如 IP Address. . . . . . . . . . . . : 2002:76e5:d6a8:9:214:bff:fe35:3948 ,这也不是正常的IPV6地址;
3.[color=Blue]Default Gateway . . . . . . . . . : 222.31.171.110 [/color]表示我的网关,正常情况下显示IPV4网关和IPV6网关,此处,也不正常,只有IPV4网关,没有IPV6网关
[color=Blue]二.产生原因[/color]:
1.被分配到2002开头的IPV6地址并使用了它。2002::/16 格式的地址是 6to4 的地址,不是 native 的 IPV6 地址,所以在 IPV4+V6 双栈网络中不应该使用 2002::/16 格式的地址。执行 ping6 ipv6.google.com 可以看到自己使用的是什么 IPV6 地址,或者登录[color=Blue]CNGI高校驻地网IPv6用户测试[/color]
产生 2002::/16 格式的地址,一个很可能的原因是网络中的 Windows Vista 操作系统默认会发送 IPV6 的路由器公告。使用
netsh interface ipv6 show interface "本地连接"
命令可以查看本地连接的参数,其中有一条:“发送路由器公告”,一定要设置为“否”。如果您的这个选项是“是”,那么您可以使用下面的这个命令关闭它:
netsh interface ipv6 set interface “本地连接” advertise=disabled
本人向来讨厌vista系统,臃肿不堪,限制多多,假如是你的某位童鞋的vista的“发送路由器公告”设置为“是”造成你的IPV6故障的话,你找他真人PK去吧[em17]
2. IPV6 的路由表(也就是网关)不对。tracert6 ipv6.google.com 就能看到本机是经过什么路由到 ipv6.google.com 的。如果从第一跳就显示连接超时,应该就是路由表出了问题。本机试验显示如下
C:\Documents and Settings\God> tracert6 ipv6.google.com
Tracing route to ipv6.google.com [2001:4860:c004::68]
from 2002:de1f:ab5c::de1f:ab5c over a maximum of 30 hope :
1 * * * Request timed out .
2 * 249 ms 244 ms swiBE2-G2-5.switch.ch [2001:620:0:c025::2]
...............................................
17 463 ms 461 ms 488 ms tx-in-x68.google.com [2001:4860:c004::68]
Trace complete.
很明显,是网关出问题了。第一个就Request timed out ,超时了。
[color=Blue]三.解决办法[/color]
1.使用如下命令
[color=RoyalBlue]netsh interface ipv6 set prefixpolicy 2001::/16 1 1 persistent[/color]
意思是设置 Windows 更偏好使用 2001 开头的 IPV6 地址,避免使用 2002 开头的地址。,重启电脑,然后再使用ipconfig命令查看是否IPV6地址恢复正常,如若依然不正常,采用下面的终极解决办法
2.[color=Blue]绑定一个IPV6地址且绑定一个默认的IPV6网关[/color]。
首先,你需要知道一个IPV6地址和你当前IPV4网段所对应的IPV6网关。
[color=Magenta]IPv6地址知识小普及[/color]
IPv6地址共128位,每16位1段,共8段,段与段之间用冒号:来进行间隔,每段采用十六进制书写,即用0-9,a、b、c、d、e、f十六个数来表示,例如
[color=Blue]2001:da8:215:9902:2933:383f:d491:405[/color]
并且,每段前面如果是0可以省略,像上面地址中da8其实是0da8,
IPv6地址中如有多连续的0可以用两个冒号 :: 来代替以减少书写量,但只能用一次,也就是说一个合法的IPV6地址中只能出现一次“ :: ”
通过一个合法的IPV6地址的[color=Blue]前4段[/color]可以看出对应的IPV6网关,则上面的IPV6地址对应的网关是
[color=Blue]2001:da8:215:9902:0000:0000:0000:0001[/color]
根据缩写原则,可以写成
[color=Navy]2001:da8:215:9902::1[/color]
因此,你需要绑定的IPV6网关,可以通过你以前正常的IPV6地址知道,或者你周围正常的童鞋的IPV6地址知道,或者打电话你们的网络中心,报上你的IPV4地址让他告诉你对应的IPV6网关;
你需要绑定的IPV6地址,要么使用以前的(当然前提是曾经记住或者copy过哦,O(∩_∩)O~),要么你按照规则编造一个[em17]
下面举例绑定一个网关为 2001:da8:215:9902::1
IPV6地址为 2001:da8:215:9902::88 。
命令如下
C:> netsh
netsh>interface
netsh interface>ipv6
netsh interface ipv6>show int
这时会看到一个接口和索引表,如下
索引 Met MTU 状态 名称
---- ---- ----- ------------ -----
6 0 1476 已断开 无线网络连接
5 0 1476 已连接 本地连接
4 2 1280 已断开 Teredo Tunneling Pseudo-Interface
3 1 1280 已连接 6to4 Pseudo-Interface
2 1 1280 已连接 Automatic Tunneling Pseudo-Interface
1 0 1500 已连接 Loopback Pseudo-Interface
如本地连接的索引号为5根据自己的实际情况来决定),使用命令[color=Red]add address [/color]来给接口邦定IPv6地址。
netsh interface ipv6>add address int=[color=Blue]5[/color] 2001:da8:215:9902::88
再用[color=Red]add route[/color]来邦定默认网关:
netsh interface ipv6>add route 0::/0 int=5 2001:da8:215:9902::1
然后[color=Red]exit[/color]退出ping一下网关看是否是通的。
netsh interface ipv6>exit
C:>ping 2001:da8:215:9902::1
或者再次使用tracert6 ipv6.google.com 查看是否正常了。就如不正常,那就说明你绑定的IPV6地址可能别人再用,自己再编造一个,直至成功[em17]
最后再来个
由于笔者水平有限(非计算机专业),加之编写时间仓促(就一晚上),错误疏漏之处在所难免,望广大朋友及专家不吝赐教[em16]
参考资料:
IPV6 获取地址却无法使用的解决方案
兰州大学校园网IPv6使用指南
关于获取2002开头的ipv6地址造成ipv6时断时续问题解决方法
这是一条镜像帖。来源:北邮人论坛 / b-tbt / #50702同步于 2009/7/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
BTbt机器人发帖
IPV6地址没有,或者2002开头问题解决之道.............
lanzhouer
2009/7/30镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
补充一下
fe80::/64是link local地址,相当于ipv4的169.254.0.0/16
系统自动配置,可以用于内网通信,路由不转发
【 在 lanzhouer (游走的灵魂) 的大作中提到: 】
: 上学期末,也就是7月中旬吧,莫名其妙IPV6地址不正常,比如输入ipconfig命令,cmd显示:
: Wndows IP Configuration
: Ethernet adapter 本地连接:
: ...................