本教程适用于Debian、Ubuntu

IPv6 通道使用了 HE Tunnel Broker 的免费服务,每位用户可以创建5个隧道

创建 Tunnel Broker 账号

  • 注册 Tunnel Broker 账号,地址: https://tunnelbroker.net/
  • 点击左侧的 Create Regular Tunnel
  • 输入 VPS 的公网 IP 地址
  • 根据 VPS 的位置选择一个合适的节点,选择延时低的效果最佳
  • 页面拉到最下方,点击Create Tunnel

tunnelbroker-creat.png

获取配置示例

在 Tunnel Details 页面有个 Example Configuration 选项卡,在这里你可以选择合适的配置示例。就比如这里有 De­bian/​Ubuntu 的 interfaces 配置文件示例:
Tunnel Details.jpg
只要基于 De­bian 的发行版和使用 interfaces 配置文件的系统理论上都可以使用。
其它不兼容的发行版则可以使用 Linux-net-tools 或 Linux-route2 示例手动输入命令。

添加网络接口

he-ipv6 配置文件添加到 /etc/network/interfaces 文件尾部;

vi /etc/network/interfaces
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:xxx:xxxx:xxxx::2
        netmask 64
        endpoint 216.66.xx.xx
        local 233.233.233.233
        ttl 255
        gateway 2001:xxx:xxxx:xxxx::1

he-ipv6 配置文件添加到 /etc/network/interfaces.d/ 目录下

tee /etc/network/interfaces.d/he-ipv6 <<EOF
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:xxx:xxxx:xxxx::2
        netmask 64
        endpoint 216.66.xx.xx
        local 233.233.233.233
        ttl 255
        gateway 2001:xxx:xxxx:xxxx::1
EOF

如果是 NAT VPS 则需要替换local字段后面的公网 IP 地址为内网 IP 地址。

启用 IPv6 隧道

  • 安装网络工具包

    apt update
    apt install net-tools iproute2 -y
  • 启动 he-ipv6 网络接口

    ifup he-ipv6
  • 启用后执行 ifconfig 命令,这时应该有一个 he-ipv6 接口。
  • 若没有生效可以尝试重启网络

    systemctl restart networking

DNS 设置

编辑 /etc/resolv.conf 文件,更改 DNS 解析服务器为支持查询 AAAA 记录的 DNS 服务器

nameserver 8.8.8.8
nameserver 8.8.4.4

不建议使用 IPv6 地址的 DNS ,因为通过 IPv6 隧道去请求可能会拖慢 DNS 解析速度。

检测 IPv6 支持

执行 ping6 google.com 命令,能 ping 通说明 VPS 已经支持 IPv6 网络了。

如果是 NAT VPS ,除了前面提到的替换 IP 操作以外,可能还需要一些额外的设置,否则可能还是无法访问 IPv6 网络。

  • NAT 配置防火墙允许 41 端口入站

    ufw allow 41
  • NAT 添加相关的路由规则

    route -A inet6 add ::/0 dev he-ipv6

优先使用 IPv4 网络

默认情况下 IPv6 网络优先级会高于 IPv4 ,为了防止 IPv6 隧道拖慢 VPS 的正常网速,可以设置优先使用 IPv4 网络。

编辑 /etc/gai.conf 文件,在末尾添加下面这行配置:

vi /etc/gai.conf
precedence  ::ffff:0:0/96   100

删除 IPv6 隧道

当你不想用了,或者想使用其它方式访问 IPv6 网络时,记得先删除。

  • 停用隧道

    ifdown he-ipv6
  • 删除 he-ipv6 网络接口配置文件(若没有删除重启后会自动启用)

    rm -f /etc/network/interfaces.d/he-ipv6