V2Ray服务端安装和配置

V2Ray简介

V2Ray是近几年十分流行的网络工具,其功能强大,用途不限于突破防火墙,但因其能有效翻墙而广为人知。V2Ray有如下大放异彩的特点:

  • 开源。V2RayProject V的核心工具,源代码开源;
  • 多协议支持。传输层支持TCP、mKCP、WebSocket等,上层协议支持Socks、Shadowsocks、以及自定义的VMess等;
  • 多入口和多出口。V2Ray可同时支持多个入站和出站协议,每个协议独立工作;
  • 多平台支持。原生支持Windows、Linux、MacOS三大常用平台,安卓、iOS两大移动平台有丰富的第三方工具;
  • 隐蔽性。V2Ray流量可伪装成网页流量,更难被检测和干扰。

与另一个知名的翻墙工具Shadowsocks(R)相比,V2ray和SSR区别在于:

  1. V2Ray是一个框架/平台,而Shadowsocks(R)是一个代理工具;
  2. V2Ray功能强大配置复杂,Shadowsocks(R)简单易用;
  3. V2Ray性能更好,协议支持更完善。

一句话总结:V2Ray更好更强大,但更难上手和用好。

服务端安装和配置

首先你需要买一台位于境外的服务器,接着请使用SSH连到服务器,在CentOS、Ubuntu等常用Linux系统上,直接执行如下命令安装V2Ray(如果已安装则更新程序):

bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

安装完成后,配置文件为/usr/local/etc/v2ray/config.json,cat命令可查看内容:cat /usr/local/etc/v2ray/config.json。一个安装时自动生成的配置文件示例:把下列内容输入到此文件内

{
  "inbounds": [{
    "port": 23581,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "ceb793e6-49cf-25d8-e4de-ae542e62748e",
          "level": 1,
          "alterId": 64
        }
      ]
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

配置文件中”inbounds”下的这几项信息需要留意:port(端口)、clients中的id(用户id)和alterId(额外id),它们将在配置客户端时用到。

配置文件无需任何改动即可正常使用。接下来防火墙放行监听的端口,设置开机启动并运行V2Ray

# firewalld放行端口(适用于CentOS7/8)
firewall-cmd --permanent --add-port=23581/tcp # 23581改成你配置文件中的端口号
firewall-cmd --reload
# ufw放行端口(适用于ubuntu)
ufw allow 23581/tcp # 23581改成你的端口号
# iptables 放行端口(适用于CentOS 6/7)
iptables -I INPUT -p tcp --dport 23581 -j ACCEPT
# 设置开机启动
systemctl enable v2ray
# 运行v2ray
systemctl start v2ray

ss -ntlp | grep v2ray 命令可以查看v2ray是否正在运行。如果输出为空,大概率是被selinux限制了,解决办法如下:

1. 禁用selinux:setenforce 0;

2. 重启v2ray:systemctl restart v2ray

到此,服务端应该配置好了。如果服务器商层面还有防火墙(阿里云/Google/AWS购买的vps),请登录网页后台,放行v2ray的端口。