说明:
由于购买的 ranknerd 的 vps 配置了 ipv6,我决定以后都使用 ipv6 进行 ssh 连接。然而,汇站家里都没有 ipv6,所以我想到了使用云服务器作为跳板机进行 ssh 连接。但是,轻量云服务器没有 ipv6 支持,所以我需要找到其他方法。之前我听说过给没有 ipv6 的云服务器配置 ipv6 的方法,但是我记不清了。后来我询问了一下,得知了HE 隧道的方法。
Hurricane Electric(HE)是一家位于美国的全球互联网服务提供商,他们运营着世界上拥有最多对等连接的IPv6网络,并且提供免费的 IPv6 隧道服务。隧道服务允许 IPv6 流量通过 IPv4 网络传输,基本原理是通过在 IPv4 网络中封装 IPv6 数据包,使其能够在 IPv4 网络中传输。在隧道的两端,有两个 IPv6 节点,它们通过 IPv4 网络进行通信。当 IPv6 数据包进入隧道时,它被封装在 IPv4 头部中,以便通过 IPv4 网络传输。在离开隧道时,IPv6 数据包被解封,还原为原始的 IPv6 数据包。
创建隧道
然后,按照如图所示的步骤进行操作:
请在下方输入服务器的公网 IP 地址,并选择适合自己的节点,如香港、新加坡、日本等。创建完成后,点击隧道,即可查看配置隧道的详细内容。
在隧道创建完成后,可以看到隧道客户端和服务端各自的 IPv4 和 IPv6 地址,配置时会用到。
至此,隧道创建完成。
服务器启用 ipv6
请修改 /etc/sysctl.conf 中的 IPv6 配置:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
确保上面的参数值为 0,0 代表启用,1 代表禁止使用 ipv6。
然后执行:
sysctl -p
配置 ipv6 隧道
这里 debian 系列和 centos 的配置不同。
1. debian 配置 v6
debian 系统包括 debian/ubuntu,都是使用如下配置。
sudo tee /etc/network/interfaces.d/he-ipv6 <<EOF
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 客户端 ipv6
netmask 64
endpoint 服务端 ipv4
local 客户端 ipv4/内网 ip
ttl 255
gateway 服务端 ipv6
EOF
这里需要注意的是,local 可能需要配置为内网 ip,否则无法进行使用。
然后安装网络工具包,并启用隧道。
sudo apt update
sudo apt install net-tools iproute2 -y
sudo ifup he-ipv6
提示 ifup: unknown interface he-ipv6 ,则添加 source /etc/network/interfaces.d/ 到 /etc/network/interfaces 文件(一把梭命令:echo ‘source /etc/network/interfaces.d/’ >> /etc/network/interfaces)后重试,正常情况下无输出。
重启网卡:
systemctl restart networking
测试 ipv6 是否配置好:
ping6 ipv6.baidu.com
2. centos 配置 v6
centos 运行如下命令创建一块新的网卡:
cat > /etc/sysconfig/network-scripts/ifcfg-he-ipv6 <<EOF
DEVICE=he-ipv6
BOOTPROTO=none
ONBOOT=yes
TYPE=sit
IPV6INIT=yes
IPV6TUNNELIPV4=服务端 ipv4
IPV6ADDR=客户端 ipv6
IPV6_MTU=1480
IPV6_DEFAULTGW=服务端 ipv6
EOF
重启网卡:
systemctl restart network
测试 ipv6 是否配置好:
ping6 ipv6.baidu.com
转载请注明:汇站网 » 如何使用 HE 隧道添加 IPv6 地址在云服务器