用腾讯云轻量应用服务器(海外)优雅的科学上网

作者:Lee | 最后编辑于:2021年5月6日21:27:07 | 旧版


导览

原理/背景/需求

使用Google等网站是国际生必备技巧之一。为了应对GFW的存在,我们需要一个"代理",通过它转发我们的流量至被封锁的网站。

代理原理图

我们常说的ss,ssr,v2ray 等,都是代理的不同协议。vpn并不是为代理而生,但它也可以用来绕过GFW。

你可以购买其他人提供的vpn或代理("机场")(比如Lee Accelerator),不过自己搭建更加的安全、高速。如何用最简单的方法自己搭建代理呢?

免责声明:本文仅作技术分享、交流学习之用,作者不承担读者根据本教程配置云服务器所带来的后果,读者的一切行为和作者无关

步骤

一、购买一个国外的云服务器

笔者推荐腾讯云的轻量应用服务器,它价格实惠、网络稳定、带宽高、延迟低(以上这些形容的都是香港),非常适合拿来搭载与网络相关的应用。如果你已经拥有其他海外服务器,也可以参考本教程搭建代理服务器。当然,如果你担心安全性和匿名性问题,也可以选择购买别家的服务器。

  1. 注册腾讯云账号(如有可跳过):腾讯云官网

    注意:注册后要进行实名认证(没有年龄限制),才可以购买和使用云服务器

  2. 购买服务器:

    进入控制台,点击云产品=>计算=>轻量应用服务器,点击新建;

    新建

    地区可选择香港/新加坡/硅谷/东京/莫斯科地区,推荐香港或新加坡;镜像选择系统镜像=>Ubuntu 18.04 LTS或20.04;实例套餐选择24元/月;购买时长建议先购买一个月,如果好用再续费;勾选"同意《腾讯云服务协议》《退款规则》";点击"立即购买"。

    选择配置

    点击提交订单。

    提交订单

    付款之后回到控制台,找到轻量应用服务器,有显示你刚买的服务器,说明购买成功。

    创建中

    创建完成后是这样的:

    购买成功

    右下角显示的就是服务器的ip地址,你的设备就是通过这个ip地址在茫茫互联网中找到服务器的。不要轻易分享给别人!

二、在服务器上安装代理软件的服务端

为了较高的安全性、较低的被墙几率和保证客户端系统的兼容性,我们会搭建v2ray协议的代理软件。更多关于v2ray的信息可以在这里找到:ProjectV官网。为了进一步提升安全性,建议开启WebsocketTLS功能。

为了最大程度降低安装的困难,我们会使用笔者的一键脚本安装v2-ui这款面板软件以及自动设置v2ray+WebSocket+TLS。它在安装的同时会自动安装v2ray核心,之后我们就可以通过网页来管理v2ray的服务端。

  1. 购买一个域名(如已拥有可跳过):

    腾讯云域名注册

  2. 添加域名解析,把域名指向你的服务器ip

    以腾讯云为例,进入控制台=>DNS解析DNSPod,点击域名上的"解析":

    域名解析控制台

    点击"快速添加网站/邮箱解析":

    点击网站解析:

    输入你的服务器的ip地址:

    添加完成后,看到两条A记录(@和www)出现,就说明解析添加成功。

    如果你在其他服务商注册域名,可以参考其官方文档,按照教程添加解析记录。

  3. 登录服务器:

    进入腾讯云控制台,进入轻量应用服务器,点击实例上的"登录"

    登录

    点击之后,会有一个黑色的框框弹出来:

    shell

这就是通过ssh连接的服务器的终端界面,我们全部对服务器的操作都要通过在终端中通过命令(bash)完成。本次教程不会涉及到复杂的操作,只要跟着指示来就可以完成。

  1. 安装v2-ui

    复制下面这行命令,然后右键终端,粘贴(终端内不要用Ctrl+V,不要用Ctrl+V,不要用Ctrl+V!!!),按下回车

    这时候你会发现终端提示符最前面的lighthouse变成了root,说明我们进入了临时的超级管理员用户模式。只有在root用户下才能运行脚本。

    接着复制以下命令,粘贴,回车,来运行脚本:

    安装过程中会提示输入已经解析到这台服务器的域名和邮箱,输入完按回车就行

    如果发现输错了按回车出现^H,按下Ctrl+C退出脚本并重新运行一次就行。

    安装完成后,会出现以下提示:

    说明安装成功。

  2. 放通端口

    笔者的脚本已经把面板和v2ray服务集成到了443端口中,无需额外配置防火墙

  3. 进入面板

    在浏览器中,输入https://<你服务器的ip>/v2-ui就可以访问v2-ui页面。注意用英文的冒号!

    登录面板

    输入默认的用户名admin和默认密码admin登录。进来之后是这样:

    面板首页

    点击左边的面板设置:

    面板设置

    修改用户名和密码,来保证安全性,因为默认密码是非常危险的!此外你还可以修改登陆标题,它完全不会影响面板的功能 。

    接下来,点击左边的"账号列表":

    面板7你可以点击编辑按钮修改这里默认的id为任意一个uuid(百度搜索uuid生成器,生成出来格式一样就没问题)来确保安全性。

    记住这个id,我们在之后客户端连接的时候会用到。不要分享这些信息给别人。如果你想把代理服务器分享给其他人,请参考下文。

    服务器端软件的安装和配置到此完成。

三、安装客户端

注意事项

在连接时,请在客户端手动配置服务器的端口为443,并打开tls选项

各平台的客户端下载

各个客户端的使用教程请自行搜索。

注:对于v2rayN或v2rayNG,你可以通过面板的二维码快速导入服务器信息。

拓展

开启其他端口

如果出于某种原因(比如分享给其他人但是不会配置Nginx)你需要放通服务器的其他端口,请参考以下方法:

进入控制台,点击服务器,点击上面的防火墙:

防火墙

我们可以看到,出于安全原因,腾讯云默认会封锁除80, 443, 22, 3389以外的全部端口入流量。

点击"添加规则":

放通v2-ui的端口

协议选TCP+UDP,端口填你想放通的端口(1-65535),点击确定,我们可以看到这项规则已经添加。不建议直接放通全部端口,这样虽然方便,但是会使安全性大大降低。

与朋友分享

修改服务器的Nginx配置文件,默认为/etc/nginx/conf.d/v2ray.conf

server块里添加如下段落:

其中【路径】是WebSocket路径,【端口】是v2ray监听的端口。

【路径】不可以是//fuckgfw/v2-ui,其中第二个是默认账号,第三个是v2-ui。

修改完配置文件,nginx -s reload重启Nginx来应用更改

然后在面板里新建一个账号,如图。

端口填写你刚才Nginx配置里的端口,传输配置选择ws,路径填你刚才Nginx配置里的路径,其他不要动,点击确定。

同样,在客户端手动把端口改为443和开启tls就可以使用了(你可以在你这里改好然后直接分享给Ta改好的)

如果你不想让朋友继续使用,直接删除账号或者修改id就行。

注:此方法无需手动放通端口

与朋友分享 - 不同端口

请参考使用腾讯云的免费证书开启TLS中,略过申请证书部分,按“假设你上传了证书文件”来操作。

面板中新建一个账号,vmess+ws+tls,证书文件路径填写/etc/letsencrypt/live/【域名】/fullchain.pem,密钥文件路径填写/etc/letsencrypt/live/【域名】/privkey.pem即可。

别忘了放通端口

使用腾讯云的免费证书开启TLS

默认情况下,脚本通过certbot以nginx占用80端口验证的方式实现获取ssl证书。如果你无法使用这种方式,请尝试手动申请ssl证书。

  1. 申请SSL证书:

    进入控制台=>SSL证书,点击"申请免费证书":

    点确定:

    按照提示输入信息:

    通用名称填写你注册的域名(加不加www.都行,但是后面设置tls一定要保持一致),申请邮箱填你的邮箱,证书备注名随便填,私钥密码不填,所属项目不改,点击确定:

    如果你的域名是在腾讯云注册的,选择自动DNS验证;如果是在其他服务商注册的,根据详细说明添加DNS记录手动验证。

    申请后等几分钟到几十分钟,证书就能申请成功。 证书颁发成功后,在控制台=>SSL证书中找到证书,点击下载。

    下载下来是一个.zip文件,解压,进入里面的Nginx/,有一个.crt文件和一个.key文件,他们分别是证书文件和密钥文件。之后我们要把这两个文件上传到服务器:

    • 如果你在设置了ssh密钥且使用Xshell等支持lrzsz的ssh客户端,用sudo apt install lrzsz命令安装lrzsz后用rz命令将证书上传至服务器;

    • 如果你有FileZilla、winscp等sftp客户端,在设置ssh密钥后可以用它将证书上传至服务器;

    • 如果你的电脑是Linux或者macOS系统,在设置ssh密钥后可以在终端内使用scp命令将证书上传至服务器;

    • 或者直接粘贴证书的内容至终端:

      用记事本或其他文本编辑器分别打开证书和密钥文件,复制其中的内容,在终端中分别输入这些命令:

      分别将证书和密钥保存至服务器上的/etc/v2ray/文件夹里的v2ray.crtv2ray.key文件中。如果你知道你在做什么,你也可以把证书保存到其他路径下。相比直接在面板中粘贴,这样做的好处是在添加更多账号时可以直接使用证书文件的路径,而不需要再次粘贴证书内容。

    • 最简单的办法是在v2-ui面板中直接粘贴证书内容,接下来会讲到。

    上传至服务器后,如果你会配置Nginx,可以手动修改Nginx的配置文件(默认为/etc/nginx/conf.d/v2ray.conf)添加你的证书。如果你不知道Nginx是什么,请参考以下方法:

  2. 修改面板设置:

    进入面板,在账号列表中编辑账号,把tls这一项开启:

    注意域名要和申请SSL证书时所填域名一致!

    • 如果你上传了证书文件:

      填写证书文件和密钥文件的路径即可。

    • 如果你选择直接在面板中粘贴证书文件内容

      将刚刚下载的.crt文件和.key文件分别用记事本或其他文本编辑器打开,把.crt文件的内容复制到"证书文件内容"里,把.key文件的内容复制到"密钥文件内容"里。

    配置完成后,看到tls为开启状态,说明tls开启成功。

    这一步操作之后,你可以忽略443,在放通了v2-ui中设置的端口(默认10000)后直接通过这个端口连接v2ray。

    别忘了在客户端修改或重新添加配置文件,直接从v2-ui复制链接就可以。

国内中转

受各种条件(物理线路长,公网出口限速等)影响,国内网络下的设备直接连接国外服务器的效果可能并不理想,此时如果我们使用专门的服务器来中转,可以提高代理连接的带宽,在某些情况下还可以降低延迟。笔者推荐以下中转方式:

中转的软件推荐:

其他图形化v2ray面板

像SSPanel,v2board这种面板都属于商用的机场面板,如果你安装v2ray都只能靠一键脚本的话还是别碰了。