一键配置 HE 隧道脚本发布,给服务器加上 IPv6 就这么简单
一键配置 HE 隧道脚本发布,给服务器加上 IPv6 就这么简单
Liyang Blog

一键配置 HE 隧道脚本发布,给服务器加上 IPv6 就这么简单

Liyang
2026-06-12 发布 / 正在检测是否收录...

前言

大伙很久未见面了,之前配置 HE 隧道的,虽然步骤不复杂,但每换一台机器就要重复检测系统、编辑配置文件、敲一堆命令,实在是有点麻烦

于是我把整个流程打包成了一个脚本,一行命令就能搞定。今天把脚本托管到了服务器上,分享给有需要的小伙伴

一句话: 不管你是 Debian/Ubuntu 还是 CentOS,跑一条命令,IPv6 隧道自动配好

HE 隧道是什么

HE(Hurricane Electric)是一家全球知名的 IPv6 网络服务商,提供免费的 IPv6 隧道服务。简单说,如果你的云服务器只有 IPv4 地址(比如很多便宜的 VPS 或者老机房),通过 HE 隧道可以给你分配一个公网 IPv6 地址,让你的服务器能访问 IPv6 网络,也能被 IPv6 用户访问

适用场景:

  • 云服务商没给 IPv6 地址
  • 想测试 IPv6 环境
  • 想用 IPv6 访问 Google、YouTube 等
  • 做 IPv6 网站或应用

前提条件

  1. 一台有公网 IPv4 的 Linux 服务器(NAT 内网也可以用,填内网 IP 即可)
  2. 注册好 HE Tunnel Broker 账号,并创建好隧道(获取服务端 IP、客户端 IP、IPv6 地址段等信息)
  3. 服务器防火墙放行协议 41(ipv6-over-ipv4)

注册隧道tunnelbroker.net 五分钟搞定

一键下载并执行

直接运行(推荐):

curl -sSL http://mc.mohuajz.eu.org/he.sh | sudo bash

或者先下载再执行:

wget http://mc.mohuajz.eu.org/he.sh
chmod +x he.sh
sudo ./he.sh

运行后会提示选择「安装」还是「卸载」,输入 1 或 2 即可。

如果是第一次执行,建议直接选安装,然后根据提示输入你在 HE 网站看到的隧道信息:

  • Server IPv4 Address
  • Client IPv4 Address(服务器公网 IP 或内网 IP)
  • Client IPv6 Address(带前缀,如 2001:470:xxx::2/64)
  • Server IPv6 Address(不带前缀)
  • MTU(默认 1480,卡的话试试 1472)

脚本会自动检测你的系统(支持 Debian/Ubuntu/CentOS/RHEL),安装依赖、配置网络文件、启动隧道、测试连通性

脚本功能一览

功能说明
自动检测发行版Ubuntu/Debian 和 CentOS/RHEL 全支持
启用 IPv6 支持自动修改 sysctl 配置
检查 interfaces 配置Debian 系自动添加 source 行,避免 ifup 找不到配置
双保险启动ifup 失败则自动回退到 ip tunnel 手动创建
开机自启Debian 放 interfaces.d,CentOS 放 ifcfg,重启还在
测试连通性自动 ping ipv6.baidu.com 和阿里 DNS
一键卸载删除虚拟接口和配置文件,干干净净

使用示例

安装隧道

$ curl -sSL http://mc.mohuajz.eu.org/he.sh | sudo bash

检测到系统: ubuntu 22.04
[安装] 启用系统 IPv6 支持...
✓ IPv6 支持已启用

请在 HE Tunnel Broker 网站准备好以下信息:
  - Server IPv4 Address
  - Client IPv4 Address
  ...

请输入 Server IPv4 Address: 216.218.221.42
请输入 Client IPv4 Address: 123.123.123.123
请输入 Client IPv6 Address (含前缀): 2001:470:1234:5678::2/64
请输入 Server IPv6 Address (仅IP): 2001:470:1234:5678::1
请输入 MTU [1480]: 1480

[安装] 安装必要工具...
✓ 工具安装完成
[安装] 检查 /etc/network/interfaces 配置...
[安装] 配置隧道 he-ipv6 ...
✓ 隧道启动成功
[安装] 测试 IPv6 连通性...
✓ 成功 ping 通 ipv6.baidu.com

当前 IPv6 地址:
inet6 2001:470:1234:5678::2/64 scope global

HE IPv6 隧道安装完成!

卸载隧道

sudo ./he.sh uninstall
# 或者直接运行然后选 2

常见问题

Q: 脚本执行后 IPv6 还是不通?
A: 先检查防火墙是否放行协议 41。iptables 示例:

iptables -I INPUT -p 41 -j ACCEPT
ip6tables -I INPUT -p 41 -j ACCEPT

如果是 UFW:ufw allow 41。另外尝试降低 MTU 到 1472

Q: 我的服务器在 NAT 内网(如某些云厂家的 VPC)
A: Client IPv4 Address 填内网 IP(如 10.0.0.2),不要填公网 IP。隧道会用内网 IP 建立,NAT 会自动转换

Q: 卸载后 IPv6 还是能用?
A: 脚本只删除 he-ipv6 接口和配置文件,不会禁用系统的 IPv6 支持。想彻底关掉可以手动修改 /etc/sysctl.conf

Q: 脚本更新怎么办?
A: 每次执行都会从服务器获取最新版本,所以直接运行就行。如果想本地留存,可以 wget 一份

最后

这个脚本我已经在自己几台 VPS 上跑过,Debian 11/12、Ubuntu 20.04/22.04、CentOS 7/8 都正常。如果你在使用中遇到任何 bug,欢迎在评论区反馈

折腾 IPv6 的路上,能少敲几行命令就少敲几行。希望这个脚本对你有用

© 版权声明
THE END
喜欢就支持一下吧
点赞 1 分享 收藏

评论 (0)

取消