搭建VPS并安装SSR,使用Proxifier全局代理,实现校园网免支付不限时不限流上网

苯宝宝假期呆在学校学习,然而校园网实在坑爹。。所以通过一些教程了解了搭建代理服务器的方式通过IPv6来上网,效果还不错,虽然也有一些问题QAQ

环境

  • 苯宝宝所在华北某校,校园网是IPv6+IPv4;

  • 校园网目前针对IPv4收费,IPv6暂时免费,但经过路由器无法使用IPv6;

  • 校园网坑爹限速,即使假期也日均200KB/s,GitHub访问速度一度达到11KiB/s,而IPv6速度贼快,Youtube等墙外网站基本1080P+的清晰度随便看,墙内即使是Bilibili,对于一些没有地区限制的视频(非剧集等),基本上也是1080P+的清晰度流畅观看,下载资源基本满速;

  • 校园网网络认证收费,试图使用路由器尝试多拨等(OpenWRT,以后写这个),但并未破解成功,也未能实现路由器转发IPv6。校园网收费具体如下:

    • 10元/30天(100小时)
    • 30元/30天(200小时) 没错,你没有看错,三倍的价格只有两倍的时间
    • 50元/30天(无限时长) 但是网速并没有任何改变
  • 截图为证:

  • 一般宿舍都是组团买50元的套餐,但是目前学校好像按照账号限速!!!也就是说我们特么6个人分一个号的速度!!!本来网口只有100兆!而且50块钱也太贵了!更多的吐槽不能乱说了,怕水表。

  • 下面开始正题

准备工作

  • IPv6环境,大概就是一个支持IPv6的网口,Windows可以通过网络设置查看,若IPv6显示无网络连接,就是不支持了。
  • 支持IPv6的服务器,我选的是Vultr的,因为有一个比较便宜。。。大概每个月两顿食堂的饭钱不到,还有更便宜的但是配置实在太低了。。。搬瓦工的VPS有个问题就是他家KVM架构不支持。
  • SSH工具,我选择putty
  • 电脑和脑子还有搜索引擎

VPS

搭建

SSR的搭建

  1. 使用秋水逸冰提供的一键安装脚本,可以一键安装Shadowsocks-Python, ShadowsocksR, Shadowsocks-Go, Shadowsocks-libev 版(四选一)服务端;
  2. 使用root登录服务器,并运行一下命令:
  3. SSR是SS的一个改进版本
    1
    2
    3
    wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
    chmod +x shadowsocks-all.sh
    ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
    按需求选择shadowsocksR,然后选择端口什么的,
  • 服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)

  • 密码:自己设定(如不设定,默认为 teddysun.com)

  • 加密方式:自己设定(如不设定,Python 和 libev 版默认为 aes-256-gcm,R 和 Go 版默认为 aes-256-cfb)

  • 协议(protocol):自己设定(如不设定,默认为 origin)(仅限 ShadowsocksR 版)

  • 混淆(obfs):自己设定(如不设定,默认为 plain)(仅限 ShadowsocksR 版)

  • 备注:脚本默认创建单用户配置文件,如需配置多用户,请手动修改相应的配置文件后重启即可。

  • 安装完成后,会提示如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Congratulations, your_shadowsocks_version install completed!
    Your Server IP :your_server_ip
    Your Server Port :your_server_port
    Your Password :your_password
    Your Encryption Method:your_encryption_method

    Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
    ss://your_encryption_method:your_password@your_server_ip:your_server_port
    Your QR Code has been saved as a PNG file path:
    your_path.png

    Welcome to visit:https://teddysun.com/486.html
    Enjoy it!

卸载方式请看秋水逸冰的原文

  1. 下载ShadowsocksR的客户端

更多版本请到仓库内自行搜索

  1. 开启SSR
    /etc/init.d/shadowsocks-r start | stop | restart | status
  • 修改配置文件
    vi /etc/init.d/shadowsocks-r.json
    将”server”:”0.0.0.0”修改为”server”:”::”,然后重启SSR
    /etc/init.d/shadowsocks-r restart

  • 放行IPv6端口

    1
    2
    3
    /sbin/ip6tables -I INPUT -p tcp --dport "yourport" -j ACCEPT    #将这里的"yourport"改成在上面搭建过程中设置的端口
    /etc/rc.d/init.d/ip6tables save #保存端口放行设置
    /etc/init.d/ip6tables restart #重启ip6tables,应用放行设置

SSR客户端的设置/Windows系统

将SSR客户端下载后解压缩,文件夹大致如图:

双击 ShadowsocksR-dotnet4.0.exe 启动
这时任务栏会出现一个小飞机图标,
双击小飞机,填入服务器数据,如果使用IPv6,则将IP一栏填写成服务器的IPv6地址。
例如:

1
2
3
4
5
6
7
8
9
10
服务器IP: #服务器的ip地址
服务器端口: 8388 #前面设置的服务器端口
密码: #前面设置的SSR密码
加密: aes-256-cfb
协议: 默认的 origin 就行
协议参数: 不用管
混淆: 默认的 plain 就行
混淆参数: 不用管
备注: 随意
Group: 随意

右键小飞机,将系统代理模式设置为PAC模式,代理规则为全局,这时小飞机就会变成绿色,像上面的图片一样。
更多SSR的使用请上网自行搜索,包括二维码、绕行规则什么的

使用Proxifier进行全局代理

  • 下载安装Proxifier,注册码啥的靠搜索引擎;
  • 设置代理服务器:
    1. 点击Profile->Proxy Servers,然后点击右侧添加服务器;
    2. Address填:127.0.0.1;
    3. Port填:1080;
    4. Protocol选择:SOCKS Version 5;
    5. 确定。
  • 添加代理规则:
    1. 点击Profile->Proxification Rules,逐一添加;
    2. 将ShadowsocksR-dotnet4.0.exe添加到直连;
    3. 将localhost添加到直连;
    4. 将默认设置为Proxy SOCKS5 127.0.0.1。

使用BBR进行速度优化

核心方法来自秋水逸冰
此方法在苯宝宝的服务器上测试通过

  • 在TCP连接中,由于需要维持连接的可靠性,引入了拥塞控制和流量管理的方法。Google BBR就是谷歌公司提出的一个 开源TCP拥塞控制的算法 。在最新的linux 4.9及以上的内核版本中已被采用。
    BBR算法解析
  • 由于Google BBR非常新,任何低于4.9的linux内核版本都需要升级到4.9及以上才能使用,故若VPS本身内核版本较低的话,只有KVM架构的VPS才能使用,openvz的VPS用户若内核版本较低则无法使用!

由于是使用最新版系统内核,最好请勿在生产环境安装,以免产生不可预测之后果。


内核升级方法

首先查看内核版本:
uname -r
若符合条件则可以继续
一般Vultr新安装的的CentOS 6都是新内核的

我新安装的都是CentOS 7

否则请升级内核。

  • CentOS 系统,执行以下命令即可升级内核:
    yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel
  • CentOS 6:
    sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf
  • CentOS 7:
    grub2-set-default 0

安装BBR

使用root用户登录,运行以下命令:

1
2
3
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。

重启后,进入VPS,验证安装是否成功,分别输入以下命令:

1
2
3
4
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
sysctl net.core.default_qdisc
lsmod | grep bbr

这些命令的返回值一般为:

1
2
3
4
net.ipv4.tcp_available_congestion_control = reno cubic bbr
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
tcp_bbr 20480 8

如与以上结果类似或相同,则BBR已经启动。

结束

那么,使用IPv6的VPS就搭建完成了,可以打开Youtube等不存在的网站试验以下hhh

问题遗留

其实还是有一些问题的,比如路由器不能转换IPv6地址(好像是这么描述的)就是连接路由器以后就无法使用IPv6了,也就是说Wi-fi与IPv6不能一起用诶。

关于路由器不能转换IPv6地址的问题,已经有后面的日志Netgear WNDR3700V4刷OpenWrt,对校园网IPv6使用的进一步探索进行解决。

希望自己也可以成为大佬>_<

参考链接[更新]

某前辈的博客