欢迎访问

大隐中心―技术专题站

本专题将着重讲解如何使用VPS主机开启代理服务器的全套方法,包括主机选择、架设代理服务器以及客户端配置等


需要强调的是,用代理服务器翻墙只不过是众多科学上网的手段之一,相对于购买VPN服务或者代理软件来说,技术门槛相对高一点,但是一切尽在掌握的成就感是其它方式不能比拟的

马 上 开 始

VPS主机选择

价 格

主机价格受内存大小、磁盘类型容量、网络流量等多种因素影响,将多种因素综合考虑选择性价比最高的才是明智之举

网 络

想要代理翻墙效果好,VPS网络要有保障,机房位于亚洲或者北美洛杉矶较佳,当然安全起见机房选在欧洲也无不可,ping值200ms左右即可

类 型

做代理服务器的VPS主机一般为Linux主机,服务商有两种实现方式:KVM和OpenVZ,注意选择KVM方式,因为此种类型主机才能更换内核和开启加速功能

VPS 主机推荐

推荐几款性价比较高的KVM主机,直接点击下面的连接购买(BuyVM主机性价比超高,不过2美元的机器一般抢不到)

HostUS

4.35 / Month
  • 1 CPU Cores
  • 25GB Disk Space
  • 512MB Memory
  • 750GB Bandwidth
  • 1 IPv4 Addresses
推荐
购买

MivoCloud

5.00 / Month
  • 1 CPU Cores
  • 20GB Disk Space
  • 1GB Memory
  • Unmetered Traffic
  • 1 IPv4 Addresses

VULTR

3.50 / Month
  • 1 CPU Cores
  • 20GB Disk Space
  • 512MB Memory
  • 500GB Bandwidth
  • 1 IPv4 Addresses
强烈
推荐

BuyVM

3.50 / Month
  • 1 CPU Cores
  • 20GB Disk Space
  • 1GB Memory
  • Unmetered Traffic
  • 1 IPv4 Addresses

JustVPS

9.99 / Month
  • 1 CPU Cores
  • 10GB Disk Space
  • 1GB Memory
  • Unmetered Traffic
  • 1 IPv4 Addresses
推荐
购买

Fianlhosting

7.50 / Month
  • 1 CPU Cores
  • 40GB Disk Space
  • 2GB Memory
  • Unmetered Traffic
  • 1 IPv4 Addresses

MivoCloud 主机示例

帐号注册成功后,就会进入主机选择页面,其中需要设置的内容也比较少,非常简单

重要部分已经注明

Location 用于指定VPS主机位置,建议选择北美

Operating System 用于指定VPS主机操作系统

主机设置选择完毕后,点 继续 就完成了VPS主机的创建

立 即 购 买

BuyVM 主机购买

帐号注册成功后,就可以购买主机,有三个机房可供选择,每个节点剩余的 VPS 数量会有显示,一般选择位于美国的节点

点击对应商品下而的购买按钮进入购买页面


输入必要内容:

Hostname(主机名):可以随意输入

Root Password(Root 用户密码):自行设定

NS1 Prefix(域名前缀):使用默认ns1即可

NS2 Prefix(域名前缀):使用默认ns2即可

全部内容输入完成后,点击 Continue 继续

之后会显示本次购买的详情信息,选择支付方式后(国内用户可以使用支付宝和微信),点击 Check Out 完成付款

购买完成后,新生成的 VPS 主机信息会通过邮件发送至帐户邮箱。如果需要修改 VPS 配置,会有专门的主机管理页面来配置主机,完成操作系统安装和其他配置

由于2 美元的主机不容易买到,示例采用 3.5 美元主机,除主机配置不同外,其它操作一致

BuyVM 主机安装

BuyVM 主机创建完成后,可以通过主机管理页面更换 VPS 操作系统

进入管理页面 Stallion


页面包含 Overview、Console、Settings、Logs、Networking、Reinstall 和 CD-ROM 功能选项卡

Overview(总览):显示 VPS 概要信息

Console(控制台):进入 VPS 页面控制台

Settings(主机配置):配置主机启动及网络

Logs(操作日志):显示主机操作日志信息

Networking(网络):配置主机网络,包括域名反解(rDNS)设置

Reinstall(重装):重装安装 VPS 操作系统

CD-ROM(镜像):管理操作系统镜像,用于自定义安装系统

给 VPS 更换操作系统,选择 Reinstall 选项卡后,会显示出 BuyVM 预定义的操作系统模板

选择想要安装的操作系统,点击对应的 Reinstall 按钮即可进行操作系统重装

之后系统要求确认删除 VPS 所有数据以及输入 root 用户密码,输入完成后确认进行重装

Finalhosting 主机示例

帐号注册成功后,服务选择页面,点击对应主机的购按钮,进入主机设置页面

页面内容简单明了,关键信息可以显示中文,相当贴心

数据中心只位于荷兰,所以没有数据中心选择项

缴费方式可以月缴、季度缴及年缴等,签于国内的情况,境外 VPS 随时可能被屏蔽,建议月缴,反正多缴也没什么优惠

之后是选择 VPS 的操作系统,以翻墙工具来说没什么什么区别,根据个人喜好选择即可

最后设置一个主机名,点击继续按钮完成主机设置,并进入订单确认及付款

可选项:DDos Protection 为 主机 DDos 防护

可选项:Extra IPv4 address 为 额外 IPv4 地址

可选项:Extra Backup 为额外备份服务

可选项服务一般为额外收费项目,根据实际情况选购,如无特殊要求,可以不选

付款相对麻烦,最方便的方式是使用 PayPal

记得购买主机时需要进行身份认证,实在不行的话,发个工单给客服让认证通过就可以了

付款成功后,主机信息会发送至注册邮箱,包括主机 IP 地址及 root 账户密码等

事实上 Finalhosting 的主机性能相当好,网也比较稳定,运气好的话还会遇到 2 欧元的低价机,非常值得关注

立 即 购 买

代理服务器架设

本专题将着重讲解如何使用VPS主机开启代理服务器的全套方法,包括主机选择、架设代理服务器以及客户端配置等


目前比较好用的代理服务器软件无非就是Shadowsocks和V2Ray,SS由Python开发,可以通过pip安装,使用效果良好;V2Rary由Go语言开发,在并发和网络方便有语言级优势,并且V2R服务器同样支持SS协议,所以建议采用V2Ray

在VPS上开代理服务器大多采用命令行方式,不过命令比较简单,脚本自动化程度很高,不太需要过多配置

需要强调的是,用代理服务器翻墙只不过是众多科学上网的手段之一,相对于购买VPN服务或者代理软件来说,技术门槛相对高一点,但是一切尽在掌握的成就感是其它方式不能比拟的

V2Ray服务端安装示例

V2Ray软件其实不区分客户端和服务端,软件会根据配置文件来扮演相应的角色

命令语句:

# bash <(curl -L -s https://install.direct/go.sh)

安装完成后,修改配置文件/etc/v2ray/config.json,主要修改内容如下:

{
  "inbounds": [{
    "port": 65442,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "Your vmess ID here",
          "level": 1,
          "alterId": 64
        }
      ]
    }
  }],
  "inboundDetour": [
    {
     "protocol": "shadowsocks",
     "port": 65443,
     "settings": {
      "method": "aes-256-cfb",
      "password": "Your shadowsocks password here",
      "udp": false
     }
    }
  ],

在"inbounds"键中指定V2Ray私有协议vmess侦听的端口和对应ID

在"inboundDetour"键中指定shadowsocks协议侦听的端口和对应密码

大 功 告 成
关于V2Ray的更多知识...... 了 解 更 多

代理原理简介

用户想访问被屏蔽的网站时,浏览器首先将数据送至代理客户端,客户端将数据以加密方式传送至服务端,再由服务端将用户数据送至目标网站


同样,代理服务端会接收目标网站的响应,并将响应数据以加密方式传递至用户客户端,再由客户端将响应数据解密反馈给用户浏览器


客户端可以通过pac文件来指引用户数据是否通过代理访问互联网,从而达到节省VPS流量目的

PS:此部分内容理解不了也没关系,不影响翻墙,了解一下有助于理解配置机理

代理客户端使用

客户端分为V2Ray客户端和Shadowsocks两种,使用平台又包括PC的Windows平台、MacOS平台以及移动端的Android平台和iOS平台

可以根据自己使用的平台自行选择客户端

V2Ray软件虽然不区分服务端和客户端,但是Windows平台没有GUI界面,使用不方便,推荐使用V2rayN工具,可以进行可视化管理V2Ray

首先将Windows平台下的V2Ray软件同V2rayN工具放置于同一目录,然后双击V2rayN打开应用,双击任务栏图标后出现配置界面,点击服务器按钮添加vmess服务器

在弹出窗口中填入如下信息:

  • 地址(address): VPS主机IP地址或域名
  • 端口(port): V2Ray服务端设置的端口
  • 用户ID(id): V2Ray服务端设置的ID字符串
  • 别名(remarks):给代理服务器设置别名,方便识别

Shadowsocks客户端设置

双击shadowsocks应用任务栏图标,打开编辑服务器窗口

在弹出窗口中填入如下信息:

  • 服务器地址 : VPS主机IP地址或域名
  • 服务器端口 : V2Ray服务端设置的端口
  • 密码 : V2Ray服务端设置的ID字符串
  • 备注 :给代理服务器设置别名,方便识别

注意到图中有个代理端口设置,这个端口便是同浏览器通信的端口,浏览器默认为1080不需要修改

最后,在浏览器中设置代理服务器,注意浏览器的代理事实上代理客户端软件

目前大多数浏览器都足够智能,可以设置其为自动检测代理

一切都就绪后,就可以用浏览器访问被屏蔽的网址了,比如Google

顺利的话就继续,不成功的话也没关系,可以访问服务页面了解如何处理问题

其它平台客户端配置也类似,主要参数也就是这些,移动端甚至都不需要设置浏览器就可以直接使用

遇 到 问 题

Google BBR算法

代理架设成功后,当然希望使用效果好,速度快,不过VPS主机一般都是共享带宽,在使用高峰期质量得不到保障,不过还有些改善的办法


Google公司开发人员发明了一种算法,用于解决TCP协议传输过程中存在拥塞瓶颈,就是所谓的BBR算法


Linux系统在4.09及其以后内核都将BBR算法加入到内核中,用于提高网络传输速度,充分利用带宽

接下来当然是了解Linux系统更新内核和开启BBR算法的方法

我 要 加 速

更换Linux内核和开启BBR

Linux发行版众多,仅讲解VPS常用的RHEL/CentOS体系和Debian/Ubuntu体系更换内核和开启BBR方法

RHEL/CentOS 7 更换内核

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-ml
# cat /boot/grub2/grub.cfg | grep menu
# grub2-set-default "installed elrepo kernel"

Debian 9 更换内核

修改/etc/apt/sources.list文件为如下内容:
deb http://ftp.us.debian.org/debian/ stretch main non-free contrib
deb http://ftp.us.debian.org/debian/ stretch-proposed-updates main non-free contrib
deb-src http://ftp.us.debian.org/debian/ stretch main non-free contrib
deb-src http://ftp.us.debian.org/debian/ stretch-proposed-updates main non-free contrib
deb http://ftp.us.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://ftp.us.debian.org/debian/ stretch-backports main contrib non-free
deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
# apt-cache search linux-image
# apt install -t stretch-backports linux-image-amd64

开启BBR算法

# uname -r
# echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
# echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# echo "net.ipv4.tcp_fastopen = 3" >> /etc/sysctl.conf
# lsmod | grep bbr
tcp_bbr                20480  8

开启BBR算法所有Linux发行版均适用,第一条命令用于确认内核更换成功,版本高于4.9

之后三条命令用于在系统配置文件中写入开启BBR算法

更换完内核、开启好BBR算法,分别重新启动一下VPS,使用最后一条命令确认BBR算法已经开启

BBR开启成功后,就可以真正享受互联网的自由了

不过好像还缺点什么

工 具 下 载

Trojan 使用之域名证书

Trojan 是近期由大神使用 C++ 开发的全新代理工具


其独特的设计理念,把代理数据隐藏为普通的 HTTPS 请求,最大程度的避免 GFW 的影响

估计 GFW 会根据数据包的协议特征码来拦截互联网特定流量,而普通的 HTTPS 请求由于数量过于庞大,GFW 当然不会处理

于是 Trojan 就反其它翻墙工具而行之,采用最简单的方法,让 GFW 不得不放行代理数据

Trojan 相对麻烦的就是需要使用域名证书,因为这样才能够让代理数据看起来更像普通 HTTPS 流量

那么问题来了,这个域名证书又怎么搞呢

最容易想到的办法当然是到正规域名注册商那里注册一个域名,然后使用免费签名工具生成域名证书

域名注册厂商众多,建议不使用国内注册商,因为都是强制域名备案,国外域名厂商推荐 Namecheap,因为便宜好用

注 册 域 名

域名注册成功后,就可以使用签名工具 certbot 生成域名证书

# yum install certbot
# certbot certonly -v

域名证书包含供网站使用的私钥和供客户端使用建立 TLS 连接的公钥

事实上,Trojan 只需要使用这个公钥和私钥就可以正常启动服务,在购买 VPS 获得公网 IP 后可以使用 IP 地址生成域名证书

首先创建两个证书模板,一个为 CA 服务器模板,另一个为 Trojan 服务器模板

/* ca.txt */
cn = "192.168.1.1"
organization = "GlobalSign DAEHUB"
serial = 1
expiration_days = 3650
ca
signing_key
cert_signing_key
crl_signing_key

/* trojan.txt */
cn = "192.168.1.1"
organization = "GlobalSign DAEHUB"
expiration_days = 3650
signing_key
encryption_key
tls_www_server

    注意 CA 模板文件和证书模板文件中,将 cn = "192.168.1.1" 中的 IP 地址修改为 VPS 的实际地址

有了以上两个证书模板 ca.txt 和 trojan.txt,就可以通过如下命令生成 Trojan 服务器使用的域名证书

# yum install gnutls
# certtool --generate-privkey --outfile ca-key.pem
# certtool --generate-self-signed --load-privkey ca-key.pem --template ca.txt --outfile ca-cert.pem
# certtool --generate-privkey --outfile trojan-key.pem
# certtool --generate-certificate --load-privkey trojan-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server.txt --outfile trojan-cert.pem

通过以上命令,就成功生成了 CA 服务器的公钥文件 ca-cert.pem 和 Trojan 服务器使用域名公钥文件 trojan-cert.pem 和私钥文件 trojan-key.pem

Trojan 使用之安装配置

Trojan 事实上是一个可执行程序,根据配置文件来设置工作模式是服务器还是客户端


在使用 Trojan 时,习惯上服务器运行于 Linux 系统,客户端根据用户使用习惯自行选择

服务器在配置时需要使用之前生成的域名证书,客户端如果采用自签名方式则需要使用 CA 服务器公钥文件

Trojan 服务器的安装需要下载程序发行版、修改配置文件以及添加相应用户及服务等步骤,注意添加系统服务为非必须内容,只是为了使用方便

首先使用如下命令下载 Trojan 的 Linux 发行版,解压文件并将文件拷贝至正确位置

# wget https://www.rultr.com/rultr-content/trojan-1.14.0-linux-amd64.tar.xz
# tar -zxvf trojan-1.14.0-linux-amd64.tar.xz
# mv ./trojan /etc/
# mv /etc/trojan/trojan /usr/bin
# cp trojan-cert.pem trojan-key.pem /etc/trojan

然后修改 Trojna 的配置文件 /etc/trojan/config.json,内容如下

    {
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "Customize_Password_Here"
    ],
    "log_level": 1,
    "ssl": {
        "cert": "/etc/trojan/server-cert.pem",
        "key": "/etc/trojan/server-key.pem",
        "key_password": "",
        "cipher": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHA
CHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256",        "prefer_server_cipher": true,
        "alpn": [
            "http/1.1"
        ],
        "reuse_session": true,
        "session_ticket": false,
        "session_timeout": 600,
        "plain_http_response": "",
        "curves": "",
        "dhparam": ""
    },
    "tcp": {
        "prefer_ipv4": false,
        "no_delay": true,
        "keep_alive": true,
        "fast_open": false,
        "fast_open_qlen": 20
    },
    "mysql": {
        "enabled": false,
        "server_addr": "127.0.0.1",
        "server_port": 3306,
        "database": "trojan",
        "username": "trojan",
        "password": ""
    }
    }

以上配置文件只需要将 Customize_Password_Here 修改为自定义密码即可

最后,使用方便起见,添加一个 systemd 服务

# touch /usr/lib/systemd/system/trojan.service   //RHEL/CentOS
OR
# touch /lib/systemd/system/trojan.service       //Debian/Ubuntu
                        

文件内容如下:

[Unit]
Description=trojan
Documentation=man:trojan(1) https://trojan-gfw.github.io/trojan/config https://trojan-gfw.github.io/trojan/
After=network.target mysql.service mariadb.service mysqld.service

[Service]
Type=simple
StandardError=journal
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/trojan /etc/trojan/config.json
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
                        

至此,Trojan 服务器就搭建完成

Trojan 客户端的使用

主要讲解 Windows 平台 Trojan 的使用

下载 Trojan 软件的 Windows 发行版,并解压至 Trojan 文件夹

  • trojan.exe: Trojan 主程序
  • config.json: Trojan 配置文件
  • LICENSE: Trojan 授权说明文件
  • README.md: Trojan 自述文件

需要使用的文件是主程序和配置文件

先将 Trojan 服务器生成的 CA 公钥文件 ca-cert.pem 拷贝到此目录

然后修改配置文件为如下内容:

{
    "run_type": "client",
    "local_addr": "127.0.0.1",
    "local_port": 1080,
    "remote_addr": "IP_OF_TROJAN_SERVER",
    "remote_port": 443,
    "password": [
        "TROJAN_SERVER_PASSWORD"
    ],
    "log_level": 1,
    "ssl": {
        "verify": true,
        "verify_hostname": true,
        "cert": "ca-cert.pem",
        "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:RSA-AES128-GCM-SHA256:RSA-AES256-GCM-SHA384:RSA-AES128-SHA:RSA-AES256-SHA:RSA-3DES-EDE-SHA",
        "cipher_tls13":"TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
        "sni": "",
        "alpn": [
            "h2",
            "http/1.1"
        ],
        "reuse_session": true,
        "session_ticket": false,
        "curves": ""
    },
    "tcp": {
        "no_delay": true,
        "keep_alive": true,
        "reuse_port": false,
        "fast_open": false,
        "fast_open_qlen": 20
    }
}

需要对配置文件做如下修改:

  • "remote_addr":填入 Trojan 服务器的 IP 地址
  • "password": 填入 Trojan 服务器设置的密码
  • "cert": "ca-cert.pem"

Trojan 客户端就设置完成,可以双击 trojan.exe 启动程序




Trojan 程序启动成功后,会以窗口方式显示信息,在使用过程中不要关闭此窗口



最后,在浏览器网络配置界面配置使用本地 SOCKS v5 代理,配置示例如下:

6666

Clients Worked With

800

Completed Projects

555

Winning Awards

1100

Cups of coffee

工 具 下 载

常用代理客户端工具,点击平台图标下载

V2Ray Core windows 32bit
平台: Windows 32bit,版本:4.21.3
Windows 平台 V2Ray 核心文件 32bit版本
EXE格式,配合v2rayN使用
V2Ray Core windows 64bit
平台: Windows 64bit,版本:4.21.3
Windows 平台 V2Ray 核心文件 64bit版本
EXE格式,配合v2rayN使用
v2rayN
平台: windows,版本:3.2
windows 平台 V2Ray 客户端
EXE,配合V2Ray核心文件使用
V2RayX
平台: macOS,版本:1.5.0
macOS 平台 V2Ray 客户端
zip格式,直接安装使用
v2rayNG
平台: Android,版本:1.1.12
Android 平台 V2Ray 客户端
APK,直接安装使用
Trojan For Windows
平台: Windows ,版本:1.14.0
Windows 平台 Trojan 应用程序
EXE格式,直接使用
Shadowsocks
平台: Windows,版本:4.1.8.0
windows 平台 Shadowsocks 客户端
EXE格式,直接使用
ShadowsocksX-NG
平台: macOS,版本:1.8.2
macOS 平台 Shadowsocks 客户端
zip格式,直接安装使用
Shadowsocks
平台: Android,版本:4.8.5
Android 平台 Shadowsocks 客户端
APK格式,直接安装使用

接 收 最 新 内 容