本来之前已经搭建过一次,但是时间太久了,昨天需要的时候又差不多忘记怎么搭了,摸了好久,又弄好了,这次写个文记起来。
2021.9.2补充:
我搭建的时候,买的服务器是多站群IP。
然后多IP跟单IP的v2ray的区别就是在配置文件的内容上。
如果你尝试使用我的方法搭建不能成功使用,可以尝试先用一键搭建脚本搭建一个单IP的v2ray,然后再考虑尝试去修改配置达到多IP的目的。
对了,我记得SSR的搭建好,是直接可以多IP的,不需要修改什么配置,如果不是必要,建议可以去使用SSR。
SSR一键搭建脚本:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
系统:Centos7
1.首先就是先关闭防火墙,执行下方两行代码:
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
2.使用如下v2ray一键搭建脚本:
bash <(curl -s -L https://git.io/v2ray.sh)
一键脚本方法很简单,如无特殊需求,粘贴进去以后,选择安装,一直回车即可。
3.V2Ray 配置文件路径为:/etc/v2ray/config.json 输入如下命令可进入配置文件
vim /etc/v2ray/config.json
如提示缺少vim(例如:bash vim: command not found这样的提示),则可使用如下命令进行安装:
yum -y install vim*
4.进入v2的配置文件之后,按”i”可进行编辑,编辑完成之后按ESC退出编辑模式进入命令模式,输入”:wq”来保存配置文件。
举个例子,入口IP是8.8.8.8和9.9.9.9,出口IP也是8.8.8.8和9.9.9.9,那么如果修改,才能让从8.8.8.8进来的流量从8.8.8.8出去,9.9.9.9进来的流量从9.9.9.9出去呢?
首先我们先设定一个不同且唯一的标记名字(tag)。
8.8.8.8的入口标记名叫做”8888-in”,出口标记名叫做”8888-out”;
9.9.9.9的入口标记名叫做”9999-in”,出口标记名叫做”9999-out”。
其次设定v2ray的访问端口为”18888″,用户ID为”66666666-6666-6666-6666-666666666666″。
然后生成需要的文本:
- 进方向(入口) -> “inbounds”节点文本:
{
"port": 18888,
"listen": "8.8.8.8",
"protocol": "vmess",
"settings": {
"clients": [{
"id": "66666666-6666-6666-6666-666666666666",
"level": 1,
"alterId": 0
}]
},
"streamSettings": {
"network": "tcp"
},
"tag": "8888-in",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
}
}, {
"port": 18888,
"listen": "9.9.9.9",
"protocol": "vmess",
"settings": {
"clients": [{
"id": "66666666-6666-6666-6666-666666666666",
"level": 1,
"alterId": 0
}]
},
"streamSettings": {
"network": "tcp"
},
"tag": "9999-in",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
}
}
- 出方向(出口) -> “outbounds”节点文本:
{
"sendThrough": "8.8.8.8",
"protocol": "freedom",
"settings": {
"domainStrategy": "UseIP"
},
"tag": "8888-out"
}, {
"sendThrough": "9.9.9.9",
"protocol": "freedom",
"settings": {
"domainStrategy": "UseIP"
},
"tag": "9999-out"
}
- 路由关联 -> “routing”节点->”rules”子节点文本:
{
"type": "field",
"inboundTag": "8888-in",
"outboundTag": "8888-out"
}, {
"type": "field",
"inboundTag": "9999-in",
"outboundTag": "9999-out"
}
- 最后把文本都塞进对应节点里面,就是如下效果:
{
"inbounds":[
{
"port":18888,
"listen":"8.8.8.8",
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"66666666-6666-6666-6666-666666666666",
"level":1,
"alterId":0
}
]
},
"streamSettings":{
"network":"tcp"
},
"tag":"8888-in",
"sniffing":{
"enabled":true,
"destOverride":[
"http",
"tls"
]
}
},
{
"port":18888,
"listen":"9.9.9.9",
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"66666666-6666-6666-6666-666666666666",
"level":1,
"alterId":0
}
]
},
"streamSettings":{
"network":"tcp"
},
"tag":"9999-in",
"sniffing":{
"enabled":true,
"destOverride":[
"http",
"tls"
]
}
}
],
"routing":{
"rules":[
{
"type":"field",
"inboundTag":"8888-in",
"outboundTag":"8888-out"
},
{
"type":"field",
"inboundTag":"9999-in",
"outboundTag":"9999-out"
}
]
},
"outbounds":[
{
"sendThrough":"8.8.8.8",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIP"
},
"tag":"8888-out"
},
{
"sendThrough":"9.9.9.9",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIP"
},
"tag":"9999-out"
}
]
}
5.之后记得重启v2的服务即可。