v2ray多入口ip多出口IP

本来之前已经搭建过一次,但是时间太久了,昨天需要的时候又差不多忘记怎么搭了,摸了好久,又弄好了,这次写个文记起来。

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的服务即可。