Friday, December 18, 2015

OpenVZ VPS 上使用 IPv6 隧道

1.确认vps支持tun/tap设备
运行

cat /dev/net/tun

如果返回File descriptor in bad state,说明支持tun/tap。否则请发ticket联系客服。

2.注册 IPv6 Tunnel Broker
进入 http://bit.ly/1NX4gKC,点击左上角面板的Register按钮注册一个帐号。
注册完成后登录,点击左侧的 Create Regular Tunnel,在 IPv4 Endpoint (Your side):中填入 VPS 的 IPv4 地址,然后在下面的 Available Tunnel Servers 里选择一个离你 VPS 机房最近的地点。点击 Create Tunnel 创建隧道。

创建完成后进入刚申请的隧道的详情页面,记下以下信息:

Server IPv4 Address: 服务端的 IPv4 地址,假设为 1.2.3.4
Client IPv4 Address: VPS 的 IPv4 地址,假设为 5.6.7.8
Client IPv6 Address: 获得的 IPv6 地址,假设为 2000:200:a:f00::2/64

点击中间的 Example Configurations 选项卡可以看见各种系统上建立隧道的配置方法,不过OpenVZ 虚拟机都是用不了的。此时需要使用用户层的 tb-tun 隧道客户端。

3.编译 tb-tun

wget http://bit.ly/1TTPch4 
tar xvf tb-tun_r18.tar.gz 
gcc tb_userspace.c -l pthread -o tb_userspace 

把编译出的程序移到 $PATH 里:

mv tb_userspace /usr/local/sbin 

用 tb_userspace 创建一个名为 tb 的虚拟接口并后台运行,第一个地址为服务端地址,第二个地址为 VPS 的本地地址:

setsid tb_userspace tb 184.105.253.14 181.215.100.97 sit 

启用虚拟接口:

ifconfig tb up 

为虚拟接口分配前面申请到的 IPv6 地址:

ifconfig tb inet6 add 2001:470:1f10:37e::2/64 

调整虚拟接口的最大传输单元:(这步可以不做)

ifconfig tb mtu 1480 

添加 IPv6 路由:

/sbin/route -A inet6 add ::/0 dev tb 
/sbin/ip -6 route add default dev tb 

参考资料:http://bit.ly/1NX4gKD

via Chu's Space http://bit.ly/1TTPbtj

Powered by Blogger Skins. Theme: TheBuckmaker | Free Wordpress Templates. Presents HD TV Futurama Streaming. Featured on Wedding Dresses.