本文主要参考了:Ubuntu使用he.net的IPv6隧道代理访问网络(已更新)
注:本文仅适用于有固定 IP(IPv4) 地址的电脑。包括以 192.168. 等开头的局域网地址。本文是对上面链接原文中的第 7 条有关局域网 windows 7 下的配置的详细说明。并简化了操作。动态 IP 地址的配置方法略有不同,而且比较繁琐,请参考上面的链接原文。
目前 IPv6 尚未全面普及,大部分地方用的还是 IPv4。在这个过渡期,有许多种过渡技术可以用来在现有的 IPv4 网络上使用 IPv6,比如:teredo,6in4 和 isatap 等等。
我之前介绍过如何在 windows 7 下使用 teredo:
Windows 7,中国电信ADSL的环境下配置IPv6
,这次再介绍一下 6in4。Hurricane Electric 旗下的 tunnelbroker.net 提供免费的 6in4 服务。以下以该服务为例进行说明。
1,参考本文开头处链接的文章,申请服务和通道。
简单描述一下,就是到 http://tunnelbroker.net 注册一个账号,然后创建一个普通通道。
每个账号可以最多创建 5 个通道。创建通道时需要填写本机的外网 IP 地址,而且需要保证该 IP 地址可以从 ipv4.tunnelbroker.net 地址 ping 通。ping 不通的话是没法设置成功的。可以到 http://just-ping.com 测试能否 ping 通。ping 不通的话,需要调整防火墙设置,或者路由器的安全设置。
创建通道时可以选择服务器。可以逐一 ping 各个服务器,看哪台服务器的响应最快。我用西安电信的ADSL,大部分时间都是 Fremont 或 Seattle 的服务器最快。
以下是 ping 各服务器的批处理:
@echo off
echo ==================Asia==================
echo ----------------------------------------
echo ping Hong Kong
ping 216.218.221.6
echo ----------------------------------------
echo ping Singapore
ping 216.218.221.42
echo ----------------------------------------
echo ping Tokyo
ping 74.82.46.6
echo ----------------------------------------
echo =================Europe=================
echo ----------------------------------------
echo ping Amsterdam
ping 216.66.84.46
echo ----------------------------------------
echo ping Frankfurt .... skip
echo ----------------------------------------
echo ping London
ping 216.66.80.26
echo ----------------------------------------
echo ping Paris
ping 216.66.84.42
echo ----------------------------------------
echo ping Stockholm
ping 216.66.80.90
echo ----------------------------------------
echo ping Zurich
ping 216.66.80.98
echo ----------------------------------------
echo ==============North America=============
echo ----------------------------------------
echo ping Ashburn
ping 216.66.22.2
echo ----------------------------------------
echo ping Chicago
ping 209.51.181.2
echo ----------------------------------------
echo ping Dallas
ping 216.218.224.42
echo ----------------------------------------
echo ping Fremont
ping 72.52.104.74
echo ----------------------------------------
echo ping Fremont
ping 64.62.134.130
echo ----------------------------------------
echo ping Los Angeles
ping 66.220.18.42
echo ----------------------------------------
echo ping Miami
ping 209.51.161.58
echo ----------------------------------------
echo ping New York
ping 209.51.161.14
echo ----------------------------------------
echo ping Seattle
ping 216.218.226.238
echo ----------------------------------------
echo ping Toronto
ping 216.66.38.58
echo ----------------------------------------
pause
2,将以下批处理命令中的 4 个参数修改为自己的内容,然后在命令行中顺序执行,或者存为一个 bat 文件以批量执行。
其中 4 个参数是:
IPV4_SERVER:刚才建立的通道的Tunnel Details页面的Server IPv4 Address的值
IPV6_SERVER:Tunnel Details页面的Server IPv6 Address的值(不带后面的/64)
IPV4_LOCAL:本机的固定IP地址。如果是外网固定IP,那就是Tunnel Details页面的Client IPv4 Address的值。如果是内网固定IP,则填写内网固定IP(如 192.168.0.7)
IPV6_LOCAL:Tunnel Details页面的Client IPv6 Address的值(不带后面的/64)
各参数的位置见下图中的红框所示处:
以下是批处理文件内容:
@echo off
echo 正在配置 6in4 通道....
set IPV4_SERVER=64.62.134.130
set IPV6_SERVER=2001:470:ffff:ffff::1
set IPV4_LOCAL=192.168.0.7
set IPV6_LOCAL=2001:470:ffff:ffff::2
netsh interface teredo set state disabled
netsh interface ipv6 add v6v4tunnel IP6Tunnel %IPV4_LOCAL% %IPV4_SERVER%
netsh interface ipv6 add address IP6Tunnel %IPV6_LOCAL%
netsh interface ipv6 add route ::/0 IP6Tunnel %IPV6_SERVER%
netsh interface ipv6 set prefix ::1/128 50 0
netsh interface ipv6 set prefix ::/0 40 1
netsh interface ipv6 set prefix 2002::/16 30 2
netsh interface ipv6 set prefix ::/96 20 3
netsh interface ipv6 set prefix ::ffff:0:0/96 10 4
netsh interface ipv6 set prefix 2001::/32 5 5
pause
4,从 https://ipv6-hosts.googlecode.com/hg/hosts 获取最新的 IPv6 解析,并将全部内容追加到本机的 C:\Windows\System32\drivers\etc\hosts 文件末尾
自己也可以收集其他 IPv6 解析,添加到 hosts 文件中。要直接使用 IPv6 地址访问一个网站,只需要在浏览器中直接输入该 IPv6 地址,并在两端加上 [ 和 ] 号访问即可。下面有例子。
5,命令行运行 ipconfig /flushdns 刷新 DNS 缓存
6,ping g.cn。如果有从 IPv6 地址返回的响应,则说明配置成功。
7,如果是局域网固定 IP 而外网 IP 发生了变化,则需要访问Tunnel Details页面手动更改最新的 Client IPv4 Address 地址。或者访问以下网页自动修改当前外网 IP 地址:
http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&pass=p1&apikey=p2&tid=p3
其中 p1 替换为:上述账号的密码的 MD5 值。网上有在线计算 MD5 值的工具。
p2 替换为:登录后的 Main Page 的 User ID 的值
p3 替换为:Tunnel Details 页面的 Tunnel ID 的值
可以将该地址存入收藏夹,每次 ADSL 重新拨号后访问一下。或者设置令每次开机自动执行以下命令:
explorer http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&pass=p1&apikey=p2&tid=p3
8,如果需要关闭该通道,可以执行:
@echo off
echo ipv6 setting off....
set IPV6_LOCAL=2001:470:ffff:ffff::2
set IPV6_SERVER=2001:470:ffff:ffff::1
netsh interface ipv6 delete route ::/0 IP6Tunnel %IPV6_SERVER%
netsh interface ipv6 delete address "IP6Tunnel" %IPV6_LOCAL%
netsh interface ipv6 delete interface "IP6Tunnel"
netsh int ipv6 set prefix ::1/128 50 0
netsh int ipv6 set prefix ::/0 40 1
netsh int ipv6 set prefix 2002::/16 30 2
netsh int ipv6 set prefix ::/96 20 3
netsh int ipv6 set prefix ::ffff:0:0/96 10 4
netsh int ipv6 set prefix 2001::/32 5 5
pause
9,正常使用中,不需要关闭通道。只要 IP 没有变化,下次开机通道依然有效。以上,用于固定 IP 的方案介绍完毕。浏览器访问 http://[2001:4810::110] 以检查自己的 IPv6 地址:
10,前文之所以说动态 IP 地址的配置比较繁琐,就在于批处理文件中需要写一个固定的 IP 地址。如果是动态 IP 地址的话,则每次 IP 变化之后,都需要先关闭通道,再修改开启通道的批处理文件中的参数,再执行之。
11,如果发现 hosts 中的网址突然访问不通,则有可能是本地的外网 IP 变化导致通道失效了,需要访问步骤 7 中所示的网址以更新 IP:
如果 IP 没发生变化也去访问该页面,则会提示:
-ERROR: This tunnel is already associated with this IP address. Please try and limit your updates to IP changes.
如果很不凑巧你现在的 IP 是别人之前用来创建过通道的,则会提示:
点击页面中的链接,则会跳转到:
提示你可以通过该方法夺回该 IP 的通道使用权。因为同一个 IP 只能有一个通道。但是这一招会删掉对方的通道,有点残忍。所以,还是我们自己重新拨号换一个没人用的 IP 吧。
12,以上介绍完。有疑问可同时参考开头处的两个链接。
netsh interface teredo set state disabled
netsh interface ipv6 add v6v4tunnel IP6Tunnel %IPV4_LOCAL% %IPV4_SERVER%
netsh interface ipv6 add address IP6Tunnel %IPV6_LOCAL%
netsh interface ipv6 add route ::/0 IP6Tunnel %IPV6_SERVER%
netsh interface ipv6 set prefix ::1/128 50 0
netsh interface ipv6 set prefix ::/0 40 1
netsh interface ipv6 set prefix 2002::/16 30 2
netsh interface ipv6 set prefix ::/96 20 3
netsh interface ipv6 set prefix ::ffff:0:0/96 10 4
netsh interface ipv6 set prefix 2001::/32 5 5
pause
4,从 https://ipv6-hosts.googlecode.com/hg/hosts 获取最新的 IPv6 解析,并将全部内容追加到本机的 C:\Windows\System32\drivers\etc\hosts 文件末尾
自己也可以收集其他 IPv6 解析,添加到 hosts 文件中。要直接使用 IPv6 地址访问一个网站,只需要在浏览器中直接输入该 IPv6 地址,并在两端加上 [ 和 ] 号访问即可。下面有例子。
5,命令行运行 ipconfig /flushdns 刷新 DNS 缓存
6,ping g.cn。如果有从 IPv6 地址返回的响应,则说明配置成功。
7,如果是局域网固定 IP 而外网 IP 发生了变化,则需要访问Tunnel Details页面手动更改最新的 Client IPv4 Address 地址。或者访问以下网页自动修改当前外网 IP 地址:
http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&pass=p1&apikey=p2&tid=p3
其中 p1 替换为:上述账号的密码的 MD5 值。网上有在线计算 MD5 值的工具。
p2 替换为:登录后的 Main Page 的 User ID 的值
p3 替换为:Tunnel Details 页面的 Tunnel ID 的值
可以将该地址存入收藏夹,每次 ADSL 重新拨号后访问一下。或者设置令每次开机自动执行以下命令:
explorer http://ipv4.tunnelbroker.net/ipv4_end.php?ip=AUTO&pass=p1&apikey=p2&tid=p3
8,如果需要关闭该通道,可以执行:
@echo off
echo ipv6 setting off....
set IPV6_LOCAL=2001:470:ffff:ffff::2
set IPV6_SERVER=2001:470:ffff:ffff::1
netsh interface ipv6 delete route ::/0 IP6Tunnel %IPV6_SERVER%
netsh interface ipv6 delete address "IP6Tunnel" %IPV6_LOCAL%
netsh interface ipv6 delete interface "IP6Tunnel"
netsh int ipv6 set prefix ::1/128 50 0
netsh int ipv6 set prefix ::/0 40 1
netsh int ipv6 set prefix 2002::/16 30 2
netsh int ipv6 set prefix ::/96 20 3
netsh int ipv6 set prefix ::ffff:0:0/96 10 4
netsh int ipv6 set prefix 2001::/32 5 5
pause
9,正常使用中,不需要关闭通道。只要 IP 没有变化,下次开机通道依然有效。以上,用于固定 IP 的方案介绍完毕。浏览器访问 http://[2001:4810::110] 以检查自己的 IPv6 地址:
10,前文之所以说动态 IP 地址的配置比较繁琐,就在于批处理文件中需要写一个固定的 IP 地址。如果是动态 IP 地址的话,则每次 IP 变化之后,都需要先关闭通道,再修改开启通道的批处理文件中的参数,再执行之。
11,如果发现 hosts 中的网址突然访问不通,则有可能是本地的外网 IP 变化导致通道失效了,需要访问步骤 7 中所示的网址以更新 IP:
如果 IP 没发生变化也去访问该页面,则会提示:
-ERROR: This tunnel is already associated with this IP address. Please try and limit your updates to IP changes.
如果很不凑巧你现在的 IP 是别人之前用来创建过通道的,则会提示:
点击页面中的链接,则会跳转到:
提示你可以通过该方法夺回该 IP 的通道使用权。因为同一个 IP 只能有一个通道。但是这一招会删掉对方的通道,有点残忍。所以,还是我们自己重新拨号换一个没人用的 IP 吧。
12,以上介绍完。有疑问可同时参考开头处的两个链接。
我使用的是WIN XP系统要如何设置呢,网上有没有相关教程。看了相关教程说是要用VPN拨号。但是官方网上面找不到VPN拨号的账号和密码
回复删除你谷歌搜索“Ubuntu使用he.net的IPv6隧道代理访问网络”,里面有介绍怎么在xp下设置,不用vpn的,不过我没测试过不知道可不可行。
删除