使用DigitalOcean服务器进行网络代理

在学习了计算机网络,其中有一章为网络代理,什么是网络代理?打个比喻就是相当与两个人在对话,但他们中间隔着一堵墙,导致这两个人的对话出现障碍,但是刚好有个“幽灵”,它可以透过这堵墙,将两个人的聊天信息转发给对方。通过这个“幽灵”这两个人就可以正常聊天,不会受到这个墙的影响。

现在你在上网,刚好要访问一个放在远程服务器的网页,此时你的电脑和远程的服务器相当于上述两个聊天的人,但是由于距离太远,相当于一堵墙,此时需要一个“幽灵”来帮助你们之间的信息传输。在此使用DigitalOcean的服务器来实现“幽灵”的功能,也就是网络代理。

注册DigitalOcean账号

首先去DigitalOcean上去注册账号,就会送你10美元,现在政策好像改为100刀60天使用权了。登入之后看到如下界面,点击Create

之后选择Droplets

接着选择CentOS操作系统,再选择服务器的型号,如果你的网络地址支持IPv6的话,还可以添加上IPv6的地址


在选择好上述选项后点击确认创建,之后DigitalOcean就会给你发送邮件,里面有该服务器的IP地址,用户名和用户密码

在Windows下通过Xshell来连接到远程的服务器,新建一个会话,输入服务器IP地址,确认后,在连接成功后就可以输入用户名和密码进行连接


如果电脑上有安装Git或者Bash Shell可以支持SSH连接的命令行工具的话,可以使用ssh 用户名@IP地址,该教程下,用户名为root,IP地址DigitalOcean提供,在建立连接之后,才会让你输入密码。

BBR 加速

首先进行BBR加速,输入

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

如果这个命令运行有问题的话,将这个命令拆成三个命令运行

1
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh

1
chmod +x bbr.sh
1
./bbr.sh

一些Linux系统在最初命令可能会不全,需要下载相应的命令,在这个安装过程中,用到的wget这个命令可能会缺失,如果是RedHat系的Linux系统,使用yum install wget,如果是Debian系,使用apt install wget,本文使用的是CentOS,属于RedHat系的,使用第一个命令行就可以进行安装。

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

1
sysctl net.ipv4.tcp_available_congestion_control
返回值为
1
net.ipv4.tcp_available_congestion_control = bbr cubic reno
输入
1
sysctl net.ipv4.tcp_congestion_control
返回值为
1
net.ipv4.tcp_congestion_control = bbr
>返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。

ShadowsocksR 安装

输入

1
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh

1
chmod +x shadowsocksR.sh   
1
./shadowsocksR.sh 

上面的3行代码要依次复制然后粘贴到ssh里,运行后出现如下界面,可以自己设置密码,否则服务器采用默认的密码

设置端口

设置加密协议,一般采用默认值

设置协议和混淆参数,一般情况下使用默认值

配置完后,安装ShadowsocksR并显示出当前配置好的参数

进入配置文件,将IPv6的参数改为“true”,这样就可以使用IPv6的通道


然后输入

1
/etc/init.d/shadowsocks status
可以查看 ShadowsocksR 进程是否已经启动如果显示 running表示已经启动。

这样就实现了“幽灵”这一角色的功能,最后只要在自己的客户端上安装ShadowsocksR就可以使用了,这样就完成了网络代理了。