vps无ipv6,利用tb-tun软件添加IPv6 tunnel

我买的vps估计太便宜了,不配ipv6地址,而且无法加载ipv6模块。但能开启TUN/TAP,所以用软件tb-tun来建立ipv6 tunnel,使得能走ipv6流量。然后在学校里可以用ipv6且不限网速,这样ss用起来应该就快很多吧。:-D

1. 在HE上申请免费的ipv6地址

原理是vps与HE的服务器之间走ipv4流量,然后HE再转换为ipv6流量并为其分配ipv6地址。这样我们的vps就相当于“有了一个ipv6地址”,并能进行通信。
HE网址为:https://tunnelbroker.net/。注册登录后,点击Create Regular Tunnel。成功后,可见其为我们分配的ipv6地址,网页不要关,后面设置要用。

2. 将TUN/TAP开启

这个可以在vps的控制面板里开启,请确定已经开了,因为后面tb-tun需要。

3. vps上安装tb-tun

下载tb-tun,执行:

wget http://tb-tun.googlecode.com/files/tb-tun_r18.tar.gz
tar xvf tb-tun_r18.tar.gz
编译tb-tun,执行:

gcc tb_userspace.c -l pthread -o tb_userspace
(—————–如果提示gcc没有安装的,使用以下命令安装gcc再编译:

apt-get update
apt-get install gcc
)

4. 设置tunnel

在HE网页上找到下面3个对应项

Server_IPv4_Address
Client_IPv4_Address
Client_IPv6_Address
这里写图片描述

将你自己的值替换到下面的代码中,依次执行:

setsid ./tb_userspace tb Server_IPv4_Address Client_IPv4_Address sit
ifconfig tb up
ifconfig tb inet6 add Client_IPv6_Address
ifconfig tb mtu 1480
route -A inet6 add ::/0 dev tb
ip -6 route del default dev venet0
现在就设置好了,我们可以ping一下看是否能访问ipv6网站:

ping6 ipv6.he.net
这里写图片描述

5. ss同时监听ipv4和ipv6

配置ss同时监听ipv4地址和ipv6地址。根据需要自行修改相应的值:

server_port是服务器的端口
password是密码
method是加密方法
写ss的配置文件:

vi /etc/ss.json
内容为:

{
“server” : “::”,
“server_port”:8388,
“password”:”mypassword”,
“timeout”:600,
“method”:”aes-256-cfb”,
“fast_open”: false
}
加载配置文件,后台启动ss:

ssserver -c /etc/ss.json -d start
客户端填入的服务器地址为分配的ipv6地址: Client_IPv6_Address。