udp 转发

2021-01-12 13:33:52 +08:00
 Devopsre

我有两个端 一个发送一个接受 不过没有公网 IP,我手上有个 ecs 服务器 ,A 服务器推送 udp 到 ecs,B 服务器从 ecs 拉去 udp 流量 请问如何实现? 谢谢

1568 次点击
所在节点    问与答
9 条回复
pelloz
2021-01-12 13:35:44 +08:00
用 frp 做内网穿透
https://github.com/fatedier/frp
Devopsre
2021-01-12 13:37:00 +08:00
@pelloz AB 不能架设 frp 这是前提
cpstar
2021-01-12 13:47:32 +08:00
@Devopsre 谁让你 AB 架 frp 了,ecs 做 frps,B 做 frc,frpc 连接 ecs 的 frps,这样相当于 ecs 的某个端口代理了 B 的 UDP 端口,然后 A 往 ecs 的某个端口推 UDP,相当于 B 收取 UDP
Devopsre
2021-01-12 13:51:29 +08:00
@cpstar 误会了 AB 不能装 frp 客户端
MeteorCat
2021-01-12 13:58:55 +08:00
可以看看 tinc,我记得这个可以挂个虚拟网卡搭建虚拟内网
MeteorCat
2021-01-12 13:59:32 +08:00
ab 什么都不能装吗?什么都不能装就很麻烦了
Puteulanus
2021-01-12 14:00:17 +08:00
ssh 和 socat 能用吗,两头用 socat 做 tcp 和 udp 的互转,走 ssh 的 tcp 端口转发,把 B 的 udp 端口监听转发到 ecs 上?

https://segmentfault.com/a/1190000005804209
cpstar
2021-01-12 14:00:18 +08:00
哦,那我理解应该是一票打洞软件都无法安装,那怎么实现 B 从 ecs 上 UDP 呢?
B 不在公网,B 收 UDP,所以 B 显而易见是个服务器端,那让 ecs 找 B,绝对找不到啊。于是,就得把 B 和 ecs 的绝对互换,B 做客户端,ecs 做服务器端,ecs 上写程序收 A 的 UDP 并且缓存起来,B 去(专门)读 ecs 的缓存。
那问题来了,如果 B 能变服务器端为客户端,也就是能操作 B 机器,那也就是说针对 frp 做了限制,于是不能用 frp ?
这一套逻辑,我没把它形成自洽。
再进一步说,不能做 frp,还有其他打洞软件。。。
最不济,B 往 ecs 开 ssh tunnel
Devopsre
2021-01-12 14:01:40 +08:00
@cpstar 是的 明白了 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/744154

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX