翻墙论坛|翻墙党社区

 找回密码
 立即注册
查看: 5219|回复: 7

使用shadowsocks,搭建ipv6VPN,让ipv4上ipv6,下载速度提升到100M

[复制链接]

0

主题

0

回帖

14

积分

新手上路

Rank: 1

积分
14
发表于 2018-7-29 10:53:55 | 显示全部楼层 |阅读模式


        基本效果
  • 在本地有IPv6网络的情况下,使用IPv6网络访问互联网(对校园网来说,不产生IPv4流量)。
  • 在本地有IPv6网络的情况下,设置迅雷等下载工具使用shadowsocks代理,下载速度达到100Mbps。
  • 在本地只有IPv4网络的情况下,可以访问所有IPv6网站。
  • 在本地只有IPv4网络的情况下,设置迅雷等下载工具使用shadowsocks代理,下载速度达到本地最大带宽。
前提条件
  • 双栈(同时支持IPv4和IPv6)服务器。
  • 若希望本地使用IPv6连上服务器,需确认本地具备IPv6网络。
配置服务器IPv6地址配置这里DigitalOcean的VPS为例:
  • 对于新建Droplets:创建时记得勾选ipv6即可。
  • 对于现有Droplets:参照DigitalOcean VPS打开IPv6,及解决IPv6地址Ping不通问题。
创建或修改好后在DigitalOcean此Droplet的控制面板Setting中显示的Public IPv6 Address即为此VPS的IPv6地址。这里还是要强调一下,IPv6地址后的/64一般情况下都不需要。
测试如果本地有IPv6网络的话,ping自己的IPv6地址应该就能ping通了。如Windows下ping 2001:4860:0:2001::68,macOS下ping6 2001:4860:0:2001::68。
服务器端搭建shadowsocks搭建shadowsocks服务器可以参考如下“我写的”或“秋水逸冰”任一即可。
我写的参考Ubuntu 16.04下Shadowsocks服务器端安装及优化。
注意修改config.json中的必要参数,注意server参数需要设定为"::"才能使用IPv6
  • 启动shadowsocks:sudo systemctl start shadowsocks-server;
  • 设置开机启动Shadowsocks:sudo systemctl enable shadowsocks-server。
秋水逸冰秋水逸冰提供了一键安装shadowsocks的脚本,相对来说更方便,参考Shadowsocks Python版一键安装脚本。
注意修改config.json中的必要参数,注意server参数需要设定为"::"才能使用IPv6
  • 启动shadowsocks:/etc/init.d/shadowsocks start。
示例config.json{    "server":"::",    "server_port":8388,    "local_address": "127.0.0.1",    "local_port":1080,    "password":"mypassword",    "timeout":300,    "method":"aes-256-cfb",    "fast_open": false}本地使用shadowsocks客户端下载客户端Windows版本下载页:Releases · shadowsocks/shadowsocks-windows。
macOS版本下载页:Releases · shadowsocks/ShadowsocksX-NG。
客户端配置客户端点选“添加服务器”,填写“地址”、“端口”、“加密方法”和“密码”即可。其中“端口”、“加密方法”和“密码”与前面设置的服务器配置相同。
因为服务器支持IPv4和IPv6双栈,所以客户端实际可以配置两个服务器参数,其仅有“地址”不相同。对于IPv4,填写服务器的IPv4地址;对于IPv6,填写服务器的IPv6地址(不需要[和],末尾不需要/64)。
测试为了保险起见,客户端选择IPv4服务器。
  • Windows:选择“启用系统代理”;选择“PAC”,“从List更新本地PAC”。如果连接正常的话过几秒钟就会提示PAC更新成功。这时将“系统代理模式”设置为“PAC模式”。
  • macOS:选择“从GFW list更新PAC”。如果连接正常的话过几秒钟就会提示PAC更新成功。这时勾选“PAC自动模式”。
打开浏览器,访问[url]www.google.com或[url]www.youtube.com,正常情况下可以很快打开。
然后设置客户端中服务器为IPv6地址的,同样访问上述网站,若都能很快正常打开,则shadowsocks配置成功。
应用浏览器翻墙在PAC模式下,访问一般网站会直接访问,而访问被墙掉的网站则会走shadowsocks;如果需要全部走shadowsocks的话,只需要将shadowsocks客户端设置为全局模式即可。
如果你希望让浏览器(而非客户端)控制上网模式,请参考使用SwitchyOmega(Chrome)。
IPv4访问IPv6网站因为服务器端开通了IPv6,所以即使shadowsocks使用的IPv4,即本地计算机通过IPv4连接服务器,仍然是可以访问IPv6网站的;这里可以试试访问http://bt.byr.cn/,应该能很快打开。
若不能打开,可尝试将shadowsocks客户端设置为“全局模式”,即所有访问全部经过shadowsocks。
迅雷下载加速实际上,将shadowsocks客户端设置为“全局模式”就已经可以实现迅雷下载了,但效果并不理想。
正确的方法是在迅雷的“系统设置”->“高级设置”->“代理设置”中“添加”代理。
代理名称随便填,服务器填写本地地址,如127.0.0.1,端口填写本地端口,如1080,类型选择Socks5;然后点击测试,测试成功点击确定。
然后在“代理设置”中将除“迅雷服务器连接”外的其他连接都设置为使用代理(“迅雷服务器连接”保持为“直接连接”),后点击“应用代理”,然后“确定”即可。
这时就可以随便下个大点的文件测试速度了,当然下载资源来自国外最好了,在shadowsocks配置为ipv6时,下载速度一般在10M/s以上。
原理很简单,现在IPv6一般是各大高校免费使用,而IPv6的带宽就是100M,即理论下载速度为12.8M/s;而本地计算机与服务器通过IPv6连接时,一般都是达到最大带宽,服务器再访问IPv4资源时,可以认为带宽是无限大的,所以瓶颈在于教育网IPv6的100M宽带。使用shadowsocks时,代理和直接访问是可以同时工作的,所以理论最大值并不是100M,而是叠加IPv4带宽,如可能达到110M。
同理,如果shadowsocks使用的是ipv4,则显然下载速度能够达到本地下载速度的最大值。
下载IPv6资源想要下载北邮人的BT资源?这个也没问题。
设置下载工具,如UT的代理:“设置”->“连接”,代理类型选择Socks5,代理IP为127.0.0.1,端口如1080,注意一定要将“对于主机名查询使用代理”,“对于点对点连接使用代理”打钩!
这样下载北邮人上内容时就能够轻轻松松达到本地最大带宽,再也不用受限制于IPv4、IPv6了。
FAQPAC更新失败出现这个问题一般是客户端当前设置的服务器连接不上,尝试使用IPv4地址的服务器,检查本地能否ping通服务器,检查端口号、加密方式和密码是否正确。
被墙的网站仍无法打开在shadowsocks客户端中选择“显示日志”,查看具体错误信息:
  • 显示诸如远程服务器未相应,考虑ping服务地址,若ping不通则需要排查错误。
  • 显示诸如服务器积极拒绝,则考虑时服务器防火墙问题。对于Ubuntu而言,很有可能时UFW的问题,需要使用ufw disable关闭UFW。
IPv6无法访问六维空间六维空间似乎对境外地址作了屏蔽,可以试试访问bt.byr.cn。
IPv4网站可以访问,但IPv6网站不能访问如果是六维空间不能访问,参考问题“IPv6无法访问六维空间”
首先需要确定本地使用的shadowsocks在访问网站,访问ip138.com查看显示的IP地址是否是服务器的地址,若为本地IP地址,说明当前的IPv4访问直接走的本地网络,当然也就不能访问IPv6网站了。
如果确实是使用的shadowsocks访问,则尝试ssh连上服务器,ping IPv6网站,判断服务器是否能够访问IPv6网络。
迅雷下载设置IPv6代理,下载速度慢若下载的是P2P资源,则下载速度慢是正常情况(因P2P依赖上传者实时上传)。
尝试下载来自服务器的资源,如ted.com上的视频,一般情况下可以跑到12M/s。
迅雷下载提示资源出错将迅雷代理设置中的“迅雷服务器连接”设置为“直接连接”即可。
本地不能通过IPv6连上服务器首先确定本地有可用的IPv6网络,即本地有如2001开头的IPv6地址,浏览器可以访问[2001:da8:215:4078:250:56ff:fe97:654d](包含左右中括号)。
再确定服务器端配置文件中server字段值为"::"。
本地只能通过IPv6连上服务器(IPv4无法连接服务器)这种问题一般出现在shadowsocks-libev中,这时需要将配置文件中的server字段配置为["::0","0.0.0.0"]。
使用shadowsocks后打开网站慢若本地有IPv4网络,则考虑使用PAC模式,即没被墙的网站直接走本地IPv4网络,被墙的走shadowsocks。
或者尝试在服务器端优化网络连接,参考Ubuntu 16.04下Shadowsocks服务器端安装及优化。
有些IPv6网站可以连上,有些连不上一种可能的原因是某些IPv6网站对IP作了限制,如拒绝境外IP访问。
另一种原因是某些IPv6网站实际是IPv4/IPv6双栈的,即IPv4也可访问,例如ipv6.baidu.com。
uTorrent设置代理后红种在uTorrent的代理设置中将“对于主机名查询使用代理”,“对于点对点连接使用代理”打钩。
4G蜂窝网络代理打不开网站蜂窝网络不支持IPv6,所以只能设置连接服务器的IPv4地址。
手机可以使用IPv6连上服务器吗手机能否通过IPv6连上服务器取决于手机到服务器的整个连接过程是否全部支持IPv6。最主要的地方在一手机到路由器之间,和路由器到服务器之间。
首先路由器本身能够获得IPv6地址,简单来说,插在路由器上的网线直接查到电脑上,电脑要能够直接获得IPv6地址。
其次路由器要支持IPv6,即手机通过WiFi连上路由器后,手机能够自动获得一个如2001开头的IPv6地址。
在家里/使用蜂窝网络可以连上shadowsocks,但在公司/学校就用不了这个一般是公司/学校封锁了端口(非常用端口或大数字端口),可以尝试将服务器shadowsocks端口修改为如80、443等常用端口号。
Windows下可以用,但到macOS下就不行了请确认使用的客户端是ShadowsocksX-NG而非ShadowsocksX。
WiFi支持IPv6,但手机无法通过IPv6连上服务器如果是Android设备的话,受限于设备制造商和Android版本,并不是所有的Android设备都支持IPv6。可以尝试直接访问某些IPv6网站,测试手机是否支持IPv6。
电脑有IPv6网络,可以通过WiFi分享给手机用吗?电脑通过自身的无线网卡,或USB网卡发射WiFi信号,绝大部分情况都是不支持IPv6的,即手机连上后只有IPv4地址,所以手机并不能直接通过IPv6连上服务器。
   
回复

使用道具 举报

0

主题

184

回帖

0

积分

新手上路

Rank: 1

积分
0
发表于 2019-1-20 09:45:06 | 显示全部楼层
来学习了,感谢楼主!!!
回复 支持 反对

使用道具 举报

0

主题

184

回帖

0

积分

新手上路

Rank: 1

积分
0
发表于 2019-1-20 09:46:02 | 显示全部楼层
来学习了,感谢楼主!!!
回复 支持 反对

使用道具 举报

0

主题

15

回帖

102

积分

注册会员

Rank: 2

积分
102
发表于 2019-1-20 15:40:13 | 显示全部楼层
好复杂的赶脚
回复 支持 反对

使用道具 举报

0

主题

6

回帖

19

积分

新手上路

Rank: 1

积分
19
发表于 2019-1-28 16:29:11 | 显示全部楼层
学习ing。看样子好复杂
回复 支持 反对

使用道具 举报

0

主题

2

回帖

30

积分

新手上路

Rank: 1

积分
30
发表于 2019-2-13 01:11:33 | 显示全部楼层
楼主是bupt的吧
回复 支持 反对

使用道具 举报

0

主题

2

回帖

8

积分

新手上路

Rank: 1

积分
8
发表于 2019-4-23 19:23:59 | 显示全部楼层
能感到楼主写的很用心,但是还是看不懂啊,能指条明路不,应该先了解什么
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-19 05:54 , Processed in 0.183617 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表