0.背景
国内包括腾讯、阿里等轻量云及弹性云服务器产品都不提供 IPv6 地址或提供地址但不提供 IPv6 网关转发支持。如阿里云 ECS,默认不支持 IPv6,但 IPv6 CIDR 分配、VPC、VNIC 绑定等均可顺利完成,唯独需配置(购买)IPv6 网关带宽才能开启完整的 IPv6 功能,此处不做评价。既然如此,我们不妨使用 HE(Hurricane Electric)的 IPv6 隧道服务(tunnelbroker),获得近乎无穷的 IPv6 地址的同时还建立了一条专用的跨洲隧道。即使在 HE IP 大量被“认证”的今天,HE ipv6 tunnel 也是不可多得的优质免费服务,既可以访问外网,也可以用于内网穿透发布内网服务。
1.简介
Hurricane Electric (简称:HE) 是一家位于美国的全球互联网服务提供商。该公司运营了世界上以对等数最大 IPv6 网络,同时也提供免费的 IPv6 隧道服务,其隧道服务可以追溯到 2001 年。虽然经过多年的发展 IPv6 已经相当普及,但依然还是有部分 VPS 商家由于各种各样的原因没有给 VPS 标配 IPv6 地址,有的需要加钱、有的甚至不给加钱。如果此时有访问 IPv6 网络的需求,就可以接入 HE Tunnel Broker 提供的 IPv6 隧道免费给 IPv4 VPS 主机添加公网 IPv6 地址来获得 IPv6 网络的访问能力。
2.创建 Tunnel Broker IPv6 隧道
- 注册 Tunnel Broker 账号:Hurricane Electric Free IPv6 Tunnel Broker
- 点击左侧的
Create Regular Tunnel
(创建常规隧道) - 输入 VPS 的公网 IP 地址
- 根据 VPS 的位置选择一个合适的节点
- 页面拉到最下方,点击
Create Tunnel
(创建隧道)
在 Tunnel Details 页面可以看到创建的 IPv6 隧道的详细信息,其中 Client IPv6 Address 是申请到公网 IPv6 地址。
3.获取配置示例
在 Tunnel Details 页面有个 Example Configuration 选项卡,在这里你可以选择合适的配置示例。就比如这里有 Debian/Ubuntu 的 interfaces
配置文件示例:
只要基于 Debian 的发行版和使用 interfaces
配置文件的系统理论上都可以使用。其它不兼容的发行版则可以使用 Linux-net-tools 或 Linux-route2 示例手动输入命令。这里使用的是Linux-net-tools版本进行配置,直接输入对应的命令执行完即可。
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::66.220.18.42
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:xxxxxa6::2/64
route -A inet6 add ::/0 dev sit1
4.测试效果
通过ip a
命令可以查看到配置的对应的IP
19: sit0@NONE: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
inet6 ::10.147.17.193/96 scope global
valid_lft forever preferred_lft forever
inet6 ::172.17.0.1/96 scope global
valid_lft forever preferred_lft forever
inet6 ::172.20.245.117/96 scope global
valid_lft forever preferred_lft forever
inet6 ::127.0.0.1/96 scope host
valid_lft forever preferred_lft forever
20: sit1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000
link/sit 0.0.0.0 peer 66.220.18.42
inet6 2001:xxxx:c:3a6::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a93:11c1/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::ac11:1/64 scope link
valid_lft forever preferred_lft forever
inet6 fe80::ac14:f575/64 scope link
valid_lft forever preferred_lft forever
ping测试
(base) [root@aliyun vaultwarden]# ping6 2400:3200:baba::1
PING 2400:3200:baba::1(2400:3200:baba::1) 56 data bytes
64 bytes from 2400:3200:baba::1: icmp_seq=1 ttl=115 time=343 ms
64 bytes from 2400:3200:baba::1: icmp_seq=2 ttl=115 time=402 ms
64 bytes from 2400:3200:baba::1: icmp_seq=3 ttl=115 time=442 ms
64 bytes from 2400:3200:baba::1: icmp_seq=4 ttl=115 time=407 ms
64 bytes from 2400:3200:baba::1: icmp_seq=5 ttl=115 time=313 ms
5.配置优先使用 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 地址则代表成功。
评论 (0)