给 IPv4 VPS 添加 IPv6 :Hurricane Electric 6in4 隧道配置指南

给 IPv4 VPS 添加 IPv6 :Hurricane Electric 6in4 隧道配置指南

摘要:利用 Hurricane Electric 提供的免费 6in4 隧道服务,为只有 IPv4 公网地址的 VPS 添加一个静态、公网可达的 IPv6 地址段 (/64),适用于 Debian/Ubuntu 系统。

前言:

什么是 Hurricane Electric (HE) 隧道? Hurricane Electric 是一家全球知名的互联网骨干网服务商。他们提供的 Tunnel Broker 服务允许用户通过 6in4 协议,将 IPv6 流量封装在 IPv4 数据包中传输,从而免费获得一个静态的公网 IPv6 地址


1. 申请 Hurricane Electric 6in4 隧道

1.1 注册账号

前往 HE Tunnel Broker 官网注册一个账号:https://tunnelbroker.net

1.2 创建隧道

登陆后,点击 “Create Regular Tunnel”

填写以下信息:

  1. IPv4 Endpoint (Your side)

    • 填写你 VPS 的公网 IPv4 地址
    • 注意:HE 会 ping 你的服务器 ip ,不要禁 Ping。
  2. Available Tunnel Servers

    • 选择离你 VPS 物理位置最近的服务器。
    • 可以在服务器上 ping 一下给出的 ip,选延迟最低的。

创建成功后,记录下 “IPv6 Tunnel Endpoints” 选项卡中的信息,稍后配置会用到:

  • Client IPv6 Address
  • Server IPv4 Address
  • Server IPv6 Address

2. 在 VPS 上配置 6in4 隧道

注意:以下配置方法适用于 DebianUbuntu 系统(基于 /etc/network/interfaces)。

2.1 创建隧道配置文件

为了保持主配置文件的整洁,我们在 interfaces.d 目录下新建一个配置文件:

nano /etc/network/interfaces.d/he-ipv6

将以下内容复制进去,并修改 <尖括号> 内的信息为你的实际信息:

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
    # 你的 IPv6 地址 (Client IPv6 Address),去掉最后的 /64
    address <2001:470:xxxx:xxxx::2>
    netmask 64

    # HE 服务器的 IPv4 地址 (Server IPv4 Address)
    endpoint <216.218.xxx.xxx>

    # 你的 VPS 内网 IP
    # 使用 ip addr ,填主网卡接口下的 inet 地址
    local <内网ip 或 公网IP 详见下面说明>

    ttl 255

    # HE 服务器的 IPv6 地址 (Server IPv6 Address),去掉最后的 /64
    gateway <2001:470:xxxx:xxxx::1>

    # 配置路由
    up ip -6 route replace default via <2001:470:xxxx:xxxx::1> dev he-ipv6 metric 10
    down ip -6 route del default via <2001:470:xxxx:xxxx::1> dev he-ipv6 || true

关于 Local IP 的说明: 如果你在主网卡下看到的是内网 IP 那就填内网 IP 如果是公网 IP,那么这里就填公网 IP。(主网卡就是列出了ip地址的)

image-20251121224437447

  • 现在有很多服务器位于 NAT 之后,虽然你买机器时看到了一个公网IP,但这个IP其实是在机房的路由器/防火墙上。
  • 你的网卡上绑定的通常是 10.x.x.x172.x.x.x 这类的内网 IP。
  • local 字段必须填你机器网卡上实际显示的那个 IP 地址,否则隧道无法建立。

2.2 禁用 RA 自动路由

为了防止 IPv6 路由混乱(避免系统自动通过 SLAAC 获取不可用的 IPv6 地址),建议禁用 RA(Router Advertisement)。

nano /etc/sysctl.d/99-he-ipv6.conf

写入:

net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.eth0.accept_ra = 0

注意:如果你的主网卡不是 eth0(例如是 ens3eth1),就把第三行替换为对应的网卡名称。

应用:

sysctl -p /etc/sysctl.d/99-he-ipv6.conf

2.3 启动隧道

启动刚刚配置的接口:

ifup he-ipv6

2.4 验证连接

1. 检查接口状态

ip addr show he-ipv6

应该能看到对应的 IPv6 地址已挂载。

2. 测试连通性

ping6 -c 4 google.com

2.5 设置 IPv4 优先

这个还是有点必要的

nano /etc/gai.conf

找到以下行(大概在第 54 行)去掉注释(删除#)

#precedence ::ffff:0:0/96 100

3. 其他

为什么不用 Cloudflare WARP?

特性 HE.net 隧道 (6in4) Cloudflare WARP (WireGuard)
IP 类型 静态公网 IP (固定 IP) 动态 IP (每次重启可能变化)
网络拓扑 直接公网可达 位于 CGNAT 后 (没有公网入站端口)
入站连接 支持 (可以建站、做服务器) 不支持 (只能作为客户端访问外网)

我个人是先用的warp,没用多久突然掉了就换了HE,目前看来还行(买了台 v6 入 nat v4 出的机器包的这碗饺子😌)

待补充

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇