設定 V2ray + TLS(進階篇)
前面那麽多步驟,就是希望 V2ray 能使用 TLS 來偽裝,現在到戲玉了。
這部份進階篇會假設大家已經懂得使用 SSH 進入,已經懂得安裝 V2Ray,如果不懂可以由第一頁看起,不再重複了。
最初準備工作會和基本篇一樣,在 firewall 開 port 和令 V2ray 開機自動執行。
使用 TLS 偽裝,當然最好使用 port 443, 萬一真的不能使用的話,可以考慮 8443. 而今次教學會使用 443.
本篇文假設你已經完成了基本篇,所以只會標示需要修改的地方。
首先在 firewall 開啓 port 443(將基本篇的 10086 改為 443)
nano /jffs/scripts/firewall-start
將以下內容複制 & 貼上
#!/bin/sh iptables -I INPUT -p tcp --dport 443 -j ACCEPT
按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。
再來建立一個令 V2ray reload 的設定。
nano /jffs/scripts/v2ray-reload.sh
#!/bin/sh #find old v2ray process and kill it. ps -w | grep /jffs/v2ray/v2ray | grep -v grep | awk '{print $1}' | xargs kill #sleep 10s for wait port release sleep 10 #load v2ray again nohup /jffs/v2ray/v2ray --config=/jffs/v2ray/config.json >/dev/null 2>&1 &
按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。
之後令到所有指令都變為可執行狀態:
chmod a+rx /jffs/scripts/*
現在,將 v2ray 自動重載指令會定時啓動,所以要將它加入 services-start.
現在 services-start 應該會變成這樣子。
nano /jffs/scripts/services-start
#!/bin/sh RC='/opt/etc/init.d/rc.unslung' i=30 until [ -x "$RC" ] ; do i=$(($i-1)) if [ "$i" -lt 1 ] ; then logger "Could not start Entware" exit fi sleep 1 done $RC start #sleep 5min for DNS update sleep 300 #cert create sh /jffs/scripts/acme-issue.sh& #v2ray start mkdir /var/log/v2ray/ nohup /jffs/v2ray/v2ray --config=/jffs/v2ray/config.json > /dev/null 2>&1 & #check v2ray every 15 minute cru a check-v2ray "*/15 * * * * /jffs/scripts/v2ray-check.sh > /dev/null" #let v2ray auto restart cru a restart-v2ray "30 3 1 * * /jffs/scripts/v2ray-reload.sh > /dev/null"
按 Ctrl + X 退出,之後按 Y 確定儲存,再按一下 Enter 確定檔案名。
現在每個月 1 日 3:30am 都會自動重啓一次。
最大改變,就是 V2ray 的設定檔,今次介紹的設定是 V2ray + TLS 偽裝。
雖然比不上 NGINX 的完全 HTTP 連線,但已經是第二隱密的設定了。
nano /jffs/v2ray/config.json
將以下內容貼上,但同樣再次提醒,記得更改 ID,和你的 domain 域名。
如需要新的 UUID 可以到這個網站抄一個。
{ "log" : { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, "inbound": { "port": 443, "protocol": "vmess", "settings": { "clients": [{ "id": "23ad6b10-8d1a-40f7-8ad0-e3e35cd38297", "level": 1, "alterId": 64 }] }, "streamSettings": { "security": "tls", "tlsSettings": { "serverName": "ent-home.asuscomm.com", "certificates": [ { "certificateFile": "/jffs/ssl/cert.pem", "keyFile": "/jffs/ssl/key.pem" } ] } } }, "outbound": { "protocol": "freedom", "settings": {} }, "outboundDetour": [{ "protocol": "blackhole", "settings": {}, "tag": "blocked" }], "routing": { "strategy": "rules", "settings": { "rules": [{ "type": "field", "ip": [ "0.0.0.0/8", "10.0.0.0/8", "100.64.0.0/10", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24", "192.0.2.0/24", "192.168.0.0/16", "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "::1/128", "fc00::/7", "fe80::/10" ], "outboundTag": "blocked" }] } } }