用VPS搭建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
8auto 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::1Linux-route2:
在command中运行:
1
2
3
4
5
6modprobe 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 addrMac OS X:
在command中运行:
1
2
3
4ifconfig 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::1Windows 10:
在命令行中运行:
1
2
3
4netsh 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地址
根据操作系统,运行ifconfig
或ipconfig
即可看到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
5Server Addr: 2001:470:xxx:xxx::2
Server Port: 8388
Password: $PASSWORD
Encryption: aes-256-cfb
Proxy Port: 1080这样,客户端可以通过IPv6连接VPN,再通过VPS访问IPv4的资源。