目录
- 环境
- 代理方案
- 电脑直插
- 路由器
- Step By Step
- 固件下载
2017-12-11:教程已更新,基于最新固件,并不再提供旧固件下载。全程在webui配置,无需命令行操作
Linode Fremont机房;K2(256M)+Padavan,有线网络
众所周知,华工的大一新生,除了计算机和软院外都不能开网,到了下学期,部分学院解禁,但还是有很多同学是不能用的。正所谓办法都是逼出来的,自从某日了解了scut的原生ipv6以后就开始折腾,今整理成文以便学弟学妹们参考~
scut校园网采用双栈接入,ipv4地址固定,drcom认证(802.1x,可用scutclient);ipv6无状态自动获取公网ip,不限流不限速不断网,但是封掉了80端口,大部分ipv6网站无法打开。能够直接打开的ipv6网站只能是https的,例如
(请先设置好ipv6 dns,如2001:4860:4860::8888)
(奇怪的是 https://www.google.com 也无法打开,或许是特殊照顾了)
由于只是封掉了80端口,完全可以利用vpn/ss配合ipv6代理服务器上网。
刚开始发现有高年级同学在“私下提供开网服务”,用的就是搬瓦工vps + softethervpn
国内的vps绝大多数不支持ipv6,我们只能选用香港或境外的vps。
我先后试了digitalocean,vultr和linode,感觉digitalocean新加坡机房最快,延时也很低,然而还没爽几天就被封号了(搜索:digitalocean 封号),后来换了vultr,发现无论选用哪个机房,都要先绕一圈美国,最后用了洛杉矶机房,Ping大约193ms;在下学期又体验了一下linode,总体感觉和vultr差不多,选用美国Fremont机房,延时大约200ms。
代理方案
- VPN
- SS/SSR
最开始发现有人"偷偷"在使用的代理方案是softethervpn,一个很强大的开源vpn,甚至集成了openvpn,L2TP等其他协议。当时经过一番折腾成功配置好了,不过我的目标是在路由器上跑,实测下来,softethervpn很吃路由器和vps的CPU,速度难以突破2.5M/s,而且满速的时候路由器也是不堪重负。
后来不知为何,连接越来越不稳。最后试了下SS,开启BBR加速,速度远快于softethervpn,直插网线能达到端口极限(100M),在路由器上跑也能达到3.5~5.5M/s的峰值速度,因此决定长期使用SS方案。
电脑直插
电脑直插网线,将ipv6地址设置成自动获取,一分钟内可以看到可以获取到2xxx开头的公网ipv6地址。
此时直接使用ss / vpn连接你的ipv6代理服务器即可上网。
路由器
- 前提:刷好OpenWrt / LEDE / Padavan 等第三方固件
- 使用路由器,在大一不能开网之时可以采用SS/VPN全局代理方案;在能开网的时候可以配置成自动fanw,另外由于ipv6不断网,能在12点后继续使用。
- 本文提供OpenWrt / LEDE / PandoraBox / Padavan下的配置
- 建议使用官方的OpenWrt / LEDE / PandoraBox 固件以免遇到各种玄学问题,最佳方案是自己用ImageBuilder打包固件或是用本文提供的固件
路由器上可以实现vpn或者SS代理,由于vpn较吃资源,经数次折腾后决定放弃vpn方案,下面的教程基于SS。
如果想研究softethervpn,请看:
http://right.com.cn/forum/thread-205754-1-1.html
Step By Step
- 前提:路由器必须刷好OpenWrt / LEDE / Padavan 等第三方固件,为了防止出现玄学问题,务必使用纯净的lede/openwrt,或者是自编译的Padavan。
如果你不明白上面说的是啥,请出门右转恩山论坛 - 本教程适合大一不能开网的同学(因为我也不能开网),能开网的请使用scutclient
Padavan
以斐讯K2为例
准备工作:
- 最低配置:8M+64M
- 使用文末提供的固件,斐讯K2无需任何硬改。如果是别的纯净固件,请自行解包加入相关二进制文件或硬改K2引出usb口并配置好entware环境。(其他固件不一定开启了tproxy,可能无法使用ss的udp转发)
- 如果想省事,直接用文末的固件,如果想自己折腾,请参考:
http://www.jianshu.com/p/3a9ec169336e- 一个稳定的SS服务器,具备以下条件
1.有ipv6地址
2.支持udp代理
3.电脑直插网线能正常使用
(推荐自己用vps搭或者找信得过的ss商家)
-
第一步
刷好固件后,先恢复nvram和/etc/storage到出厂状态:
高级设置 - > 系统管理 - > 恢复/导出/上传设置 - > 执行两个恢复
- 第二步
配置ssr,填入服务器的ipv6地址,需要启用全局代理和UDP代理。可以启用ss-tunnel作为dns服务器,当然你可也可以使用dns-forwarder
- 第三步
配置dnsmasq
在内部网络(LAN)--DHCP服务器--自定义配置文件"dnsmasq.servers"
最后一行加入server=127.0.0.1#5300
如果用的是dns-forwarder,那应该是server=127.0.0.1#5301
dnsmasq
以下内容适用于旧版固件,请直接无视,跳到第四步
- 第二步
ssh登入
运行
start
- 第三步
修改"/etc/storage/ss.json",填入服务器的ipv6地址,端口,密码和加密方式。
注意ipv6地址之间的冒号
然后一定要执行:
mtd_storage.sh save
- 第四步
按菜单次序,先设置wifi的SSID和密码,这里不说了。
接下来是外部网络(WAN),为了让路由器自身也能使用SS全局代理,我们给WAN配一个IP地址,这里的IP可以随意指定,可以用172.16.0.0-172.31.255.255之中的任意一个,网关,掩码和DNS也都填上。
WAN口的ipv6设置,按照下图即可:
wan.ipv6要每天定时自动重启的可以添加crontab;
crontab&watchdog需要能断网重连的可以在自定义设置 -> 互联网探测器中按下图配置(当WAN口已插入网线但无法访问129.42.60.212:443时,自动重启SS相关进程)
插上网线并重启路由,在网络地图查看WAN口有无获取到2xxx开头的ipv6地址,如果没有,请检查WAN -> IPv6设置 是否配置正确。
Ok.PNG本文提供的固件集成了NAPT66(默认关闭),内网设备在开启ipv6相关支持后可直接访问非80端口的ipv6外网,如:
https://tv.byr.cn
https://www.youtube.com
https://www.google.co.jp
关于napt66的其他信息请看:http://www.jianshu.com/p/cb51fb0fb2ac
Done.
Openwrt / LEDE / PandoraBox
以品胜ar71xx云路由为例
准备工作
- 最低配置:8M+64M
- 刷好Openwrt / LEDE / PandoraBox,请使用纯净版系统。PandoraBox直接用官方稳定版,lede可用文末的固件
- 对于PandoraBox或纯净版op/lede,推荐使用文末软件源中的ss(需要梯子)
- 一个稳定的SS服务器,具备以下条件
1.有ipv6地址
2.支持udp代理
3.电脑直插网线能正常使用
(推荐自己用vps搭)
- 第一步
刷好固件后,进入luci界面,设置完root密码后配置WAN口的ipv6,默认即可
- 第二步
查看WAN口是否成功获取到了2xxx开头的公网ipv6地址,如果没有,请检查网线是否插牢并重启一下路由。
- 第三步
ssh登入,执行
ping6 2001:4860:4860::8888
或
ping6 2001:da8:202:10::36
如果提示Permission denied(多半是PandoraBox),就执行以下操作
ip6tables -F
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
uci set network.wan6.sourcefilter=0
uci commit network
ifup wan6
并且最好把ip6tables -F
加到防火墙自定义规则中
- 第四步
设置SS
- 第五步
设置dnsmasq
如果要让路由器自身也能上网,需要给WAN口指定一个固定ipv4地址,并且把SS设置成自身代理模式。这里的ipv4地址可以任意填写。
12.PNG 4.PNG如果需要让内网设备也能使用ipv6,请参考:
http://www.jianshu.com/p/eb07eaac6167
Done.
固件下载
Padavan:http://www.jianshu.com/p/52282cd07284
lede:https://pan.baidu.com/s/1eSs7Hg2 密码: mz8k
上文使用的ss软件源(可能需要梯子):http://openwrt-dist.sourceforge.net/packages/
网友评论
/etc/storage/路径下没有 ss.json;
我手动写了一个,放进去;
之后按教程走,其中IPV6地址,显示的是动态地址,且没自己更改,我们学校是连接一个设备分配一个IPV6地址;
重启之后,可以获得2001开头的V6地址,但是网络连接不通,不知道哪里的原因?
是不是我ss.json写错了?
LEDE固件我在另一个路由器上成功了。