怎样让vps也支持IPv6

怎样让vps也支持IPv6,第1张

给VPS 添加IPV6方式如下:

首先在网卡里添加“(Microsoft TCP/IP 版本6)”协议,然后运行cmd:

1.vps为中文简体,命令如下

“cmd”里 “netsh” 回车

“interface ipv6”回车

(add address "本地连接" 2404:6700::101) 回车

(add dns "本地连接" 2001:4860:4860::8888)

IPV6 路由( add route prefix=::/0 interface="本地连接" 2404:6700::1)

确定是否加成功:Ping www.google.com

2.如果是中文繁体字,可把本地连接改成区域连线,其他保持不变进行添加。

首先要确认vps支持tun/tap设备。运行

cat /dev/net/tun

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

下面要申请一个用于ipv6隧道的ipv6地址池。进入http://tunnelbroker.net/ ,点击左上角面板的Register按钮注册一个帐号。

注册完成后登录,点击左侧的Create Regular Tunnel,在IPv4 Endpoint (Your side):中填入vps的ipv4地址,然后在下面的Available Tunnel Servers里选择一个离你vps机房最近的地点。我是美国西海岸机房的vps,就选择North America ,Los Angeles, CA, US的隧道服务器。点击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隧道客户端。

装好gcc,下载并编译tb-tun:

wget http://tb-tun.googlecode.com/files/tb-tun_r18.tar.gz

tar xvf tb-tun_r18.tar.gzgcc tb_userspace.c -l pthread -o tb_userspace

顺便把编译出的程序移到$PATH里吧

mv tb_userspace /usr/local/sbin

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

setsid tb_userspace tb 5.6.7.8 1.2.3.4 sit

启用虚拟接口:

ifconfig tb up

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

ifconfig tb inet6 add 2000:200:a:f00::2/64

调整虚拟接口的最大传输单元:

ifconfig tb mtu 1480

添加ipv6路由

/sbin/route -A inet6 add ::/0 dev tb

/sbin/ip -6 route add default dev tb

可能还需要删除venet0上的默认ipv6路由,否则ping不通其他ipv6地址。我就是这种情况

ip -6 route del default dev venet0

设置无误的话尝试运行ping6 ipv6.google.com

PING ipv6.google.com(lax02s02-in-x08.1e100.net) 56 data bytes64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=1 ttl=59 time=12.5 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=2 ttl=59 time=22.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=3 ttl=59 time=12.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=4 ttl=59 time=13.2 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=5 ttl=59 time=12.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=6 ttl=59 time=12.4 ms64 bytes from lax02s02-in-x08.1e100.net: icmp_seq=7 ttl=59 time=14.6 ms

^C--- ipv6.google.com ping statistics ---

7 packets transmitted, 7 received, 0% packet loss, time 6006ms

rtt min/avg/max/mdev = 12.441/14.326/22.446/3.396 ms

说明vps本机访问ipv6已经没问题了。然后可以试试从本地ping到vps的ipv6地址。也能ping通说明大功告成了

测试无误就把建立和设置隧道的命令写到/etc/rc.local里去吧

除了tunnel broker,tb_tun也支持isatap连接,不过我没试过,毕竟好用的isatap服务器不好找。

不过tb-tun似乎不是很稳定,有时会丢包或者出现Network is unreachable,不知道是程序的原因还是网络的原因。

类似这种,存成bash脚本,每次开机启动就行

ifconfig sit0 up

ifconfig sit0 inet6 tunnel ::64.62.134.130

ifconfig sit1 up

ifconfig sit1 inet6 add 2001:470:66:16e::2/64

route -A inet6 add ::/0 dev sit1


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/10856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-09
下一篇2023-02-09

发表评论

登录后才能评论

评论列表(0条)

    保存