标题: OpenWrt配置he.net的6in4隧道访问IPv6
作者: Demon
链接: https://demon.tw/hardware/openwrt-6in-ipv6.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
虽然目前用的网络直接拨号就能通过6to4隧道连接IPv6(详见《OpenWrt配置IPv6之6to4隧道》),但是今天心血来潮想试试通过he.net的6in4隧道来访问IPv6。
6in4隧道首先需要有公网IP,没有的话洗洗睡吧。然后去tunnelbroker.net注册一个账号,注册好之后登陆,点击Create Regular Tunnel,在打开的页面填好你OpenWrt路由器的公网IP地址,并在它给出的Tunnel Servers列表选择一个,点击Create Tunnel按钮即可。
可以用下面的bat脚本找出ping时间最短的隧道服务器:
@echo off
setlocal enabledelayedexpansion
%1 %0 : | sort & pause & exit /b
rem By Demon
rem https://demon.tw
(for %%i in (
"216.218.221.6"
"216.218.221.42"
"74.82.46.6"
"216.66.84.46"
"216.66.86.114"
"216.66.87.14"
"216.66.80.30"
"216.66.80.26"
"216.66.88.98"
"216.66.84.42"
"216.66.86.122"
"216.66.80.90"
"216.66.80.162"
"216.66.80.98"
"216.66.22.2"
"184.105.253.14"
"184.105.253.10"
"184.105.250.46"
"72.52.104.74"
"64.62.134.130"
"216.66.77.230"
"66.220.18.42"
"209.51.161.58"
"209.51.161.14"
"66.220.7.82"
"216.218.226.238"
"216.66.38.58"
"184.105.255.26"
) do (
for /f "tokens=4 delims==" %%j in ('ping -n 10 %%i ^| findstr 平均') do (
set t=%%j
echo !t:~1,-2! %%~i
)
))
在新建的隧道页面中,选择Example Configurations,OS选择OpenWRT Barrier Breaker,会自动生成配置命令,记得把UPDATE_KEY_OR_PASSWORD改成你隧道对应的Update Key或者你账号的登陆密码。
在OpenWrt上运行生成的命令之后,路由器就能获取到IPv6地址了,想要客户端也能访问IPv6,需要配置dnsmasq(同样详见《OpenWrt配置IPv6之6to4隧道》),当然也可以用radvd。
到此为止一切还算顺利,但是存在一个问题,每次拨号后获取的公网IP是不一样的,这样按照原来IP配置的6in4隧道就会失效,所以要想办法在每次拨号后自动更新IP地址,好在he.net考虑到了这一点,提供了一个更新IP地址的API接口:
https://ipv4.tunnelbroker.net/nic/update?username=<USERNAME>&password=<PASSWORD>&hostname=<TUNNEL_ID>
这样就会自动把对应隧道的客户端IPv4地址改成你访问这个链接时的IPv4地址,利用这个API接口,在Hotplug脚本中就可以实现自动更新IP地址了,代码不难,自己写。
赞赏微信赞赏支付宝赞赏
随机文章:
[…] 6in4隧道访问IPV6的教程:http://demon.tw/hardware/openwrt-6in-ipv6.html […]
楼主您好,实现自动更新IP地址Hotplug脚本的脚本怎么写?