找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 13809|回复: 10

同一网络内为什么XP可以直接上而win7不行?

[复制链接]
stannard 发表于 2011-6-10 17:00:31 | 显示全部楼层 |阅读模式
在同一内网里,一台机子装XP,另一台装64位的WIN7,两台机子都通过teredo隧道方式接入IPv6,都得到了IPv6地址,都将DNS设置成了HE的DNS。装XP的机子没有对hosts进行任何修改,便可以直接访问IPv6网络,可以打开ipv6.google.com,也能使用sixxs.org。但是,装Win7的机子能ping通ipv6.google.com,却无法直接打页面,修改了hosts也不行,还是无法访问ipv6.google.com和sixxs.org。可是修改了hosts后,却能访问youtube,这说明IPv6网络是通的,但是为什么不能访问ipv6.google.com和sixxs.org呢?为什么两台机子用同一个路由上网,只是操作系统不一样,XP没有任何问题而win7就不行?亟待高手帮助!!!
满天星 发表于 2011-6-10 23:36:48 | 显示全部楼层
如果win7的teredo可以访问youtube的话则说明ipv6连接是没有问题的了,如果使用相同的hosts文件,则只能说明是其它问题,比如防火墙(但又可以打开youtube,这个可能性较小),或者网络连接速度较慢,导致超时,但youtube也属于google的服务器,比较诡异……
如果方便的话,你将xp与win7二台机器访问google的过程抓包,以及xp与win7下对应的ipconfig
/all信息和netsh interface ipv6 show route信息一起发给我看看……
地址是admin^ipv6bbs.cn(将^替换为@,比较被搜集为垃圾邮件地址)
回复

使用道具 举报

满天星 发表于 2011-6-10 23:36:53 | 显示全部楼层
如果win7的teredo可以访问youtube的话则说明ipv6连接是没有问题的了,如果使用相同的hosts文件,则只能说明是其它问题,比如防火墙(但又可以打开youtube,这个可能性较小),或者网络连接速度较慢,导致超时,但youtube也属于google的服务器,比较诡异……
如果方便的话,你将xp与win7二台机器访问google的过程抓包,以及xp与win7下对应的ipconfig
/all信息和netsh interface ipv6 show route信息一起发给我看看……
地址是admin^ipv6bbs.cn(将^替换为@,比较被搜集为垃圾邮件地址)
回复

使用道具 举报

 楼主| stannard 发表于 2011-6-11 10:51:59 | 显示全部楼层
谢谢满天星的热情帮助。我按照http://bbs.ipv6home.cn/viewthread.php?tid=19454里的方法,已经可以打开ipv6.google.com了。

不过,原帖中第二步命令“set route ::/0 interface=12”(我的Teredo Tunneling Pseudo-Interface ID号是12),运行时总是提示“元素不存在”,无法给Teredo Tunneling Pseudo-Interface设定::/0的路由,所以我改成运行“add route ::/0 interface=12”,这样就添加了::/0的路由,ipv6.google.com能访问了。

只是还有问题,正如原帖里有一个网友所说,这样添加的::/0路由一重启系统就没了,还得手动重新添加。有什么办法能让它永久保存呢?
回复

使用道具 举报

满天星 发表于 2011-6-11 19:23:03 | 显示全部楼层
貌似这个本身就是Microsoft操作系统的问题,采用这种这种方式是一个手工的解决办法……
原理大概如下:
1.手工在网卡上设置一个IPv6地址,操作系统会认为IPv6网络可用的,因此IPv6优先级将高于IPv4;
2.手工修改::/0的默认路由至Teredo隧道中;
3.根据需要调整一下IPv6前缀的优先级策略,就是netsh interface ipv6 set prefix 命令进行调整

默认路由之所以重启后就没了,应该是被新产生的路由给覆盖导致的,这个估计不大好永久保存……而且部分ADSL拨号的用户,公网IPv4地址也是会变的!
简单的就直接写个BAT文件,开机自动运行……
回复

使用道具 举报

 楼主| stannard 发表于 2011-6-13 13:13:43 | 显示全部楼层
感谢满天星的帮助。因为每次重启都得添加路由,只好写了个bat,开机时自动添加一个::/0路由给Teredo Tunneling Pseudo-Interface。把这个bat放在本地组策略的启动/关机中,可以解决用管理员权限运行的问题。现在可以正常返回ipv6.google.com的地址了。
方法大致为:
1、将内网的IPv4地址换算成IPv6地址,添加在本地网卡中。子网前缀为48,DNS用HE的。
2、用netsh int ipv6 add route ::/0 interface=(ID号)给Teredo Tunneling Pseudo-Interface添加一个路由。
3、用netsh interface ipv6 set prefix调整优先级。
4、写个bat文件,把bat存放的路径添加至本地组策略“计算机配置——Windows设置——脚本(启动/关机)”中。bat文件就一句:netsh int ipv6 add route ::/0 interface=(ID号)
回复

使用道具 举报

满天星 发表于 2011-6-13 21:55:32 | 显示全部楼层
不错,感谢分享经验,希望有其他和你类似需求的人能够根据你的总结,来解决问题!
不过也仅仅适用于理解原理和流程的朋友们,新手们估计还得问了……
回复

使用道具 举报

 楼主| stannard 发表于 2011-6-17 17:26:40 | 显示全部楼层
又出问题啦!这两天手碎,没事重装了一遍系统,之后按照上述步骤配置了IPv6。现在IE和Chrome全都正常,可以访问ipv6.google.com,可是,可是,火狐竟然打不开页面了!ping了一下,完全没问题,能ping通,路由也是::/0,但是火狐就是无法访问。重装系统之前,完全没问题的,怎么重装了一次win7之后,火狐竟然不行了?版本和以前的都一样啊,都是64位win7和4.0.1的火狐。有人说,要设置火狐的network.dns.disableIPv6和network.dns.ipv4OnlyDomains两个参数。但是network.dns.disableIPv6无论是falseg还是true都无效,network.dns.ipv4OnlyDomains不知道该怎么设置。这个问题真让人头疼啊,难道说要想用ipv6就不能装win7吗?win7下使用ipv6怎么总是出这些莫名其妙的问题呢?
回复

使用道具 举报

满天星 发表于 2011-6-17 19:17:20 | 显示全部楼层
这个需要多折腾的,只有善于折腾才能发现问题,学到经验嘛!
Win7的IPv6支持绝对比XP好的,只是你没有折腾到解决问题的方法上吧……
我也不晓得你到底在玩啥,IE和Chrome都正常,而FF不正常,则只能说明是FF设置的问题了,或者是插件……
回复

使用道具 举报

 楼主| stannard 发表于 2011-6-20 12:49:24 | 显示全部楼层
找到问题根源了,答案绝对出人意料。Firefox打不开ipv6.google.com的原因竟然是OneClick YonTube Downloader这个扩展的缘故,禁用了它一切都OK了。这个扩展是随着下载工具Orbit一起安装的,用了这么长时间也没有出现任何状况。不知道为什么最近的一次升级后,就让火狐4.0打不开IPv6的页面了。如果用3.6版的火狐,还会弹出TypeError: Components.classes[cid] is undefined的错误提示。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|IPv6BBS ( 京ICP备13024693号 | 京公网安备11010802012238 )

GMT+8, 2024-4-27 21:23 , Processed in 0.026439 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表