前言#
我買了一台 RackNerd 的小雞,看了一圈覺得最合適我了,價格低、配置高、流量大、工單回覆及時,而且也剛好碰上活動,22 年的黑五特惠(不知道為啥活動到現在還沒結束),就下單了。這裡不得不說工單回覆即時這個優點。我因為支付方式還沒準備好,先創建了訂單,等過了兩天才支付的,結果支付了機器一直在等待中,我就開了個工單,很快就有回覆,大概等了兩個鐘左右機器就創建好了。我估計是因為我用信用卡的原因,他們後台得查我是不是在薅羊毛什麼的,才需要這麼久。
VPS 配置#
CPU:1
內存:1 GB
空間:17 GB(RAID 10)
流量:3 TB / 月(1Gbps 端口)
IPv4:1 IPv6:0
$10.98 / 年
購買鏈接:
https://my.racknerd.com/aff.php?aff=7324&pid=358
這個配置拿來搭代理剛剛好,一年 11$,每個月 3T 的流量,還是 1Gbps 的端口。最主要的還是 IP 還支持解鎖 Tiktok 和 ChatGPT。NetFlix 不支持,但是套個 IPv6 就可以解鎖了。
伺服器配置#
系統是Ubuntu20.04
1. 更新 Packages & 更新軟體#
#切換到root
sudo -i
#升級Packages
apt update -y
#更新軟體
apt upgrade -y
2. 安裝常用軟體#
#安裝wget、curl、vim、git、net-tools、lrzsz
apt install wget curl vim git net-tools lrzsz -y
3. 修改系統時區#
#搜索列表是否有Shanghai
timedatectl list-timezones | grep Shanghai
#設置時區為Shanghai時區
sudo timedatectl set-timezone Asia/Shanghai
#查看系統時間
date -R
VMess 協議的認證基於時間,一定要保證伺服器和客戶端的系統時間相差要在 90 秒以內。
4. 開啟 TCP BBR 擁塞控制算法#
#下載腳本
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
#修改腳本權限
chmod 755 /opt/bbr.sh
#運行腳本
/opt/bbr.sh
注意:需要 4.9 及以上的內核才可以開 bbr,因為前面 upgrade 已經把內核也一起更新了,所以運行這個腳本可以直接開啟,無需再重啟系統。
4.1 檢查是否成功開啟 bbr
uname -r #查看內核版本
sysctl net.ipv4.tcp_available_congestion_control
返回值一般為:
net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_congestion_control
返回值一般為:
net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
返回值一般為:
net.core.default_qdisc = fq
lsmod | grep bbr
返回值有tcp_bbr就說明bbr已啟動
tcp_bbr 20480 125
5. 修改 SSH 端口 [可選]#
默認的端口是 22,大家都知道的東西,還有是一定風險的,防止別人暴力破解。
#修改配置
vim /etc/ssh/sshd_config
#在大概15行的位置
#Port 22
把'#'刪除,修改'22'然後保存→ Port xxxx
#重啟sshd服務
sudo service sshd restart
#為了保證伺服器不會失聯,重啟完sshd服務後,新建一個會話嘗試是否能連接伺服器
搭建 Vmes+WebSocket+TLS#
搭建這套代理需要有域名,同時需要套 Cloudflare。
1. 把域名添加到 Cloudflare 的 NameServers 下#
2. 給域名添加一個 A 解析#
這個 A 解析的域名是用來偽裝地址的,在進行第三步前不要把小雲朵打開。
3. 安裝服務#
#運行腳本
wget https://git.io/tcp-wss.sh && bash tcp-wss.sh
這個腳本裡面包含了:
-
安裝並配置 Nginx
-
自動為域名申請 SSL 證書
-
配置 Vmess 協議
4. 前置 Cloudflare#
4.1 開啟 SSL/TLS
操作路徑:點擊 SSL/TLS→Overview→選擇 Full 或 Full (strict)。
4.2 清理快取
清理 CF 快取,點擊 Caching > Configuration > 點擊 Purge Everything 清理所有快取。
4.3 開啟 DNS 代理
把小雲朵打開(實際上不打開一樣有效,但是在運行腳本前不能打開,否則會安裝失敗)。
5. 連接代理#
安裝成功後終端會顯示配置參數:
===========配置參數=============
地址:${domain}
端口:443/8080
UUID:${v2uuid}
加密方式:aes-128-gcm
傳輸協議:ws
路徑:/${v2path}
底層傳輸:tls
注意:8080是免流端口不需要打開tls
依照參數到客戶端進行配置。
6. 修改 Nginx 配置#
通過觀察腳本的源代碼,我們可以知道,我們的域名根路徑/
的代理內容是只有Hello World
的,如果我們的伺服器流量跑大了之後,被防火牆檢測到只有兩個單詞的頁面天天跑那麼多流量肯定會被懷疑,所以我們需要修改根路徑 /
的反代目標地址,找一個看起來就能用很多流量的網站,一般推薦一些自建的網盤地址,符合天天大流量的可能特徵。
這是腳本裡自動配置的內容:
location / {
default_type text/plain;
return 200 "Hello World !";
}
把這一段的內容替換成下面這段:
https://www.fan-2000.com
這個網盤地址是在 Google 隨便找的。
location / {
proxy_pass <https://www.fan-2000.com>;
proxy_redirect off;
proxy_ssl_server_name on;
sub_filter_once off;
sub_filter "fan-2000.com" $server_name;
proxy_set_header Host "fan-2000.com";
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Accept-Encoding "";
proxy_set_header Accept-Language "zh-CN";
}
修改後保存並退出,然後重新加載 Nginx 配置。
systemctl reload nginx
至此,一套 Vmess+ws+tls 代理就搭建完成了。