有些 VPS 商家没有提供 IPv6 地址,如果有访问 IPv6 的需求,可以使用 HE(Hurricane Electric)的 Tunnel Broker IPv6 隧道免费给 IPv4 VPS 主机添加一个公网 IPv6 地址。
创建 Tunnel Broker IPv6 隧道
- 注册 Tunnel Broker 账号
- 点击左侧的 Create Regular Tunnel (创建常规隧道)
- 输入 VPS 的公网 IP 地址
- 根据 VPS 的位置选择一个节点
- 点击Create Tunnel(创建隧道)
- Tunnel Details 页面,Client IPv6 Address就是是申请到的 IPv6
获取配置
Tunnel Details 选择 Example Configuration 选项卡,有 Debian、Ubuntu 的 interfaces 配置文件,选择适配的配置文件。
添加网络接口
以Debian为例;将配置文件添加到 /etc/network/interfaces.d/ 目录下。下面的命令行根据实际情况替换。
示范,直接替换 sudo tee /etc/network/interfaces.d/he-ipv6如果是 NAT VPS 则需要替换local字段后面的公网 IP 地址为内网 IP 地址。
启用 IPv6 隧道
安装网络工具包
sudo apt update sudo apt install net-tools iproute2 -y启动 he-ipv6 网络接口
sudo ifup he-ipv6启用后执行 ifconfig 命令,这时应该有一个 he-ipv6 接口,类似下面这样:
he-ipv6: flags=209mtu 1480 inet6 2001:xxx:xxxx:xxxx::2 prefixlen 64 scopeid 0x0 inet6 fe80::xxxx:xxxx prefixlen 64 scopeid 0x20 sit txqueuelen 1000 (IPv6-in-IPv4) RX packets 11605 bytes 3127821 (3.1 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 13811 bytes 2403522 (2.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 若没有生效可以尝试重启网络
sudo systemctl restart networkingDNS 设置
编辑 /etc/resolv.conf 文件,更改 DNS 解析服务器为支持查询 AAAA 记录的 DNS 服务器,比如 Google Public 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 VPS设置:
配置防火墙允许 41 端口入站
ufw allow 41添加相关的路由规则
route -A inet6 add ::/0 dev he-ipv6优先使用 IPv4 网络
默认情况下 IPv6 网络优先级会高于 IPv4 ,为了防止 IPv6 隧道拖慢 VPS 的正常网速,可以设置优先使用 IPv4 网络。同时也能减轻了对 HE Tunnel Broker 节点的网络压力,合理使用宝贵的免费资源。
编辑 /etc/gai.conf 文件,在末尾添加下面这行配置:
precedence ::ffff:0:0/96 100一键添加命令如下:
echo 'precedence ::ffff:0:0/96 100' | sudo tee -a /etc/gai.conf执行 curl ip.p3terx.com 命令,显示 VPS 的 IPv4 地址则代表成功。
TIPS: 这仅限于 VPS 本身发起的网络访问。如果 VPS 用于科学上网,则还取决于本地科学上网工具的 DNS 策略,如有必要可以设置丢弃 AAAA 记录。
删除 IPv6 隧道
当你不想用了,或者想使用其它方式访问 IPv6 网络时,记得先删除。
停用隧道
sudo ifdown he-ipv6删除 he-ipv6 网络接口配置文件(若没有删除重启后会自动启用)
sudo rm -f /etc/network/interfaces.d/he-ipv6
评论前必须登录!
注册