centos7安装v2ray+websocket+tls+nginx+cdn

准备工作

以下操作均需要用root账号登录服务器,服务器最好开启bbr,开启了bbr后,v2ray的数据传输速度要快很多。

安装v2ray服务器

对于 V2Ray的验证方式包含时间,就算是配置没有任何问题,如果时间不正确,也无法连接 V2Ray 服务器的,服务器会认为你这是不合法的请求。所以客户端和服务端的系统时间一定要正确,只要保证时间误差在90秒之内就没问题。

bash <(curl -L -s https://install.direct/go.sh) #在线安装v2ray
vi /etc/v2ray/config.json #在inbounds的节点加上如下配置:

"listen":"127.0.0.1",
"streamSettings": {
  "network": "ws",
  "wsSettings": {
    "path": "/ray"
  }
}

完整的配置如下:

{
  "inbounds": [{
    "port": 20892, //此处为安装时生成的端口
    "listen":"127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", //此处为安装时生成的id
          "level": 1,
          "alterId": 64 //此处为安装时生成的alterId
        }
      ]
    },
    "streamSettings": {
      "network": "ws",
      "wsSettings": {
        "path": "/ray"
      }
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

systemctl enable v2ray #设置为开机自动启动
systemctl start v2ray #启动v2ray服务

安装nginx

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm #安装nginx源
yum install -y nginx #安装nginx
systemctl enable nginx #设置nginx为开机自动启动
mkdir /etc/nginx/ssl #在nginx安装目录下创建ssl文件夹
vi /etc/nginx/conf.d/default.conf #将此文件设置为如下配置:

server {
    listen       443 ssl;
    server_name  yourdomain.com; #修改为自己的域名
    ssl_certificate ssl/yourdomain.com.crt; #将yourdomain.com修改为自己的域名
    ssl_certificate_key ssl/yourdomain.com.key; #将yourdomain.com修改为自己的域名

    location /ray {
        proxy_redirect off;
        proxy_pass http://127.0.0.1:20892; #修改为你自己的v2ray服务器端口
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 60s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 60s;
    }

}

生成ssl/tls证书

注册一个cloudflare账号,添加自己已注册的域名,注意将域名A记录的Proxy status设置为橙色云朵状态,这样才会走cloudflare的CDN,如果设置为灰色云朵状态,表示不走cloudflare的CDN,而是域名直连你自己的服务器,然后在你的域名注册服务商那里将域名的dns服务器修改为cloudflare提供的dns。

点击cloudflare的SSL/TLS菜单,在SSL的那一栏,将右侧的下拉框设置为Full(Full表示客户端->CDN,CDN->服务器的数据传输都加密),默认为Flexible(Flexible表示客户端->CDN加密,CDN->服务器不加密),因为服务器已经开启了tls,所以这里需要设置为Full。

访问https://dash.cloudflare.com/profile/api-tokens,添加一个API TOKEN,设置Zone.Zone的读权限以及Zone.DNS的写权限,等会会用到这个API TOKEN。

yum install -y socat
curl  https://get.acme.sh | sh
source ~/.bashrc
export CF_Token="xxxxxxxxxxxxxxxxxxxxx" #修改为cloudflare的API TOKEN
acme.sh --issue --dns dns_cf -d yourdomain.com -d *.yourdomain.com -k ec-256 #将yourdomain.com修改为自己的域名
cat ~/.acme.sh/yourdomain.com_ecc/fullchain.cer > /etc/nginx/ssl/yourdomain.com.crt #将yourdomain.com修改为自己的域名
cat ~/.acme.sh/yourdomain.com_ecc/yourdomain.com.key > /etc/nginx/ssl/yourdomain.com.key #将yourdomain.com修改为自己的域名
systemctl start nginx
acme.sh --installcert -d yourdomain.com -d *.yourdomain.com --fullchainpath /etc/nginx/ssl/yourdomain.com.crt --keypath /etc/nginx/ssl/yourdomain.com.key --ecc --reloadcmd "systemctl reload nginx" #将yourdomain.com修改为自己的域名

安装v2ray客户端(Windows)

访问https://github.com/v2ray/v2ray-core/releases,找到windows的zip(有32位和64位,根据自己系统的情况选择),点击即可下载,下载完后解压,进入解压后的文件夹,修改config.json,在outbounds的开头位置(第一个节点表示默认节点)增加如下配置:

{
  "protocol": "vmess",
  "settings": {
      "vnext": [
        {
              "address": "yourdomain.com", //此处填写你的域名
              "port": 443,
              "users": [
                {
                      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", //此处填写服务端的id
                      "alterId": 64 //此处填写服务端的alterId
                }
              ]
        }
      ]
  },
  "streamSettings": {
      "network": "ws",
      "security": "tls",
      "wsSettings": {
        "path": "/ray" //此处填写服务端的wsSettings.path
      }
  }
}

右键wv2ray.exe(注意是wv2ray.exe,而不是v2ray.exe,wv2ray.exe是后台运行,没有窗口,而v2ray.exe是前台运行,有窗口,关闭窗口后也就关闭了客户端),点击创建快捷方式,在键盘上按Win+R,输入shell:startup,将会自动打开启动文件夹,把刚刚创建的快捷方式剪切到此启动文件夹下,以后每次开机就会自动启动wv2ray.exe。

双击wv2ray.exe启动客户端,在浏览器中设置代理为SOCKS5 127.0.0.1:1080即可畅游世界了。

安装v2ray客户端(Mac)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" #安装brew,如果已安装brew,则此步骤忽略
brew tap v2ray/v2ray #安装v2ray仓库
brew install v2ray-core #安装v2ray-core
vi /usr/local/etc/v2ray/config.json #在outbounds的开头位置(第一个节点表示默认节点)增加如下配置:

{
  "protocol": "vmess",
  "settings": {
      "vnext": [
        {
              "address": "yourdomain.com", //此处填写你的域名
              "port": 443,
              "users": [
                {
                      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", //此处填写服务端的id
                      "alterId": 64 //此处填写服务端的alterId
                }
              ]
        }
      ]
  },
  "streamSettings": {
      "network": "ws",
      "security": "tls",
      "wsSettings": {
        "path": "/ray" //此处填写服务端的wsSettings.path
      }
  }
}

sudo brew services start v2ray-core #启动v2ray客户端,并注册为开机自动启动(前面加sudo表示登录前启动,前面不加sudo表示登录后启动,具体使用方法请参考:brew services -h)。

最后,在浏览器中设置代理为SOCKS5 127.0.0.1:1080即可畅游世界了。

安装v2ray客户端(iOS)

1、用美国Apple账号登录app store(中国app store已经屏蔽了此app),搜索并安装kitsunebi,打开app,弹出是否允许安装VPN,点击允许。
2、进入kitsunebi后,点击最下面的服务器,操作模式选择Rule,点击右上角的+号,点击手动配置,添加服务器相关配置,点击保存。点击订阅中的Kitsunebi右侧圆形图标,将自动更新取消勾选(如果开启了自动更新,那么,自动订阅服务器手动更新和删除的记录会被自动更新覆盖),点击存储,将自动订阅服务器下的所有记录删除(在记录上往左轻扫将会出现删除按钮)。在传出代理中选中刚刚添加的服务器。
3、点击最下面的更多菜单,代理选项的自动重连取消勾选(如果勾选了自动重连,在今日视图切换kitsunebi的开关会跳到kitsunebi的应用内,这是ios的一个bug)。
4、点击最下面的状态,点击界面上的开关,即可打开/关闭VPN连接,然后就可以畅游世界了。在VPN打开状态下,国内网站以及国外允许访问的常用网站会直接连接不走VPN,其他的网站才会走VPN。这些规则是在app最下面的高级中配置的,默认会使用app自带的名称为Default的规则集,这些规则会自动更新,如果要手动修改Default规则集的配置,需要将Default规则集的自动更新关闭,否则会被自动更新覆盖。
5、在今日视图中,点击最下面的编辑按钮,在更多小组件中,添加kitsunebi。以后在今日视图中,可以非常便捷的开关kitsunebi的VPN连接了。

参考资料:

https://toutyrater.github.io/
https://github.com/v2ray/homebrew-v2ray
https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E
https://www.nutgeek.com/new-kitsunebi-tutorialrules/

标签: centos7安装v2ray+websocket+tls+nginx+cdn

添加新评论