使用 Tunnel Broker 获取指定国家或地区 IPv6 地址的教程

前言

很多 VPS 提供商目前只提供 IPv4 地址,但有时我们需要特定地区的 IPv6 地址来访问某些服务或资源。本文将介绍如何使用 Hurricane Electric (HE) 的 Tunnel Broker 服务,为 IPv4 VPS 添加指定地区的 IPv6 支持。

注册与隧道创建

1. 注册账户

  1. 访问 tunnelbroker.net
  2. 点击左侧区域的 “Register” 创建新账户
  3. 重要: 在注册时填写的地址信息将决定您获得的 IPv6 地址的地理位置
    • 例如,如果想要日本的 IPv6 地址,就填写日本的地址信息

2. 创建隧道

  1. 登录后点击 “Create Regular Tunnel”
  2. 在 “IPv4 Endpoint” 处输入您的 VPS IPv4 地址
  3. 在 “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检测

  1. 本地接口检测
ip a

查看是否有he-ipv6网络接口和获取的IPv6地址

  1. 在线接口检测
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地址了

常见问题

  1. IPv6 无法连通?

    • 检查隧道服务器是否在线
    • 确认配置文件中的地址信息正确
    • 验证 VPS 提供商是否允许 IPv6 隧道
    • 尝试选择其他离 VPS 较近的隧道服务器
  2. 延迟过高?

    • 检查是否选择了离 VPS 最近的隧道服务器
    • 可以尝试更换不同的隧道服务器测试延迟
  3. 地理位置不符?

    • 确认注册时填写的地址信息正确,注意:隧道服务器的位置不影响 IPv6 的地理位置
    • 等待IPv6广播成功,可以通过https://radar.cloudflare.com/ip查询

结论

通过 Tunnel Broker,我们可以为 VPS 添加特定地区的 IPv6 支持。关键是在注册时填写正确的地区信息,并选择离 VPS 位置最近的隧道服务器以获得最佳性能。配置完成后,需要耐心等待 IPv6 地址传播完成。

参考资源


给我去玩异度之刃3