使用 Tunnel Broker 获取指定国家或地区 IPv6 地址的教程
前言
很多 VPS 提供商目前只提供 IPv4 地址,但有时我们需要特定地区的 IPv6 地址来访问某些服务或资源。本文将介绍如何使用 Hurricane Electric (HE) 的 Tunnel Broker 服务,为 IPv4 VPS 添加指定地区的 IPv6 支持。
注册与隧道创建
1. 注册账户
- 访问 tunnelbroker.net
- 点击左侧区域的 “Register” 创建新账户
- 重要: 在注册时填写的地址信息将决定您获得的 IPv6 地址的地理位置
- 例如,如果想要日本的 IPv6 地址,就填写日本的地址信息
2. 创建隧道
- 登录后点击 “Create Regular Tunnel”
- 在 “IPv4 Endpoint” 处输入您的 VPS IPv4 地址
- 在 “Available Tunnel Servers” 中选择服务器
重要
- IPv4 Endpoint中输入的IPv4地址应当是可以Ping通的,需要防火墙自选放行ICMP协议
- 这个选择影响隧道的网络延迟,与您最终获得的 IPv6 地址的地理位置无关
- 选择距离 VPS 较远的服务器可能会导致连接不稳定或延迟较高
Debian 系统配置步骤
1. 安装必要工具
sudo apt update
sudo apt install net-tools
2. 编辑网络接口配置文件
sudo nano /etc/network/interfaces.d/he-ipv6
添加以下内容(替换对应的值):
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address CLIENT_IPV6_ADDRESS
netmask 64
endpoint TUNNEL_ENDPOINT_IPv4
local YOUR_VPS_IPv4
ttl 255
gateway SERVER_IPV6_ADDRESS
如果地址前缀使用的是/48,需要修改上诉内容的netmask 值
注意:以上配置中的值需要从 tunnelbroker.net 的隧道详情页面Example Configurations处获取:
- CLIENT_IPV6_ADDRESS: “Client IPv6 Address” 字段的值
- TUNNEL_ENDPOINT_IPv4: “Server IPv4 Address” 字段的值
- YOUR_VPS_IPv4: 你的 VPS 的 IPv4 地址
- SERVER_IPV6_ADDRESS: “Server IPv6 Address” 字段的值
sudo nano /etc/network/interfaces
添加以下内容:
source /etc/network/interfaces.d/*
启动接口
sudo ifup he-ipv6
3. 添加路由
sudo route -A inet6 add ::/0 dev he-ipv6
4. 重启网络服务
sudo systemctl restart networking
IPv6 传播与验证
IPV6检测
- 本地接口检测
ip a
查看是否有he-ipv6网络接口和获取的IPv6地址
- 在线接口检测
curl 6.ipw.cn
查看是否输出IPv6地址
传播验证
等待一段时间后(一到两个礼拜),前往https://radar.cloudflare.com/ip 输入tunnelbroker获取的ipv6查看地理信息是否发生改变
安装并配置WARP
使用如下脚本安装:https://gitlab.com/fscarmen/warp
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh d
等待安装完成后,此时获取的warp地址仍然是VPS所在区域,这是因为warp脚本是默认通过ipv4地址去连接WARP的EndPoint的,我们需要修改warp的配置文件进行更改。
先输入warp o停止脚本,接着编辑/etc/wireguard/warp.conf文件
nano /etc/wireguard/warp.conf
将[Peer]下的Endpoint替换为如下中的任意一个
[2606:4700:d1::3d81:8d5e:f896:cc91]:500
[2606:4700:d1::3d81:8d5e:f896:cc91]:500
[2606:4700:d1::3d81:8d5e:f896:cc91]:880
[2606:4700:d1::434e:7aae:533d:6dfd]:500
[2606:4700:d1::434e:7aae:533d:6dfd]:880
[2606:4700:d1::4dde:cef9:c852:a100]:500
[2606:4700:d1::b905:dd1f:ffcf:a0ba]:500
[2606:4700:d1::cf13:4884:a0ec:f166]:880
[2606:4700:d1::e8db:d8c7:6fc4:e11]:500
[2606:4700:d1::ee95:3fdd:cf32:124c]:500
[2606:4700:d1::ee95:3fdd:cf32:124c]:880
具体Endpoint的获取可以使用如下脚本
curl -sSL https://gitlab.com/rwkgyg/CFwarp/raw/main/point/endip.sh -o endip.sh && chmod +x endip.sh && ./endip.sh
之后输入warp o重新获取warp地址,正常情况下应该是已经能获取到需要的地理信息的warp地址了
常见问题
-
IPv6 无法连通?
- 检查隧道服务器是否在线
- 确认配置文件中的地址信息正确
- 验证 VPS 提供商是否允许 IPv6 隧道
- 尝试选择其他离 VPS 较近的隧道服务器
-
延迟过高?
- 检查是否选择了离 VPS 最近的隧道服务器
- 可以尝试更换不同的隧道服务器测试延迟
-
地理位置不符?
- 确认注册时填写的地址信息正确,注意:隧道服务器的位置不影响 IPv6 的地理位置
- 等待IPv6广播成功,可以通过https://radar.cloudflare.com/ip查询
结论
通过 Tunnel Broker,我们可以为 VPS 添加特定地区的 IPv6 支持。关键是在注册时填写正确的地区信息,并选择离 VPS 位置最近的隧道服务器以获得最佳性能。配置完成后,需要耐心等待 IPv6 地址传播完成。