1. 隧道申请
  2. VPS配置
  3. 查看IPv6地址
  4. 搭建IPv6的VPN

使用tunnelbroker为VPS创建IPv6隧道。

使用shadowsocks建立IPv6的VPN。

一般VPS没有IPv6地址,如想有IPv6地址,则可以为VPS创建IPv6隧道,只需要有公网IPv4地址即可。因此其它主机也可以创建隧道。

隧道申请

选择一个隧道服务的提供商,如 https://www.tunnelbroker.net/

注册账号并登陆,点击Create Regular Tunnel,在IPv4 Endpoint (Your side)中填入VPS的IPv4地址,在Available Tunnel Servers中选一个较近的Server(这样延迟较小),最后点击Create Tunnel

创建完成后,在Main Page中会显示所创建的隧道,点击进入详情。

IPv6 Tunnel即可看到相关信息,点击旁边Example Configurations即可看到不同操作系统的配置。

VPS配置

根据VPS的系统执行Example Configurations中的命令,一般就完成了。这里选取几种常见的系统的命令。

  • Debian/Ubuntu:

    把以下文本添加到/etc/network/interfaces

    1
    2
    3
    4
    5
    6
    7
    8
    auto he-ipv6
    iface he-ipv6 inet6 v4tunnel
    address 2001:470:XXX:XXX::2
    netmask 64
    endpoint 216.218.221.6
    local XXX.XXX.XXX.XXX
    ttl 255
    gateway 2001:470:XXX:XXX::1

  • Linux-route2:

    在command中运行:

    1
    2
    3
    4
    5
    6
    modprobe ipv6
    ip tunnel add he-ipv6 mode sit remote 216.218.221.6 local XXX.XXX.XXX.XXX ttl 255
    ip link set he-ipv6 up
    ip addr add 2001:470:XXX:XXX::2/64 dev he-ipv6
    ip route add ::/0 dev he-ipv6
    ip -f inet6 addr

  • Mac OS X:

    在command中运行:

    1
    2
    3
    4
    ifconfig gif0 create
    ifconfig gif0 tunnel XXX.XXX.XXX.XXX 216.218.221.6
    ifconfig gif0 inet6 2001:470:XXX:XXX::2 2001:470:XXX:XXX::1 prefixlen 128
    route -n add -inet6 default 2001:470:XXX:XXX::1

  • Windows 10:

    在命令行中运行:

    1
    2
    3
    4
    netsh interface teredo set state disabled
    netsh interface ipv6 add v6v4tunnel interface=IP6Tunnel localaddress=XXX.XXX.XXX.XXX remoteaddress=216.218.221.6
    netsh interface ipv6 add address interface=IP6Tunnel address=2001:470:XXX:XXX::2
    netsh interface ipv6 add route prefix=::/0 interface=IP6Tunnel nexthop=2001:470:XXX:XXX::1

    可能还需要添加IPv6 DNS服务器,在“网络和共享中心”中,选择其中一个网络,修改属性中的“Internet 协议版本 6(TCP/IPv6)”属性,添加DNS服务器,如2001:470:20::2

查看IPv6地址

根据操作系统,运行ifconfigipconfig即可看到IPv6的网络接口,尝试ping或ping6 ipv6.google.com如果成功即创建IPv6隧道成功。

这样,可以在VPS中访问IPv6的资源。

搭建IPv6的VPN

配置VPN有多种方法,这里以shadowsocks为例。

  • 安装shadowsocks服务端

    根据操作系统不同可能有不同的安装方法,这里以python版为例:

    1
    pip install shadowsocks

  • 编辑配置文件,如ss-conf-ipv6.json

    1
    2
    3
    4
    5
    6
    7
    8
    9
    {
    "server":"::",
    "server_port":8388,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"$PASSWORD",
    "timeout":600,
    "method":"aes-256-cfb"
    }

    $PASSWORD填入自定义的密码,server不是IPv4时的0.0.0.0而是::,其它参数自行修改。

  • 启动shadowsocks

    运行以下命令即可:

    1
    ssserver -c ss-conf-ipv6.json -d start

  • 关闭shadowsocks

    运行以下命令即可:

    1
    ssserver -d stop

  • 在客户端中运行shadowsocks

    在主机、平板、手机等上安装相应的shadowsocks客户端并填入相关配置即可:

    1
    2
    3
    4
    5
    Server Addr: 2001:470:xxx:xxx::2
    Server Port: 8388
    Password: $PASSWORD
    Encryption: aes-256-cfb
    Proxy Port: 1080

    这样,客户端可以通过IPv6连接VPN,再通过VPS访问IPv4的资源。