今年墙又升级了,很多SS/SSR用户的VPS IP都被封了,要么就是VPS的端口被秒封,本文介绍下V2ray使用WebSocket+TLS+Nginx来实现科学上网的方法,虽然配置比较麻烦,但是稳定性好,不容易被干扰,也不容易被墙。总是受VPS IP被墙这个问题困恼的朋友可以试试。
一、准备工作
首先要有一台国外VPS,这里推荐使用搬瓦工,年付$49.99起,还有CN2 GIA-E(年付$119起),支持支付宝,详细可以参考一些便宜性价比高的VPS推荐(搬瓦工VPS)。
之后需要一个域名,可以付费购买(推荐Namesilo),也可以在Freenom申请一个免费域名(申请教程),之后解析到你的VPS IP上。
二、安装V2Ray
直接使用V2Ray官方脚本即可:
# 安装v2ray bash <(curl -L -s https://install.direct/go.sh) # 直接使用脚本 service v2ray start # 启动 vim /etc/v2ray/config.json # 修改配置文件
三、配置V2Ray服务器端
此脚本会自动安装以下文件:
/usr/bin/v2ray/v2ray
:V2Ray 程序;/usr/bin/v2ray/v2ctl
:V2Ray 工具;/etc/v2ray/config.json
:配置文件;/usr/bin/v2ray/geoip.dat
:IP 数据文件/usr/bin/v2ray/geosite.dat
:域名数据文件 此脚本会配置自动运行脚本。自动运行脚本会在系统重启之后,自动运行 V2Ray。目前自动运行脚本只支持带有 Systemd 的系统,以及 Debian / Ubuntu 全系列。
运行脚本位于系统的以下位置:
/etc/systemd/system/v2ray.service
: Systemd/etc/init.d/v2ray
: SysV
脚本运行完成后,你需要:
编辑 /etc/v2ray/config.json
文件来配置你需要的代理方式;
运行 service v2ray start
来启动 V2Ray 进程;
之后可以使用 service v2ray start|stop|status|reload|restart|force-reload
控制 V2Ray 的运行。
编辑V2ray配置文件:
{ "log" : { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, "inbound": { "port": 9000, //(此端口与nginx配置相关) "listen": "127.0.0.1", "protocol": "vmess", "settings": { "clients": [ { "id": "eb950add-608e-409d-937f-e797324387093z", //你的UUID, 此ID需与客户端保持一致 "level": 1, "alterId": 64 //此ID也需与客户端保持一致 } ] }, "streamSettings":{ "network": "ws", "wsSettings": { "path": "/v2ray" //与nginx配置相关 } } }, "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" } ] } } }
四、配置Nginx
Nginx安装很简单的,Google一下就有了。
另外,编辑Nginx配置文件,添加一个配置:
server { # SSL configuration listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; ssl_certificate /ssl.pem; #你的ssl证书, 如果第一次,可能还需要自签一下, ssl_certificate_key /ssl.key; #你的ssl key root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name test.v2ray.com; #你的服务器域名 location /ray { #/ray 路径需要和v2ray服务器端,客户端保持一致 proxy_redirect off; proxy_pass http://127.0.0.1:10000; #此IP地址和端口需要和v2ray服务器保持一致, proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; } }
关于域名ssl 证书,使用certbot自动签一个let’s encrypt证书就行了, 很简单,参考链接: https://certbot.eff.org/,成功后, 在crontab 中添加一条任务计划每三个月执行一次,因为let’s encrypt证书三个月过期:
0 0 15 */3 * /root/certbot/certbot-auto renew #在3,6,9,12月份的15号零点零分执行更新
五、配置V2Ray客户端
编辑V2Ray客户端配置文件:
{ "log": { "loglevel": "warning" }, "inbound": { "port": 1080, "listen": "127.0.0.1", "protocol": "socks", "settings": { "auth": "noauth", "udp": false } }, "inboundDetour": [ { "port": 8123, "listen": "127.0.0.1", "protocol": "http", "settings": {} } ], "outbound": { "protocol": "vmess", "settings": { "vnext": [{ "address": "test.v2ray.com", // 服务器地址,请修改为你自己的服务器 ip 或域名 "port": 443, // 服务器端口 "users": [{ "id": "461aad1f-687c-4188-9abc-80073a618ca3", //你的UUID, 此ID需与服务端保持一致 "level": 1, "alterId": 64, //此ID也需与客户端保持一致 "security": "aes-128-gcm" }] }] }, "streamSettings":{ "network": "ws", "security": "tls", "tlsSettings": { "serverName": "test.v2ray.com" //此域名是你服务器的域名 }, "wsSettings": { "path": "/ray" //与服务器配置及nginx配置相关 } }, "tag": "forgin" }, "outboundDetour": [ { "protocol": "freedom", "settings": {}, "tag": "direct" } ], "routing": { //此路由配置是自动分流, 国内IP和网站直连 "strategy": "rules", "settings": { "domainStrategy": "IPIfNonMatch", "rules": [ { "type": "chinaip", "outboundTag": "direct" }, { "type": "chinasites", "outboundTag": "direct" }, { "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": "direct" } ] } }, "policy": { "levels": { "0": {"uplinkOnly": 0} } } }
或者下载Windows客户端:V2RayN
打开软件,点击:服务器→添加[VMess]服务器:
填上你设置的对应数据,如服务器ip、端口、UUID(服务端和客户端必须一致),加密方式一般为aes-128-gcm
,协议为ws
,伪装域名留空,路径为/ray
,开启tls和不安全传输,设置完保存。
右键V2RayN的系统栏小图标,点击启用Http代理
,Http代理模式选择第二个PAC模式
,最后再打开V2RayN软件面板,在检查更新里选择更新PAC
。
到此,V2Ray就全部配置完成了。
转载请超链接注明:月下博客 » V2Ray+WebSocket+TLS+Nginx配置与使用教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!