环境

内网服务器Prob1位于内网LAN1,

内网服务器Prob2位于内网LAN2,

外网服务器Serv1位于IP 123.123.123.123

内网节点配置

内网节点没有inbound,只需要配置一个bridge,一个outbound(以及默认的direct),一对路由规则

Prob1

{
"log": {
"loglevel": "debug",
"access": "/var/log/v2r_tunnel_access.log",
"error": "/var/log/v2r_tunnel_error.log"
},
"reverse":{
"bridges":[
{
"tag":"bridge",
"domain":"probe1.nowhere.com"
}
]
},
"outbounds": [
{
"tag":"tunnel",
"protocol":"vmess",
"settings":{
"vnext":[
{
"address":"123.123.123.123",
"port":10103,
"users":[
{
"id":"3301381f-6324-4d53-ad4f-1cda48b3012f",
"alterId":64
}
]
}
]
}
},
{
"tag":"direct",
"protocol":"freedom",
"settings":{}
}
],
"routing":{
"rules":[
{
"type":"field",
"inboundTag":["bridge"],
"domain":["full:probe1.nowhere.com"],
"outboundTag":"tunnel"
},
{
"type":"field",
"inboundTag":["bridge"],
"outboundTag":"direct"
}
]
}
}

配置说明

bridge中的domain,必须要存在于服务器的portal中,否则会报failed to process reverse connection的错误

2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/proxy/vmess/inbound: received request for tcp:aaa.nowhere.com:0
2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/app/dispatcher: taking detour [portal_bridge02] for [tcp:aaa.nowhere.com:0]
2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/app/reverse: failed to process reverse connection > v2r.com/core/app/reverse: empty worker list
2020/07/20 17:43:41 [Info] [4068778249] v2r.com/core/app/proxyman/inbound: connection ends > v2r.com/core/proxy/vmess/inbound: connection ends > io: read/write on closed pipe

公网服务节点配置

外网服务器没有outbound,对应每个内网节点,要配置一个portal,一对inbound(分别对应bridge和client)和一对路由规则。规则中不需要再设置domain。

在这种规则配置下,对应每一个protal,会有一个专门的inbound连接,方便用户端选择使用不同的内网。

{
"log": {
"loglevel": "debug",
"access": "/var/log/v2r_access.log",
"error": "/var/log/v2r_error.log"
},
"reverse":{
"portals":[
{
"tag":"portal_probe2",
"domain":"probe2.nowhere.com"
},
{
"tag":"portal_probe1",
"domain":"probe1.nowhere.com"
}
]
},
"inbounds":[
{
"tag":"to_probe2",
"port":10100,
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"234ffdb8-ef14-4278-a4e6-2af32cc312cf",
"alterId":64
}
]
}
},
{
"tag": "tunnel_probe2",
"port":10101,
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"3301381f-6324-4d53-ad4f-1cda48b3012f",
"alterId":64
}
]
}
}, {
"tag":"to_probe1",
"port":10102,
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"a11efdb8-ef34-4278-a4e6-2af32cc010fc",
"alterId":64
}
]
}
},
{
"tag": "tunnel_probe1",
"port":10103,
"protocol":"vmess",
"settings":{
"clients":[
{
"id":"3301381f-6324-4d53-ad4f-1cda48b3012f",
"alterId":64
}
]
}
} ],
"routing":{
"rules":[
{
"type":"field",
"inboundTag":["to_probe2"],
"outboundTag":"portal_probe2"
},
{
"type":"field",
"inboundTag":["tunnel_probe2"],
"outboundTag":"portal_probe2"
}, {
"type":"field",
"inboundTag":["to_probe1"],
"outboundTag":"portal_probe1"
},
{
"type":"field",
"inboundTag":["tunnel_probe1"],
"outboundTag":"portal_probe1"
}
]
}
}

如果想在当前节点也创建socks5代理, 可以在inbounds里添加一个socks, 然后再添加到routing.rules, 例如

...
{
"tag":"client_bridge02",
"port":10102,
"protocol":"vmess",
"settings":{
...
}
},
# 添加的socks入口
{
"tag": "socks_bridge02",
"port": 10200,
"listen": "192.168.10.20",
"protocol": "socks",
"settings": {
"udp": true
}
},
#
{
"tag": "tunnel_bridge02",
"port":10103,
"protocol":"vmess",
"settings":{
...
}
},
... "routing":{
"rules":[
...
{
"type":"field",
"inboundTag":["client_bridge02","socks_bridge02"], # 将socks_bridge02添加到inboundTag
"outboundTag":"portal_bridge02"
},
...

创建服务

对于已经运行了v2r的机器,可以再创建一个新的服务,例如

$ more /etc/systemd/system/v2r-tunnel.service
[Unit]
Description=V2R Tunnel Service
Documentation=https://www.v2r.com/
After=network.target nss-lookup.target [Service]
Type=simple
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/bin/v2r/v2r -config /etc/v2r/config_tunnel.json
Restart=on-failure [Install]
WantedBy=multi-user.target

通过systemctl enable 命令加入开机自启动

附安装记录(arm64)

apt install lrzsz
rz
chmod u+x go.sh
./go.sh --version v4.26.0 --local v2r-linux-arm64.4.26.0.zip
systemctl is-enabled v2r.service
cd /etc/v2r/
rz
vi config-lan.json
rm config.json
mv config-lan.json config.json
systemctl start v2r.service
ps aux|grep v2r
tail -f /var/log/v2r_tunnel_error.log

使用V2R做反向代理内网穿透的更多相关文章

  1. 借助FRP反向代理实现内网穿透

    一.frp 是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公 ...

  2. frp实现基于反向代理的内网穿透

    个人博客主页: xzajyjs.cn frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP.TCP.UDP等众多协议 ...

  3. 使用FRP做内网穿透

    Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...

  4. 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

    龙芯3A5000 已经上市,与龙芯3A5000配套的三大编译器GCC.LLVM.GoLang和三大虚拟机Java.JavaScript..NET均已完成开发,从老伙计哪里搞来一台3A5000 机器,安 ...

  5. 【代理】内网穿透工具 frp&frps

    frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发. ### frp 的作 ...

  6. 【新晋开源项目】内网穿透神器[中微子代理] 加入 Dromara 开源社区

    1.关于作者 dromara开源组织成员,dromara/neutrino-proxy项目作者 名称:傲世孤尘.雨韵诗泽 名言: 扎根土壤,心向太阳.积蓄能量,绽放微光. 拘浊酒邀明月,借赤日暖苍穹. ...

  7. 分享下超实用的用skura frp做内网穿透的经验

    操作目的: 使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理 硬件准备: 1.服务端:skura frp主机(skura frp 免费提供,有待创建) 2.客户端:接在无线路由器(内网)上 ...

  8. Mac配置内网穿透

    闲语: Java开发过程中,往往会对接第三方,而在对接过程中,双方间使用的最多的"通讯"方式就是异步通知.可是异步通知过程中,只能通知到外网地址,可是在调试过程我们都是在本地进行- ...

  9. 使用阿里云服务器配置frp实现Windows系统RDP内网穿透

    1.frp服务器采用阿里云ecs的centos7.5系统,客户端是台windows10的系统,做一个RDP服务的内网穿透用. 2.首先下载frp到服务器(链接:https://github.com/f ...

  10. FastTunnel-开源内网穿透框架

    FastTunnel - 打造人人都能搭建的内网穿透工具 FastTunnel是用.net core开发的一款跨平台内网穿透工具,它可以实现将内网服务暴露到公网供自己或任何人访问. 与其他穿透工具不同 ...

随机推荐

  1. 【TouchGFX 】使用 CubeMX 创建 TouchGFX 工程时 LCD 显示为雪花屏

    经几个晚上折腾,修改大量的LTDC时钟.时序,FMC时序等,结果还是一样,耐心与好使的工程仔细对比,发现是时钟源配置问题,真是冤,聊以此以示纪念 实质上是没有分清有源和无源晶振 无源晶振又被叫做 谐振 ...

  2. Vue-自定义icon实现

    在项目中引入了element-ui之后,发现其内置的icon有限,无法满足项目的需求,因此需自定义icon来实现需求. 在vue项目的components下新建SvgIcon目录,在SvgIcon目录 ...

  3. [转帖]idea配置tomcat参数,防止nvarchar保存韩文、俄文、日文等乱码

    描述下我的场景: 数据库服务器在远程机器上,数据库使用的Oracle,字符集是ZHS16GBK,但保存韩文.俄文.日文等字段A的数据类型是nvarchar(120),而nvarchar使用的是Unic ...

  4. 【转】国产飞腾D2000:基于A72?

    https://zhuanlan.zhihu.com/p/612054128 China's Phytium D2000: Building on A72? 国产飞腾D2000:基于A72? PS:麒 ...

  5. [转帖]Docker-Compose 自动创建的网桥与局域网冲突解决方案

    https://zhuanlan.zhihu.com/p/379305319 Docker-Compose 自动创建的网桥与局域网冲突解决方案 当我使用docker-compose的方式部署内网的ha ...

  6. 【转帖】调教LLaMA类模型没那么难,LoRA将模型微调缩减到几小时

    https://www.thepaper.cn/newsDetail_forward_23250236 LoRA 微调方法,随着大模型的出现而走红. 最近几个月,ChatGPT 等一系列大语言模型(L ...

  7. [转帖]Elasticsearch部署配置建议

    1: 选择合理的硬件配置:尽可能使用 SSD Elasticsearch 最大的瓶颈往往是磁盘读写性能,尤其是随机读取性能.使用SSD(PCI-E接口SSD卡/SATA接口SSD盘)通常比机械硬盘(S ...

  8. 除了Adobe之外,还有什么方法可以将Excel转为PDF?

    前言 Java是一种广泛使用的编程语言,它在企业级应用开发中发挥着重要作用.而在实际的开发过程中,我们常常需要处理各种数据格式转换的需求.今天小编为大家介绍下如何使用葡萄城公司的的Java API 组 ...

  9. 【验证码逆向专栏】最新某验三代滑块逆向分析,干掉所有的 w 参数!

    声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容.敏感网址.数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许 ...

  10. Linux慢 进程kswapd0与events/0消耗大量CPU的问题 一次网站宕机的处理

    今天下午网站宕了两次机,发工单给阿里云,发现原因是服务器的CPU 100%了. 重启服务器后,使用 top 命令看看是哪些进程消耗那么大的 CPU 使用.盯了有好十几分钟,主要消耗 CPU 的进程有两 ...