为 VPS 配置 ipv6 地址

本文记录了在VPS上配置IPv6的详细操作步骤。首先测试IPv6连通性,然后通过修改系统配置开启IPv6支持。接着使用Tunnel Broker服务创建IPv6隧道,配置网络接口,最后还设置了定时任务来保持隧道连接。

测试 IPv6 连通性

curl ip.sb -6

# 国外机器
ping6 ipv6.google.com

# 国内机器
ping6 ipw.cn

开启 IPv6

部分厂商提供的云服务器镜像默认是关闭了 IPv6 的(例如阿里云),需要手动修改系统配置文件来开启。以 Debian 为例,编辑 /etc/sysctl.conf,将其中和 IPv6 有关字段的值设置为 0 即可:

net.ipv6.conf.all.disable_ipv6 = 0 
net.ipv6.conf.default.disable_ipv6 = 0 
net.ipv6.conf.lo.disable_ipv6 = 0 
net.ipv6.conf.eth0.disable_ipv6 = 0 

然后应用配置:

sysctl -p

此时使用 ifconfig 命令就可以看到网卡有了一个 IPv6 链路本地地址:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.39.221  netmask 255.255.192.0  broadcast 172.17.63.255
        inet6 fe80::216:3eff:fe00:2109  prefixlen 64  scopeid 0x20<link>
        ether 00:16:3e:00:21:09  txqueuelen 1000  (Ethernet)
        RX packets 33574372  bytes 5658726074 (5.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26217969  bytes 11529139204 (10.7 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

添加 Tunnel

使用与 KVM VPS 无缝集成的 IPv 6 隧道服务。Tunnel Broker 以其可靠性和易用性而著称,是深受用户欢迎的选择。该解决方案可以让您在不影响主要 IPv 4 配置的情况下使用 IPv 6。

访问地址: https://tunnelbroker.net/

使用不在黑名单的 ip 访问网站,点击 Create Regular Tunnel,输入不在不在黑名单的 ip,创建 Tunnel,创建成功后将 Client IPv 4 Address 更改为目标 ip。

点击 Example Configurations,选择操作系统,会生成配置:

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:470:e:8d4::2
        netmask 64
        endpoint 72.185.24.153
        local 172.16.45.89
        ttl 255
        gateway 2001:470:e:8d4::1

local 修改为服务器的私网地址:

ip addr

修改服务器的配置文件,将上面的配置粘贴到最后:

vim /etc/network/interfaces

之后启用 he-ipv6 接口:

apt-get install ifupdown
ifup he-ipv6

查看 ip:

4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
5: he-ipv6@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN group default qlen 1000
    link/sit 10.0.2.15 peer 72.185.24.153
    inet6 2001:470:e:8d4::2/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::c0a8:102/64 scope link
       valid_lft forever preferred_lft forever

如果没有生效可以尝试使用 systemctl restart network 命令重启网络或者直接 reboot

维持 Tunnel 连接

如果一段时间内没有流量,Tunnel 会进入休眠状态。可以使用 crontab 命令添加一个计划任务来使 Tunnel 保持激活:

# 国外机器
*/10 * * * * ping6 -c 1 www.google.com

# 国内机器
*/10 * * * * ping6 -c 1 ipw.cn

本文参考

LICENSED UNDER CC BY-NC-SA 4.0
Comment